From bc6bbb1bc5a89ae1f0a5b7f87dad2be52cb4c42b Mon Sep 17 00:00:00 2001 From: FosterProgramming Date: Tue, 17 Feb 2026 13:54:36 +0100 Subject: [PATCH] Make sure grass effect palette ignore fog when time blended (#9235) --- include/field_effect_helpers.h | 2 ++ src/field_effect.c | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 65dce3dfda..7f772c0c6c 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -43,4 +43,6 @@ void UpdateSparkleFieldEffect(struct Sprite *sprite); void SetSpriteInvisible(u8 spriteId); void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); +u32 FldEff_TallGrass(void); + #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/src/field_effect.c b/src/field_effect.c index 9127e6b0ea..14194c8ac2 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -803,14 +803,22 @@ void FieldEffectScript_LoadTiles(u8 **script) (*script) += 4; } +static bool32 ShouldFieldEffectBeFogBlended(u8 *script) +{ + u32 ptr = FieldEffectScript_ReadWord(&script); + if (ptr == (u32)FldEff_TallGrass) + return FALSE; + return TRUE; +} + void FieldEffectScript_LoadFadedPalette(u8 **script) { struct SpritePalette *palette = (struct SpritePalette *)FieldEffectScript_ReadWord(script); u32 paletteSlot = LoadSpritePalette(palette); (*script) += 4; SetPaletteColorMapType(paletteSlot + 16, T1_READ_8(*script)); - UpdateSpritePaletteWithWeather(paletteSlot, TRUE); (*script)++; + UpdateSpritePaletteWithWeather(paletteSlot, ShouldFieldEffectBeFogBlended(*script)); } void FieldEffectScript_LoadPalette(u8 **script)