A bit more of addressing

This commit is contained in:
Eduardo Quezada 2025-01-17 19:25:29 -03:00
parent ffc8903f93
commit 6162628104
6 changed files with 19 additions and 14 deletions

View File

@ -15,6 +15,7 @@
#define RGB_BLACK RGB(0, 0, 0)
#define RGB_WHITE RGB(31, 31, 31)
#define RGB_GRAY RGB(15, 15, 15)
#define RGB_RED RGB(31, 0, 0)
#define RGB_GREEN RGB(0, 31, 0)
#define RGB_BLUE RGB(0, 0, 31)

View File

@ -1355,7 +1355,7 @@ static void InitPatternWeaveTransition(struct Task *task)
sTransitionData->WIN0V = DISPLAY_HEIGHT;
sTransitionData->BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL;
sTransitionData->BLDALPHA = BLDALPHA_BLEND(task->tBlendTarget2, task->tBlendTarget1);
UpdateShadowColor(RGB(15, 15, 15)); // force shadows to gray
UpdateShadowColor(RGB_GRAY);
for (i = 0; i < DISPLAY_HEIGHT; i++)
gScanlineEffectRegBuffers[1][i] = DISPLAY_WIDTH;
@ -4252,7 +4252,7 @@ static bool8 FrontierLogoWave_Init(struct Task *task)
LZ77UnCompVram(sFrontierLogo_Tileset, tileset);
LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(15), sizeof(sFrontierLogo_Palette));
sTransitionData->cameraY = 0;
UpdateShadowColor(RGB(15, 15, 15)); // force shadows to gray
UpdateShadowColor(RGB_GRAY);
task->tState++;
return FALSE;

View File

@ -2614,6 +2614,8 @@ void GetFollowerAction(struct ScriptContext *ctx) // Essentially a big switch fo
}
#define sLightType data[5]
#define sLightXPos data[6]
#define sLightYPos data[7]
// Sprite callback for light sprites
void UpdateLightSprite(struct Sprite *sprite)
@ -2622,8 +2624,8 @@ void UpdateLightSprite(struct Sprite *sprite)
s16 right = gSaveBlock1Ptr->pos.x + 17;
s16 top = gSaveBlock1Ptr->pos.y;
s16 bottom = gSaveBlock1Ptr->pos.y + 15;
s16 x = sprite->data[6];
s16 y = sprite->data[7];
s16 x = sprite->sLightXPos;
s16 y = sprite->sLightYPos;
u16 sheetTileStart;
u32 paletteNum;
if (!(x >= left && x <= right && y >= top && y <= bottom))
@ -2683,7 +2685,7 @@ static void SpawnLightSprite(s16 x, s16 y, s16 camX, s16 camY, u32 lightType)
for (i = 0; i < MAX_SPRITES; i++)
{
sprite = &gSprites[i];
if (sprite->inUse && sprite->callback == UpdateLightSprite && sprite->data[6] == x && sprite->data[7] == y)
if (sprite->inUse && sprite->callback == UpdateLightSprite && sprite->sLightXPos == x && sprite->sLightYPos == y)
return;
}
lightType = min(lightType, ARRAY_COUNT(gFieldEffectLightTemplates) - 1); // bounds checking
@ -2696,8 +2698,8 @@ static void SpawnLightSprite(s16 x, s16 y, s16 camX, s16 camY, u32 lightType)
UpdateSpritePaletteByTemplate(template, sprite);
GetMapCoordsFromSpritePos(x + camX, y + camY, &sprite->x, &sprite->y);
sprite->sLightType = lightType;
sprite->data[6] = x;
sprite->data[7] = y;
sprite->sLightXPos = x;
sprite->sLightYPos = y;
sprite->affineAnims = gDummySpriteAffineAnimTable;
sprite->affineAnimBeginning = TRUE;
sprite->coordOffsetEnabled = TRUE;
@ -2725,6 +2727,8 @@ static void SpawnLightSprite(s16 x, s16 y, s16 camX, s16 camY, u32 lightType)
}
#undef sLightType
#undef sLightXPos
#undef sLightYPos
void TrySpawnLightSprites(s16 camX, s16 camY)
{
@ -10205,7 +10209,7 @@ static void GroundEffect_Shadow(struct ObjectEvent *objEvent, struct Sprite *spr
static void DoFlaggedGroundEffects(struct ObjectEvent *objEvent, struct Sprite *sprite, u32 flags)
{
u8 i;
u32 i;
if (ObjectEventIsFarawayIslandMew(objEvent) == TRUE && !ShouldMewShakeGrass(objEvent))
return;

View File

@ -1156,7 +1156,7 @@ static void Task_OrbEffect(u8 taskId)
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON);
SetGpuRegBits(REG_OFFSET_BLDCNT, gOrbEffectBackgroundLayerFlags[0]);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7));
UpdateShadowColor(RGB(9, 8, 8)); // force shadows to gray
UpdateShadowColor(RGB_GRAY);
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ);
SetBgTilemapPalette(0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF);
@ -1224,7 +1224,7 @@ static void Task_OrbEffect(u8 taskId)
SetGpuReg(REG_OFFSET_DISPCNT, tDispCnt);
SetGpuReg(REG_OFFSET_BLDCNT, tBldCnt);
SetGpuReg(REG_OFFSET_BLDALPHA, tBldAlpha);
UpdateShadowColor(RGB_BLACK); // force shadows to gray
UpdateShadowColor(RGB_GRAY);
SetGpuReg(REG_OFFSET_WININ, tWinIn);
SetGpuReg(REG_OFFSET_WINOUT, tWinOut);
ScriptContext_Enable();

View File

@ -1413,7 +1413,7 @@ void FogHorizontal_Main(void)
if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL)
{
Weather_SetTargetBlendCoeffs(12, 8, 3);
UpdateShadowColor(RGB(15, 15, 15)); // Gray
UpdateShadowColor(RGB_GRAY);
}
else
{
@ -2005,7 +2005,7 @@ void Sandstorm_Main(void)
break;
case 1:
Weather_SetTargetBlendCoeffs(16, 2, 0);
UpdateShadowColor(RGB(15, 15, 15));
UpdateShadowColor(RGB_GRAY);
gWeatherPtr->initStep++;
break;
case 2: