mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 12:35:23 -05:00
fix palette issue after questlog
This commit is contained in:
parent
44cfca0e1b
commit
d40b9bc855
|
|
@ -111,12 +111,18 @@
|
|||
"flag": "FLAG_HIDE_ROUTE2_PARALYZE_HEAL"
|
||||
},
|
||||
{
|
||||
"type": "clone",
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CUT_TREE",
|
||||
"x": 6,
|
||||
"y": 85,
|
||||
"target_local_id": 8,
|
||||
"target_map": "MAP_VIRIDIAN_CITY"
|
||||
"elevation": 3,
|
||||
"movement_type": "MOVEMENT_TYPE_FACE_DOWN",
|
||||
"movement_range_x": 1,
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "EventScript_CutTree",
|
||||
"flag": "FLAG_TEMP_17"
|
||||
}
|
||||
],
|
||||
"warp_events": [
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *);
|
|||
void CameraObjectReset1(void);
|
||||
void CameraObjectReset2(void);
|
||||
u8 UpdateSpritePaletteByTemplate(const struct SpriteTemplate *template, struct Sprite *sprite);
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *, u16 graphicsId);
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u16 graphicsId);
|
||||
void ObjectEventTurn(struct ObjectEvent *, u8);
|
||||
void ObjectEventTurnByLocalIdAndMap(u8, u8, u8, u8);
|
||||
void ObjectEventForceSetHeldMovement(struct ObjectEvent *, u8);
|
||||
|
|
@ -146,7 +146,6 @@ void OverrideMovementTypeForObjectEvent(const struct ObjectEvent *, u8);
|
|||
void SetTrainerMovementType(struct ObjectEvent *, u8);
|
||||
u8 GetFishingDirectionAnimNum(u8 direction);
|
||||
u8 GetFishingNoCatchDirectionAnimNum(u8 a0);
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u16 graphicsId);
|
||||
u8 CreateFameCheckerObject(u16 graphicsId, u8 localId, s16 x, s16 y);
|
||||
void InitObjectEventPalettes(u8 mode);
|
||||
bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ static const struct SpriteFrameImage sPicTable_ShadowExtraLarge[] = { obj_frame_
|
|||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall =
|
||||
{
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_RED,
|
||||
.oam = &gObjectEventBaseOam_8x8,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowSmall,
|
||||
|
|
@ -31,7 +31,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall =
|
|||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium =
|
||||
{
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_RED,
|
||||
.oam = &gObjectEventBaseOam_16x8,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowMedium,
|
||||
|
|
@ -42,7 +42,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium =
|
|||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge =
|
||||
{
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_RED,
|
||||
.oam = &gObjectEventBaseOam_32x8,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowLarge,
|
||||
|
|
@ -53,7 +53,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge =
|
|||
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge =
|
||||
{
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = TAG_NONE,
|
||||
.paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_RED,
|
||||
.oam = &gObjectEventBaseOam_64x32,
|
||||
.anims = sAnimTable_Shadow,
|
||||
.images = sPicTable_ShadowExtraLarge,
|
||||
|
|
|
|||
|
|
@ -1965,6 +1965,7 @@ static u8 LoadDynamicFollowerPalette(u16 species, u8 form, bool32 shiny)
|
|||
spritePalette.data = (void*)gDecompressionBuffer;
|
||||
}
|
||||
paletteNum = LoadSpritePalette(&spritePalette);
|
||||
ApplyGlobalFieldPaletteTint(paletteNum);
|
||||
}
|
||||
else
|
||||
#endif //OW_POKEMON_OBJECT_EVENTS == TRUE && OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE
|
||||
|
|
@ -1979,6 +1980,7 @@ static u8 LoadDynamicFollowerPalette(u16 species, u8 form, bool32 shiny)
|
|||
// Load compressed palette
|
||||
LoadCompressedSpritePaletteWithTag(palette, species);
|
||||
paletteNum = IndexOfSpritePaletteTag(species); // Tag is always present
|
||||
ApplyGlobalFieldPaletteTint(paletteNum);
|
||||
}
|
||||
|
||||
if (gWeatherPtr->currWeather != WEATHER_FOG_HORIZONTAL) // don't want to weather blend in fog
|
||||
|
|
@ -2684,7 +2686,9 @@ static u8 UpdateSpritePalette(const struct SpritePalette *spritePalette, struct
|
|||
sprite->inUse = FALSE;
|
||||
FieldEffectFreePaletteIfUnused(sprite->oam.paletteNum);
|
||||
sprite->inUse = TRUE;
|
||||
return sprite->oam.paletteNum = LoadSpritePalette(spritePalette);
|
||||
sprite->oam.paletteNum = LoadSpritePalette(spritePalette);
|
||||
ApplyGlobalFieldPaletteTint(sprite->oam.paletteNum);
|
||||
return sprite->oam.paletteNum;
|
||||
}
|
||||
|
||||
// Find and update based on template's paletteTag
|
||||
|
|
@ -2883,6 +2887,7 @@ static u8 LoadSpritePaletteIfTagExists(const struct SpritePalette *spritePalette
|
|||
if (paletteNum != 0xFF) // don't load twice; return
|
||||
return paletteNum;
|
||||
paletteNum = LoadSpritePalette(spritePalette);
|
||||
ApplyGlobalFieldPaletteTint(paletteNum);
|
||||
return paletteNum;
|
||||
}
|
||||
|
||||
|
|
@ -3366,12 +3371,12 @@ void InitObjectEventPalettes(u8 reflectionType)
|
|||
sCurrentReflectionType = reflectionType;
|
||||
if (reflectionType == 1)
|
||||
{
|
||||
PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4 + 1);
|
||||
PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, OBJ_PALSLOT_COUNT);
|
||||
gReservedSpritePaletteCount = 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4_REFLECTION + 1);
|
||||
PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, OBJ_PALSLOT_COUNT);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -156,6 +156,7 @@ static void LoadObjectRegularReflectionPalette(struct ObjectEvent *objectEvent,
|
|||
else
|
||||
ApplyIceFilter(mainSprite->oam.paletteNum, filteredData);
|
||||
paletteNum = LoadSpritePalette(&filteredPal);
|
||||
ApplyGlobalFieldPaletteTint(paletteNum);
|
||||
UpdateSpritePaletteWithWeather(paletteNum);
|
||||
}
|
||||
sprite->oam.paletteNum = paletteNum;
|
||||
|
|
@ -170,6 +171,7 @@ static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent *objectEven
|
|||
struct SpritePalette bluePalette = {.tag = HIGH_BRIDGE_PAL_TAG, .data = blueData};
|
||||
CpuFill16(0x55C9, blueData, PLTT_SIZE_4BPP);
|
||||
sprite->oam.paletteNum = LoadSpritePalette(&bluePalette);
|
||||
ApplyGlobalFieldPaletteTint(sprite->oam.paletteNum);
|
||||
UpdateSpritePaletteWithWeather(sprite->oam.paletteNum);
|
||||
}
|
||||
|
||||
|
|
@ -206,6 +208,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
|
|||
else
|
||||
ApplyIceFilter(mainSprite->oam.paletteNum, filteredData);
|
||||
paletteNum = LoadSpritePalette(&filteredPal);
|
||||
ApplyGlobalFieldPaletteTint(paletteNum);
|
||||
UpdateSpritePaletteWithWeather(paletteNum);
|
||||
}
|
||||
reflectionSprite->oam.paletteNum = paletteNum;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user