From f45336c546373b908ea5c42dae1dbad80fad8d83 Mon Sep 17 00:00:00 2001 From: AsparagusEduardo Date: Tue, 17 Mar 2020 22:11:14 -0300 Subject: [PATCH 01/19] Using Battle Action constants --- src/battle_main.c | 4 ++-- src/battle_script_commands.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index 0f6ec40a4..e3eea60d0 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4425,7 +4425,7 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_ClearBattlerAction(gActiveBattler, 1); gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - gBattleBufferB[gActiveBattler][1] = 0; + gBattleBufferB[gActiveBattler][1] = B_ACTION_USE_MOVE; *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_WAIT_ACTION_CHOSEN; return; } @@ -4553,7 +4553,7 @@ static void HandleTurnActionSelectionState(void) case STATE_SELECTION_SCRIPT_MAY_RUN: if (*(gBattleStruct->selectionScriptFinished + gActiveBattler)) { - if (gBattleBufferB[gActiveBattler][1] == 13) + if (gBattleBufferB[gActiveBattler][1] == B_ACTION_NOTHING_FAINTED) { gHitMarker |= HITMARKER_RUN; gChosenActionByBattler[gActiveBattler] = B_ACTION_RUN; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 729cce0c9..84f2b1f4d 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8925,7 +8925,7 @@ static void Cmd_jumpifnopursuitswitchdmg(void) for (i = 0; i < gBattlersCount; i++) { if (gBattlerByTurnOrder[i] == gBattlerTarget) - gActionsByTurnOrder[i] = 11; + gActionsByTurnOrder[i] = B_ACTION_TRY_FINISH; } gCurrentMove = MOVE_PURSUIT; @@ -10005,7 +10005,7 @@ static void Cmd_pursuitrelated(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) - && gChosenActionByBattler[gActiveBattler] == 0 + && gChosenActionByBattler[gActiveBattler] == B_ACTION_USE_MOVE && gChosenMoveByBattler[gActiveBattler] == MOVE_PURSUIT) { gActionsByTurnOrder[gActiveBattler] = 11; From 487080b4252e6173a2c6cc34cbbe0267877b986f Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 1 Apr 2020 02:54:26 -0400 Subject: [PATCH 02/19] Minor player avatar doc --- include/field_player_avatar.h | 2 +- include/global.fieldmap.h | 2 +- src/event_object_movement.c | 2 +- src/field_player_avatar.c | 130 +++++++++++++++++----------------- src/fldeff_misc.c | 2 +- src/item_use.c | 4 +- 6 files changed, 71 insertions(+), 71 deletions(-) diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 5e5a2361f..1dbe171bc 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -48,7 +48,7 @@ bool8 PartyHasMonWithSurf(void); bool8 IsPlayerFacingSurfableFishableWater(void); bool8 IsPlayerSurfingNorth(void); void sub_808C228(u8 direction); -u8 sub_808BCD0(void); +u8 GetPlayerAvatarFlags(void); void sub_808B578(void); u8 GetFRLGAvatarGraphicsIdByGender(u8); u8 GetRSAvatarGraphicsIdByGender(u8); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index af2be9c77..2e451a368 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -304,7 +304,7 @@ enum struct PlayerAvatar { /*0x00*/ u8 flags; - /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags + /*0x01*/ u8 transitionFlags; // used to be named bike, but its definitely not that. seems to be some transition flags /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. /*0x04*/ u8 spriteId; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 464e6acec..09cdd94cd 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1754,7 +1754,7 @@ static void SetPlayerAvatarObjectEventIdAndObjectId(u8 objectEventId, u8 spriteI gPlayerAvatar.objectEventId = objectEventId; gPlayerAvatar.spriteId = spriteId; gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gObjectEvents[objectEventId].graphicsId); - SetPlayerAvatarExtraStateTransition(gObjectEvents[objectEventId].graphicsId, 0x20); + SetPlayerAvatarExtraStateTransition(gObjectEvents[objectEventId].graphicsId, PLAYER_AVATAR_FLAG_5); } void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index ebab51ed8..35bbb1e03 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -59,8 +59,8 @@ static bool8 ForcedMovement_SlideSouth(void); static bool8 ForcedMovement_SlideNorth(void); static bool8 ForcedMovement_SlideWest(void); static bool8 ForcedMovement_SlideEast(void); -static bool8 ForcedMovement_0xBB(void); -static bool8 ForcedMovement_0xBC(void); +static bool8 ForcedMovement_MatJump(void); +static bool8 ForcedMovement_MatSpin(void); static bool8 ForcedMovement_MuddySlope(void); static void MovePlayerNotOnBike(u8, u16); @@ -99,10 +99,10 @@ static void PlayCollisionSoundIfNotFacingWarp(u8 a); static void sub_808C280(struct ObjectEvent *); static void StartStrengthAnim(u8, u8); -static void Task_BumpBoulder(u8 taskId); -static u8 sub_808C3A4(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); -static u8 do_boulder_dust(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); -static u8 sub_808C484(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); +static void Task_PushBoulder(u8 taskId); +static u8 PushBoulder_Start(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); +static u8 PushBoulder_Move(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); +static u8 PushBoulder_End(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); static void DoPlayerMatJump(void); static void DoPlayerAvatarSecretBaseMatJump(u8 taskId); @@ -182,8 +182,8 @@ static bool8 (*const sForcedMovementFuncs[])(void) = ForcedMovement_SlideWest, ForcedMovement_SlideEast, ForcedMovement_PushedSouthByCurrent, - ForcedMovement_0xBB, - ForcedMovement_0xBC, + ForcedMovement_MatJump, + ForcedMovement_MatSpin, ForcedMovement_MuddySlope, }; @@ -211,16 +211,16 @@ static const u8 sAcroBikeTrickCollisionTypes[] = { COLLISION_HORIZONTAL_RAIL, }; -static void (*const gUnknown_084974B8[])(struct ObjectEvent *) = +static void (*const sPlayerAvatarTransitionFuncs[])(struct ObjectEvent *) = { - PlayerAvatarTransition_Normal, - PlayerAvatarTransition_MachBike, - PlayerAvatarTransition_AcroBike, - PlayerAvatarTransition_Surfing, - PlayerAvatarTransition_Underwater, - PlayerAvatarTransition_ReturnToField, - PlayerAvatarTransition_Dummy, - PlayerAvatarTransition_Dummy, + [PLAYER_AVATAR_STATE_NORMAL] = PlayerAvatarTransition_Normal, + [PLAYER_AVATAR_STATE_MACH_BIKE] = PlayerAvatarTransition_MachBike, + [PLAYER_AVATAR_STATE_ACRO_BIKE] = PlayerAvatarTransition_AcroBike, + [PLAYER_AVATAR_STATE_SURFING] = PlayerAvatarTransition_Surfing, + [PLAYER_AVATAR_STATE_UNDERWATER] = PlayerAvatarTransition_Underwater, + [PLAYER_AVATAR_STATE_FIELD_MOVE] = PlayerAvatarTransition_ReturnToField, + [PLAYER_AVATAR_STATE_FISHING] = PlayerAvatarTransition_Dummy, + [PLAYER_AVATAR_STATE_WATERING] = PlayerAvatarTransition_Dummy, }; static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) = @@ -259,23 +259,23 @@ static const u8 sFRLGAvatarGfxIds[] = {OBJ_EVENT_GFX_RED, OBJ_EVENT_GFX_LEAF}; static const u8 sRSAvatarGfxIds[] = {OBJ_EVENT_GFX_LINK_RS_BRENDAN, OBJ_EVENT_GFX_LINK_RS_MAY}; -static const u8 gUnknown_0849750C[2][5][2] = +static const u8 sPlayerAvatarGfxToStateFlag[2][5][2] = { - //male + [MALE] = { - {OBJ_EVENT_GFX_BRENDAN_NORMAL, 1}, - {OBJ_EVENT_GFX_BRENDAN_MACH_BIKE, 2}, - {OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE, 4}, - {OBJ_EVENT_GFX_BRENDAN_SURFING, 8}, - {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, 16}, + {OBJ_EVENT_GFX_BRENDAN_NORMAL, PLAYER_AVATAR_FLAG_ON_FOOT}, + {OBJ_EVENT_GFX_BRENDAN_MACH_BIKE, PLAYER_AVATAR_FLAG_MACH_BIKE}, + {OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE, PLAYER_AVATAR_FLAG_ACRO_BIKE}, + {OBJ_EVENT_GFX_BRENDAN_SURFING, PLAYER_AVATAR_FLAG_SURFING}, + {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, PLAYER_AVATAR_FLAG_UNDERWATER}, }, - //female + [FEMALE] = { - {OBJ_EVENT_GFX_MAY_NORMAL, 1}, - {OBJ_EVENT_GFX_MAY_MACH_BIKE, 2}, - {OBJ_EVENT_GFX_MAY_ACRO_BIKE, 4}, - {OBJ_EVENT_GFX_MAY_SURFING, 8}, - {OBJ_EVENT_GFX_MAY_UNDERWATER, 16}, + {OBJ_EVENT_GFX_MAY_NORMAL, PLAYER_AVATAR_FLAG_ON_FOOT}, + {OBJ_EVENT_GFX_MAY_MACH_BIKE, PLAYER_AVATAR_FLAG_MACH_BIKE}, + {OBJ_EVENT_GFX_MAY_ACRO_BIKE, PLAYER_AVATAR_FLAG_ACRO_BIKE}, + {OBJ_EVENT_GFX_MAY_SURFING, PLAYER_AVATAR_FLAG_SURFING}, + {OBJ_EVENT_GFX_MAY_UNDERWATER, PLAYER_AVATAR_FLAG_UNDERWATER}, } }; @@ -287,11 +287,11 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = //Duplicate of MetatileBehavior_IsEastArrowWarp, }; -static bool8 (*const gUnknown_08497530[])(struct Task *, struct ObjectEvent *, struct ObjectEvent *) = +static bool8 (*const sPushBoulderFuncs[])(struct Task *, struct ObjectEvent *, struct ObjectEvent *) = { - sub_808C3A4, - do_boulder_dust, - sub_808C484, + PushBoulder_Start, + PushBoulder_Move, + PushBoulder_End, }; static bool8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct ObjectEvent *) = @@ -547,13 +547,13 @@ static bool8 ForcedMovement_SlideEast(void) return ForcedMovement_Slide(DIR_EAST, PlayerGoSpeed2); } -static bool8 ForcedMovement_0xBB(void) +static bool8 ForcedMovement_MatJump(void) { DoPlayerMatJump(); return TRUE; } -static bool8 ForcedMovement_0xBC(void) +static bool8 ForcedMovement_MatSpin(void) { DoPlayerMatSpin(); return TRUE; @@ -807,23 +807,23 @@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) void SetPlayerAvatarTransitionFlags(u16 transitionFlags) { - gPlayerAvatar.unk1 |= transitionFlags; + gPlayerAvatar.transitionFlags |= transitionFlags; DoPlayerAvatarTransition(); } static void DoPlayerAvatarTransition(void) { u8 i; - u8 flags = gPlayerAvatar.unk1; + u8 flags = gPlayerAvatar.transitionFlags; if (flags != 0) { - for (i = 0; i < 8; i++, flags >>= 1) + for (i = 0; i < ARRAY_COUNT(sPlayerAvatarTransitionFuncs); i++, flags >>= 1) { if (flags & 1) - gUnknown_084974B8[i](&gObjectEvents[gPlayerAvatar.objectEventId]); + sPlayerAvatarTransitionFuncs[i](&gObjectEvents[gPlayerAvatar.objectEventId]); } - gPlayerAvatar.unk1 = 0; + gPlayerAvatar.transitionFlags = 0; } } @@ -1186,12 +1186,12 @@ void sub_808BC90(s16 x, s16 y) MoveObjectEventToMapCoords(&gObjectEvents[gPlayerAvatar.objectEventId], x, y); } -u8 TestPlayerAvatarFlags(u8 a) +u8 TestPlayerAvatarFlags(u8 flag) { - return gPlayerAvatar.flags & a; + return gPlayerAvatar.flags & flag; } -u8 sub_808BCD0(void) +u8 GetPlayerAvatarFlags(void) { return gPlayerAvatar.flags; } @@ -1335,32 +1335,32 @@ static u8 GetPlayerAvatarStateTransitionByGraphicsId(u8 graphicsId, u8 gender) { u8 i; - for (i = 0; i < 5; i++) + for (i = 0; i < ARRAY_COUNT(sPlayerAvatarGfxToStateFlag[0]); i++) { - if (gUnknown_0849750C[gender][i][0] == graphicsId) - return gUnknown_0849750C[gender][i][1]; + if (sPlayerAvatarGfxToStateFlag[gender][i][0] == graphicsId) + return sPlayerAvatarGfxToStateFlag[gender][i][1]; } - return 1; + return PLAYER_AVATAR_FLAG_ON_FOOT; } u8 GetPlayerAvatarGraphicsIdByCurrentState(void) { u8 i; - u8 r5 = gPlayerAvatar.flags; + u8 flags = gPlayerAvatar.flags; - for (i = 0; i < 5; i++) + for (i = 0; i < ARRAY_COUNT(sPlayerAvatarGfxToStateFlag[0]); i++) { - if (gUnknown_0849750C[gPlayerAvatar.gender][i][1] & r5) - return gUnknown_0849750C[gPlayerAvatar.gender][i][0]; + if (sPlayerAvatarGfxToStateFlag[gPlayerAvatar.gender][i][1] & flags) + return sPlayerAvatarGfxToStateFlag[gPlayerAvatar.gender][i][0]; } return 0; } -void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 b) +void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 transitionFlag) { - u8 unk = GetPlayerAvatarStateTransitionByGraphicsId(graphicsId, gPlayerAvatar.gender); + u8 stateFlag = GetPlayerAvatarStateTransitionByGraphicsId(graphicsId, gPlayerAvatar.gender); - gPlayerAvatar.unk1 |= unk | b; + gPlayerAvatar.transitionFlags |= stateFlag | transitionFlag; DoPlayerAvatarTransition(); } @@ -1384,7 +1384,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) playerObjEventTemplate.flagId = 0; objectEventId = SpawnSpecialObjectEvent(&playerObjEventTemplate); objectEvent = &gObjectEvents[objectEventId]; - objectEvent->isPlayer = 1; + objectEvent->isPlayer = TRUE; objectEvent->warpArrowSpriteId = CreateWarpArrowSprite(); ObjectEventTurn(objectEvent, direction); ClearPlayerAvatarInfo(); @@ -1453,22 +1453,22 @@ static void sub_808C280(struct ObjectEvent *objectEvent) static void StartStrengthAnim(u8 a, u8 b) { - u8 taskId = CreateTask(Task_BumpBoulder, 0xFF); + u8 taskId = CreateTask(Task_PushBoulder, 0xFF); gTasks[taskId].data[1] = a; gTasks[taskId].data[2] = b; - Task_BumpBoulder(taskId); + Task_PushBoulder(taskId); } -static void Task_BumpBoulder(u8 taskId) +static void Task_PushBoulder(u8 taskId) { - while (gUnknown_08497530[gTasks[taskId].data[0]](&gTasks[taskId], + while (sPushBoulderFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gObjectEvents[gTasks[taskId].data[1]])) ; } -static bool8 sub_808C3A4(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) +static bool8 PushBoulder_Start(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) { ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; @@ -1476,7 +1476,7 @@ static bool8 sub_808C3A4(struct Task *task, struct ObjectEvent *playerObject, st return FALSE; } -static bool8 do_boulder_dust(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) +static bool8 PushBoulder_Move(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) { if (ObjectEventIsHeldMovementActive(playerObject)) { @@ -1506,7 +1506,7 @@ static bool8 do_boulder_dust(struct Task *task, struct ObjectEvent *playerObject return FALSE; } -static bool8 sub_808C484(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) +static bool8 PushBoulder_End(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) { if (ObjectEventCheckHeldMovementStatus(playerObject) && ObjectEventCheckHeldMovementStatus(strengthObject)) @@ -1515,7 +1515,7 @@ static bool8 sub_808C484(struct Task *task, struct ObjectEvent *playerObject, st ObjectEventClearHeldMovementIfFinished(strengthObject); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - DestroyTask(FindTaskIdByFunc(Task_BumpBoulder)); + DestroyTask(FindTaskIdByFunc(Task_PushBoulder)); } return FALSE; } @@ -1545,7 +1545,7 @@ static u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct ObjectEvent if (task->data[1] > 1) { gPlayerAvatar.preventStep = FALSE; - gPlayerAvatar.unk1 |= 0x20; + gPlayerAvatar.transitionFlags |= PLAYER_AVATAR_FLAG_5; DestroyTask(FindTaskIdByFunc(DoPlayerAvatarSecretBaseMatJump)); } } diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 60d1ea072..def86ab1b 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -1260,7 +1260,7 @@ static void Task_WateringBerryTreeAnim_2(u8 taskId) static void Task_WateringBerryTreeAnim_3(u8 taskId) { - SetPlayerAvatarTransitionFlags(sub_808BCD0()); + SetPlayerAvatarTransitionFlags(GetPlayerAvatarFlags()); DestroyTask(taskId); EnableBothScriptContexts(); } diff --git a/src/item_use.c b/src/item_use.c index 954d4b26f..73d6f6ffe 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -221,9 +221,9 @@ void ItemUseOutOfBattle_Bike(u8 taskId) static void ItemUseOnFieldCB_Bike(u8 taskId) { if (!ItemId_GetSecondaryId(gSpecialVar_ItemId)) - GetOnOffBike(2); + GetOnOffBike(PLAYER_AVATAR_FLAG_MACH_BIKE); else - GetOnOffBike(4); + GetOnOffBike(PLAYER_AVATAR_FLAG_ACRO_BIKE); ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); DestroyTask(taskId); From 097ddb06779c004ace31b0add6b0b60e70647e84 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 2 Apr 2020 11:18:47 -0400 Subject: [PATCH 03/19] Re-export tileset anim pngs to use palettes --- .../primary/building/anim/tv_turned_on/0.png | Bin 179 -> 179 bytes .../primary/building/anim/tv_turned_on/1.png | Bin 180 -> 180 bytes .../primary/general/anim/flower/0.png | Bin 239 -> 239 bytes .../primary/general/anim/flower/1.png | Bin 238 -> 238 bytes .../primary/general/anim/flower/2.png | Bin 241 -> 241 bytes .../general/anim/land_water_edge/0.png | Bin 333 -> 333 bytes .../general/anim/land_water_edge/1.png | Bin 341 -> 341 bytes .../general/anim/land_water_edge/2.png | Bin 342 -> 342 bytes .../general/anim/land_water_edge/3.png | Bin 360 -> 360 bytes .../general/anim/sand_water_edge/0.png | Bin 259 -> 259 bytes .../general/anim/sand_water_edge/1.png | Bin 293 -> 293 bytes .../general/anim/sand_water_edge/2.png | Bin 303 -> 303 bytes .../general/anim/sand_water_edge/3.png | Bin 320 -> 320 bytes .../general/anim/sand_water_edge/4.png | Bin 281 -> 281 bytes .../general/anim/sand_water_edge/5.png | Bin 261 -> 261 bytes .../general/anim/sand_water_edge/6.png | Bin 249 -> 249 bytes .../tilesets/primary/general/anim/water/0.png | Bin 608 -> 608 bytes .../tilesets/primary/general/anim/water/1.png | Bin 651 -> 651 bytes .../tilesets/primary/general/anim/water/2.png | Bin 597 -> 597 bytes .../tilesets/primary/general/anim/water/3.png | Bin 610 -> 610 bytes .../tilesets/primary/general/anim/water/4.png | Bin 534 -> 534 bytes .../tilesets/primary/general/anim/water/5.png | Bin 538 -> 538 bytes .../tilesets/primary/general/anim/water/6.png | Bin 554 -> 554 bytes .../tilesets/primary/general/anim/water/7.png | Bin 612 -> 612 bytes .../primary/general/anim/waterfall/0.png | Bin 199 -> 199 bytes .../primary/general/anim/waterfall/1.png | Bin 214 -> 214 bytes .../primary/general/anim/waterfall/2.png | Bin 195 -> 195 bytes .../primary/general/anim/waterfall/3.png | Bin 191 -> 191 bytes .../anim/flag/0.png | Bin 230 -> 230 bytes .../anim/flag/1.png | Bin 227 -> 227 bytes .../anim/flag/2.png | Bin 225 -> 225 bytes .../anim/flag/3.png | Bin 228 -> 228 bytes .../anim/flag/0.png | Bin 230 -> 230 bytes .../anim/flag/1.png | Bin 227 -> 227 bytes .../anim/flag/2.png | Bin 225 -> 225 bytes .../anim/flag/3.png | Bin 228 -> 228 bytes .../battle_pyramid/anim/statue_shadow/0.png | Bin 303 -> 303 bytes .../battle_pyramid/anim/statue_shadow/1.png | Bin 307 -> 307 bytes .../battle_pyramid/anim/statue_shadow/2.png | Bin 303 -> 303 bytes .../secondary/battle_pyramid/anim/torch/0.png | Bin 265 -> 265 bytes .../secondary/battle_pyramid/anim/torch/1.png | Bin 259 -> 259 bytes .../secondary/battle_pyramid/anim/torch/2.png | Bin 254 -> 254 bytes .../bike_shop/anim/blinking_lights/0.png | Bin 290 -> 290 bytes .../bike_shop/anim/blinking_lights/1.png | Bin 286 -> 286 bytes data/tilesets/secondary/cave/anim/lava/0.png | Bin 157 -> 157 bytes data/tilesets/secondary/cave/anim/lava/1.png | Bin 181 -> 181 bytes data/tilesets/secondary/cave/anim/lava/2.png | Bin 173 -> 173 bytes data/tilesets/secondary/cave/anim/lava/3.png | Bin 175 -> 175 bytes data/tilesets/secondary/cave/anim/lava/4.png | Bin 157 -> 157 bytes data/tilesets/secondary/cave/anim/lava/5.png | Bin 177 -> 177 bytes data/tilesets/secondary/cave/anim/lava/6.png | Bin 173 -> 173 bytes data/tilesets/secondary/cave/anim/lava/7.png | Bin 171 -> 171 bytes .../secondary/dewford/anim/flag/0.png | Bin 224 -> 224 bytes .../secondary/dewford/anim/flag/1.png | Bin 222 -> 222 bytes .../secondary/dewford/anim/flag/2.png | Bin 228 -> 228 bytes .../secondary/dewford/anim/flag/3.png | Bin 234 -> 234 bytes .../elite_four/anim/floor_light/0.png | Bin 171 -> 171 bytes .../elite_four/anim/floor_light/1.png | Bin 129 -> 129 bytes .../elite_four/anim/wall_lights/0.png | Bin 152 -> 152 bytes .../elite_four/anim/wall_lights/1.png | Bin 152 -> 152 bytes .../elite_four/anim/wall_lights/2.png | Bin 152 -> 152 bytes .../elite_four/anim/wall_lights/3.png | Bin 152 -> 152 bytes .../secondary/ever_grande/anim/flowers/0.png | Bin 257 -> 257 bytes .../secondary/ever_grande/anim/flowers/1.png | Bin 257 -> 257 bytes .../secondary/ever_grande/anim/flowers/2.png | Bin 253 -> 253 bytes .../secondary/ever_grande/anim/flowers/3.png | Bin 255 -> 255 bytes .../secondary/ever_grande/anim/flowers/4.png | Bin 257 -> 257 bytes .../secondary/ever_grande/anim/flowers/5.png | Bin 257 -> 257 bytes .../secondary/ever_grande/anim/flowers/6.png | Bin 254 -> 254 bytes .../secondary/ever_grande/anim/flowers/7.png | Bin 254 -> 254 bytes .../secondary/lavaridge/anim/steam/0.png | Bin 140 -> 153 bytes .../secondary/lavaridge/anim/steam/1.png | Bin 147 -> 160 bytes .../secondary/lavaridge/anim/steam/2.png | Bin 143 -> 156 bytes .../secondary/lavaridge/anim/steam/3.png | Bin 153 -> 166 bytes .../secondary/mauville/anim/flower_1/0.png | Bin 234 -> 234 bytes .../secondary/mauville/anim/flower_1/1.png | Bin 229 -> 229 bytes .../secondary/mauville/anim/flower_1/2.png | Bin 224 -> 224 bytes .../secondary/mauville/anim/flower_1/3.png | Bin 216 -> 216 bytes .../secondary/mauville/anim/flower_1/4.png | Bin 232 -> 232 bytes .../secondary/mauville/anim/flower_2/0.png | Bin 234 -> 234 bytes .../secondary/mauville/anim/flower_2/1.png | Bin 229 -> 229 bytes .../secondary/mauville/anim/flower_2/2.png | Bin 224 -> 224 bytes .../secondary/mauville/anim/flower_2/3.png | Bin 216 -> 216 bytes .../secondary/mauville/anim/flower_2/4.png | Bin 232 -> 232 bytes .../mauville_gym/anim/electric_gates/0.png | Bin 243 -> 256 bytes .../mauville_gym/anim/electric_gates/1.png | Bin 242 -> 255 bytes .../pacifidlog/anim/log_bridges/0.png | Bin 631 -> 631 bytes .../pacifidlog/anim/log_bridges/1.png | Bin 655 -> 655 bytes .../pacifidlog/anim/log_bridges/2.png | Bin 664 -> 664 bytes .../pacifidlog/anim/water_currents/0.png | Bin 263 -> 263 bytes .../pacifidlog/anim/water_currents/1.png | Bin 271 -> 271 bytes .../pacifidlog/anim/water_currents/2.png | Bin 284 -> 284 bytes .../pacifidlog/anim/water_currents/3.png | Bin 266 -> 266 bytes .../pacifidlog/anim/water_currents/4.png | Bin 200 -> 200 bytes .../pacifidlog/anim/water_currents/5.png | Bin 200 -> 200 bytes .../pacifidlog/anim/water_currents/6.png | Bin 200 -> 200 bytes .../pacifidlog/anim/water_currents/7.png | Bin 261 -> 261 bytes .../secondary/rustboro/anim/fountain/0.png | Bin 252 -> 252 bytes .../secondary/rustboro/anim/fountain/1.png | Bin 247 -> 247 bytes .../secondary/rustboro/anim/windy_water/0.png | Bin 180 -> 180 bytes .../secondary/rustboro/anim/windy_water/1.png | Bin 170 -> 170 bytes .../secondary/rustboro/anim/windy_water/2.png | Bin 132 -> 132 bytes .../secondary/rustboro/anim/windy_water/3.png | Bin 132 -> 132 bytes .../secondary/rustboro/anim/windy_water/4.png | Bin 132 -> 132 bytes .../secondary/rustboro/anim/windy_water/5.png | Bin 132 -> 132 bytes .../secondary/rustboro/anim/windy_water/6.png | Bin 132 -> 132 bytes .../secondary/rustboro/anim/windy_water/7.png | Bin 132 -> 132 bytes .../secondary/slateport/anim/balloons/0.png | Bin 227 -> 227 bytes .../secondary/slateport/anim/balloons/1.png | Bin 234 -> 234 bytes .../secondary/slateport/anim/balloons/2.png | Bin 231 -> 231 bytes .../secondary/slateport/anim/balloons/3.png | Bin 234 -> 234 bytes .../sootopolis/anim/stormy_water/0.png | Bin 1135 -> 1135 bytes .../sootopolis/anim/stormy_water/1.png | Bin 1155 -> 1155 bytes .../sootopolis/anim/stormy_water/2.png | Bin 1155 -> 1155 bytes .../sootopolis/anim/stormy_water/3.png | Bin 1112 -> 1112 bytes .../sootopolis/anim/stormy_water/4.png | Bin 1124 -> 1124 bytes .../sootopolis/anim/stormy_water/5.png | Bin 1149 -> 1149 bytes .../sootopolis/anim/stormy_water/6.png | Bin 1097 -> 1097 bytes .../sootopolis/anim/stormy_water/7.png | Bin 1093 -> 1093 bytes .../sootopolis_gym/anim/front_waterfall/0.png | Bin 363 -> 363 bytes .../sootopolis_gym/anim/front_waterfall/1.png | Bin 372 -> 372 bytes .../sootopolis_gym/anim/front_waterfall/2.png | Bin 385 -> 385 bytes .../sootopolis_gym/anim/side_waterfall/0.png | Bin 341 -> 341 bytes .../sootopolis_gym/anim/side_waterfall/1.png | Bin 339 -> 339 bytes .../sootopolis_gym/anim/side_waterfall/2.png | Bin 340 -> 340 bytes .../secondary/underwater/anim/seaweed/0.png | Bin 231 -> 231 bytes .../secondary/underwater/anim/seaweed/1.png | Bin 236 -> 236 bytes .../secondary/underwater/anim/seaweed/2.png | Bin 238 -> 238 bytes .../secondary/underwater/anim/seaweed/3.png | Bin 234 -> 234 bytes 129 files changed, 0 insertions(+), 0 deletions(-) diff --git a/data/tilesets/primary/building/anim/tv_turned_on/0.png b/data/tilesets/primary/building/anim/tv_turned_on/0.png index 1d98f3621c424be43d62cd95fe644ac67f1f72bc..65645fb73cce6885892043ee5762bf20ac33f786 100644 GIT binary patch delta 62 zcmV-E0KxyW0kZ*+DKr280AgZ$l$4as&Bg!!|9g94l$3+Cw4~8~^|S delta 62 zcmV-E0KxyW0kZ*+DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXR$6@?e*gdg diff --git a/data/tilesets/primary/building/anim/tv_turned_on/1.png b/data/tilesets/primary/building/anim/tv_turned_on/1.png index 6798473b72b895b55593417e591f5c5523148649..6ecb516e3bc039b037e946d5e88710756e540bb1 100644 GIT binary patch delta 62 zcmV-E0KxyX0ki>-DKr280AgZ$l$4as&Bg!!|9g94l$3+Cw4~OV delta 62 zcmV-E0KxyX0ki>-DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXS6cWUf&c&j diff --git a/data/tilesets/primary/general/anim/flower/0.png b/data/tilesets/primary/general/anim/flower/0.png index 1254a7655c7c2ea173eb7f4ea17dbb39aad4253e..106b75af5a5d340640b7fb8958eff9c649707c5b 100644 GIT binary patch delta 62 zcmV-E0Kxz70q+5jDKr=5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ffl#85m UbAwu1VnI@K#iST0*%Ogn@FI92TL1t6 delta 62 zcmV-E0Kxyw0?h)DDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX@MrTMPXGV_ diff --git a/data/tilesets/primary/general/anim/land_water_edge/1.png b/data/tilesets/primary/general/anim/land_water_edge/1.png index 48274c9a0af3a4c6ee32b6a38e05e3f62db8f951..75aea1193a11a5ea8b56665a217fdb5b2dfb8d88 100644 GIT binary patch delta 62 zcmV-E0Kxy&0@VVLDKr280RR90)z#I#y}hKQq=SQtL9~OU)x|+ELGIPf-n68>l#85m UbAwu1VnI@K#iST0*%Ogn_$E*xa{vGU delta 62 zcmV-E0Kxy&0@VVLDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX_-o4_X8-^I diff --git a/data/tilesets/primary/general/anim/land_water_edge/2.png b/data/tilesets/primary/general/anim/land_water_edge/2.png index 9e1f98c1bccb9e0787364ec2bf383d8ec1cdcd17..bafda3aa276e632cfc59a05784d957dc57b7f157 100644 GIT binary patch delta 62 zcmV-E0Kxy(0@ebMDKr280RR90)z#I#y}hKQq=SQtL9~OU)x|+ELGIPf-n68>l#85m UbAwu1VnI@K#iST0*%Ogn`6kODb^rhX delta 62 zcmV-E0Kxy(0@ebMDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX`D{iXY5)KL diff --git a/data/tilesets/primary/general/anim/land_water_edge/3.png b/data/tilesets/primary/general/anim/land_water_edge/3.png index c5b446f655e9a7a739dac7c0a49a8e73f8584d4d..8d9645f6b7399511e0dd0ef5739898876bd1bc2a 100644 GIT binary patch delta 63 zcmV-F0Kos~0_XyeDKr280RR90)z#I#y}hKQq=SQtL9~OU)x|+ELGIPf-n68>l#85m VbAwu1VnI@K#iST0*%Pr{3jt4_Ak6>( delta 63 zcmV-F0Kos~0_XyeDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%3jvc29>D+r diff --git a/data/tilesets/primary/general/anim/sand_water_edge/0.png b/data/tilesets/primary/general/anim/sand_water_edge/0.png index 80c99c47397b2136d322cf4a56f9de8efd8b841a..46dcf9088d0ed0e8daa729ea422863dec25b619c 100644 GIT binary patch delta 62 zcmV-E0Kxx*0)qmODKr=rX@%sbN~PV delta 62 zcmV-E0Kxx*0)qmODK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXrbJ~PaR2}S diff --git a/data/tilesets/primary/general/anim/sand_water_edge/1.png b/data/tilesets/primary/general/anim/sand_water_edge/1.png index 52051f056bf2f943e6cc5d01b65f9e9cbb048ed3..4188eefbe39729fb34b4ee6cc4530429c5092255 100644 GIT binary patch delta 62 zcmV-E0KxyI0;K|wDKr=$TglK+5i9m delta 62 zcmV-E0KxyI0;K|wDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX$W*%?*8l(j diff --git a/data/tilesets/primary/general/anim/sand_water_edge/2.png b/data/tilesets/primary/general/anim/sand_water_edge/2.png index 39c6e2f873dabaa99f30db8bab05707e60487d0d..f414a71ae4d2baca95ce74c0e5f8fc45586640ef 100644 GIT binary patch delta 62 zcmV-E0KxyS0(mHG+_y7O^ delta 62 zcmV-E0KxyS0 diff --git a/data/tilesets/primary/general/anim/sand_water_edge/3.png b/data/tilesets/primary/general/anim/sand_water_edge/3.png index abb5ff362e5e59d515681f562a14385fac10be82..0a8fc0514e7ef80618afb61be334afe0ac247303 100644 GIT binary patch delta 62 zcmV-E0Kxyj0>A>0DKr=<3g7sD*ylh delta 62 zcmV-E0Kxyj0>A>0DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX<6*QPC;$Ke diff --git a/data/tilesets/primary/general/anim/sand_water_edge/4.png b/data/tilesets/primary/general/anim/sand_water_edge/4.png index a7bde983714b6a9f682c19e0870a7a381b956adf..202cf97d528a7a149dd05276bda5e2052bb7f24d 100644 GIT binary patch delta 62 zcmV-E0Kxy60+|AkDKr=yf4}!wg3PC delta 62 zcmV-E0Kxy60+|AkDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXyiWHXvj6}9 diff --git a/data/tilesets/primary/general/anim/sand_water_edge/5.png b/data/tilesets/primary/general/anim/sand_water_edge/5.png index 05f88d81e81b39ba73ee3796cdbb0e21958d195e..3f984d0acfbdc95aacf95bb34d652bc0bb66a8b0 100644 GIT binary patch delta 62 zcmV-E0Kxx-0)+yQDKr=s3txldH?_b delta 62 zcmV-E0Kxx-0)+yQDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXs6|^IcK`qY diff --git a/data/tilesets/primary/general/anim/sand_water_edge/6.png b/data/tilesets/primary/general/anim/sand_water_edge/6.png index 01f9c203ded54b8f6d2e5ecda300649bb6b60b8c..9c60501deb380be93ef21adf53e2db64faa1a39c 100644 GIT binary patch delta 62 zcmV-E0KxzH0r>%tDKr=oLvGVQ~&?~ delta 62 zcmV-E0KxzH0r>%tDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXoO~Z2Q2+n{ diff --git a/data/tilesets/primary/general/anim/water/0.png b/data/tilesets/primary/general/anim/water/0.png index d3f2ea0da6cf3a594b2181a57a991df8074e81c8..209b93b291c558d26684a3983bc203ac2c6c726e 100644 GIT binary patch delta 63 zcmaFB@_=Q6rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb P_~?>NVGg_-W0{!%Y~La8 delta 63 zcmV-F0Kos?1mFaaDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%0|Jl|9*|SUn~HM1vu6 delta 63 zcmV-F0Kor?1&alcDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%E&^w^9x(s_ diff --git a/data/tilesets/primary/general/anim/water/2.png b/data/tilesets/primary/general/anim/water/2.png index d2302180e20152da5f4e107a0b65d7e053339ae5..28fc4de47151f4b2ff15c03979d10f0f53acb64e 100644 GIT binary patch delta 63 zcmcc0a+PI*rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb Q_~?>NVGg_-V}CFL0BLk0%>V!Z delta 63 zcmV-F0Kos%1l0tPDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%_yLTkAB+G1 diff --git a/data/tilesets/primary/general/anim/water/3.png b/data/tilesets/primary/general/anim/water/3.png index f757f8253ec37f22bd9ad73b7769ee48931d1a01..3440c0970aaef117f12925b801e008be4a7c51b2 100644 GIT binary patch delta 63 zcmaFF@`z=Erip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb P_~?>NVGg_-V_BI1ZQCLB delta 63 zcmV-F0Kos^1mXmcDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%1p<){9<%@e diff --git a/data/tilesets/primary/general/anim/water/4.png b/data/tilesets/primary/general/anim/water/4.png index 950b885850e4ac3efb411f22af725a442ed002b8..994d08a12a0392906af82c2936a35a9240a89319 100644 GIT binary patch delta 63 zcmbQnGL2<|rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb Q_~?>NVGg_-V|OwF07`Nq5C8xG delta 63 zcmV-F0Kos21eOGlDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%xdCmZ9?t*( diff --git a/data/tilesets/primary/general/anim/water/5.png b/data/tilesets/primary/general/anim/water/5.png index 4de7d4225e19c73497900fca6f776ef6a4312320..227dbaed885b1b8eb7b0b63ffa0d93f9812c5f43 100644 GIT binary patch delta 63 zcmbQmGK*z`rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb Q_~?>NVGg_-WA`!w08DBk8~^|S delta 63 zcmV-F0Kos61eyepDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%y#a5X9@_u_ diff --git a/data/tilesets/primary/general/anim/water/6.png b/data/tilesets/primary/general/anim/water/6.png index 73c1cabdd22a140682ce56d28dfb88e7c57661cc..05e05510e8c5bf3c45ebed24595c1981b62fe55a 100644 GIT binary patch delta 63 zcmZ3*vWjJbrip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb Q_~?>NVGg_-W6v@I08~mMOaK4? delta 63 zcmV-F0KosM1gZp(DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%%>j3P9}55g diff --git a/data/tilesets/primary/general/anim/water/7.png b/data/tilesets/primary/general/anim/water/7.png index 827fd8b740de1dc9fee739e4b3420409e0d75a45..fa295f8524a2f57d879153b7d3d9c6e4b051ada4 100644 GIT binary patch delta 63 zcmaFD@`PoArip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb P_~?>NVGg_-W7(MiZr36E delta 63 zcmV-F0Kos`1mpyeDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%2Lh4`9=ZSk diff --git a/data/tilesets/primary/general/anim/waterfall/0.png b/data/tilesets/primary/general/anim/waterfall/0.png index e307d81aa7552fc80c4b32c27e171dec42937881..f69a4686b32c436bf9dc9cee744c953ec9ba3a56 100644 GIT binary patch delta 62 zcmX@kc${&9rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb O_~?>NVGg_#W3vD~r6K$P delta 62 zcmV-E0Kxyq0mlK5DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXYGfH6y8r+H diff --git a/data/tilesets/primary/general/anim/waterfall/1.png b/data/tilesets/primary/general/anim/waterfall/1.png index df6aaf3bca791269a23a11eb4e2d4a20c43f97ec..9a3c68c8f4cbb6fb4ec9a9d9ffac64844c10c2d4 100644 GIT binary patch delta 62 zcmcb{c#Uy_rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb O_~?>NVGg_#V=Dnf+9D|c delta 62 zcmV-E0Kxy(0oDPKDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXd23D{=l}o! diff --git a/data/tilesets/primary/general/anim/waterfall/2.png b/data/tilesets/primary/general/anim/waterfall/2.png index 560f89d0663a832552f94a0ca3d03304d26f7e25..4d09e8de9bd5fa0d252f22ae7b6c2ccdec459a18 100644 GIT binary patch delta 62 zcmX@ic$jg5rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb O_~?>NVGg_#W77aTxgqcX delta 62 zcmV-E0Kxym0mA{1DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXW@0TKuK)l5 diff --git a/data/tilesets/primary/general/anim/waterfall/3.png b/data/tilesets/primary/general/anim/waterfall/3.png index a8db289aee32410c3bb2dfd1d466e549536dcbe0..0c50e43fb0559773ae5e3fceef0cadf056f33377 100644 GIT binary patch delta 62 zcmdnbxSw%?rip}R(EtDc?>&3>pW#0Q%~`THDC??Y)LzS=Ihu~$YmPqaUUDz1`6^Jb O_~?>NVGg_#W0L?m%^~Cf delta 62 zcmV-E0Kxyi0lxu|DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXVqifYqW}N^ diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/0.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/0.png index 98f1a928387b0f09e42849d5210d9e4a48746f31..b5621be76ec6cc1aa1ca7eeda66abbc15fce1a72 100644 GIT binary patch delta 62 zcmaFH_>6Iarip}R(EtDc?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AY$pI_lOxms delta 62 zcmV-E0Kxy}0p&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AY#RV&A|uNH delta 62 zcmV-E0Kxy`0pkIXDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXhH;G_4*&oF diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/2.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/2.png index 1be9641b86d65feb6b7a0944b7a50b5a542a1a03..e51f5b531217847abbdf0e3874d2e698e5edc278 100644 GIT binary patch delta 62 zcmaFJ_>ggerip}R(EtDc?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AYzqKnEF;AL delta 62 zcmV-E0Kxy^0pS6VDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXgm9N12><{9 diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/3.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/3.png index 7a536f24c09d696a56d0bb78a51241c7182f0817..3ec6ff703c7eb5017e114b14d4170da2be3dadcc 100644 GIT binary patch delta 62 zcmaFD_=ItSrip}R(EtDc?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AY&!sDog>Zw delta 62 zcmV-E0Kxy{0ptOYDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXhjIuX5&!@I diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/0.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/0.png index 98f1a928387b0f09e42849d5210d9e4a48746f31..b5621be76ec6cc1aa1ca7eeda66abbc15fce1a72 100644 GIT binary patch delta 62 zcmaFH_>6Iarip}R(EtDc?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AY$pI_lOxms delta 62 zcmV-E0Kxy}0p&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AY#RV&A|uNH delta 62 zcmV-E0Kxy`0pkIXDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXhH;G_4*&oF diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/2.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/2.png index 1be9641b86d65feb6b7a0944b7a50b5a542a1a03..e51f5b531217847abbdf0e3874d2e698e5edc278 100644 GIT binary patch delta 62 zcmaFJ_>ggerip}R(EtDc?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AYzqKnEF;AL delta 62 zcmV-E0Kxy^0pS6VDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXgm9N12><{9 diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/3.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/3.png index 7a536f24c09d696a56d0bb78a51241c7182f0817..3ec6ff703c7eb5017e114b14d4170da2be3dadcc 100644 GIT binary patch delta 62 zcmaFD_=ItSrip}R(EtDc?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ SUd3yQk1k12+_G(AY&!sDog>Zw delta 62 zcmV-E0Kxy{0ptOYDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXhjIuX5&!@I diff --git a/data/tilesets/secondary/battle_pyramid/anim/statue_shadow/0.png b/data/tilesets/secondary/battle_pyramid/anim/statue_shadow/0.png index c135df8246045300fd415fc8a8583990f92b584e..552bdbe0c9f04bd470bb74f16331bfaad104ac0f 100644 GIT binary patch delta 62 zcmV-E0KxyS0 diff --git a/data/tilesets/secondary/battle_pyramid/anim/statue_shadow/1.png b/data/tilesets/secondary/battle_pyramid/anim/statue_shadow/1.png index 2588bdac065914ac1e4cc64094ac12078ffd3915..3b6f481e8813768921a85b4c664cc8884771ffdc 100644 GIT binary patch delta 62 zcmV-E0KxyW0 diff --git a/data/tilesets/secondary/battle_pyramid/anim/torch/0.png b/data/tilesets/secondary/battle_pyramid/anim/torch/0.png index 04bb8ad849a62d6b55ec44f8eaabebef92e5e0bc..4becd1edcfeac71415db40e1f853fff747d77a20 100644 GIT binary patch delta 62 zcmV-E0Kxx>0*L~UDKt3%2vSmNQttLCob~`p|1mLxT2gz9dwaB;d*;P^|K_a!oB*72 UIYCl${|Es8<^WHK=d+PrtV>ZHd;kCd delta 62 zcmV-E0Kxx>0*L~UDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXtVc&4g8%>k diff --git a/data/tilesets/secondary/battle_pyramid/anim/torch/1.png b/data/tilesets/secondary/battle_pyramid/anim/torch/1.png index e292686f98b81527f49b40396eca5952a7e67b1f..91bdf8ac50c85a0a3b3b2710de6f582139ad44d8 100644 GIT binary patch delta 62 zcmV-E0Kxx*0)qmODKt3%2vSmNQttLCob~`p|1mLxT2gz9dwaB;d*;P^|K_a!oB*72 UIYCl${|Es8<^WHK=d+PrrburcY5)KL delta 62 zcmV-E0Kxx*0)qmODK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXrbJ~PaR2}S diff --git a/data/tilesets/secondary/battle_pyramid/anim/torch/2.png b/data/tilesets/secondary/battle_pyramid/anim/torch/2.png index fa24db001c87dc4b2dd6ed801ef2f817cbecb93e..fb6153b4fc005f29754b308013ab455f788a4a67 100644 GIT binary patch delta 62 zcmV-E0KxzM0saAyDKt3%2vSmNQttLCob~`p|1mLxT2gz9dwaB;d*;P^|K_a!oB*72 UIYCl${|Es8<^WHK=d+Prp@NVeSpWb4 delta 62 zcmV-E0KxzM0saAyDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXp?-!RU;qFB diff --git a/data/tilesets/secondary/bike_shop/anim/blinking_lights/0.png b/data/tilesets/secondary/bike_shop/anim/blinking_lights/0.png index 127ed4e47af0f083cfcb98c44d277be3a854f108..f8bafb21b8fe643a3b0470a9be47cf703a74bf7a 100644 GIT binary patch delta 62 zcmV-E0KxyF0-^$tDKr280RR8y-rmKuw4{4`YC%eB)$XK})q8`ads>`Q?!AlVoI$j6 UL5pfZoU}@;|2bhl4wjK!#p$ykJpcdz delta 62 zcmV-E0KxyF0-^$tDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX#ZyWi&Hw-a diff --git a/data/tilesets/secondary/bike_shop/anim/blinking_lights/1.png b/data/tilesets/secondary/bike_shop/anim/blinking_lights/1.png index 71f12a74608b0b12568318934e1db9e25b62f5bb..d5e22861d527ba02d03d74b18eddb6891aa07f35 100644 GIT binary patch delta 62 zcmV-E0KxyB0-gepDKr280RR8y-rmKuw4{4`YC%eB)$XK})q8`ads>`Q?!AlVoI$j6 UL5pfZoU}@;|2bhl4wjK!!RN;yF#rGn delta 62 zcmV-E0KxyB0-gepDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX!BJiw!TxR!B(rU?TB!`ZV-)~xBC(p_9!?DfCc@maCsmZYd9K|yB?8KxLAe3Ov)HU+2( N3M$xsW=@O^000wB7Q+Al delta 62 zcmV-E0KxyQ0j&X$DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXP*rU?TB!`ZV-)~xBC(p_9!?DfCc@maCsmZYd9K|yB?8KxLAe3Ov)HU+2( N3M$xsW=@O^0ss_47Rdkr delta 62 zcmV-E0KxyS0j~j&DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXQdp55a{vGU diff --git a/data/tilesets/secondary/cave/anim/lava/4.png b/data/tilesets/secondary/cave/anim/lava/4.png index cea6ece8573814ce8f6e59e64485e80424f0932b..a3d77615aae9080e2d27d57c27187f5affadd235 100644 GIT binary patch delta 62 zcmbQsIG1sPrU?TB!`ZV-)~xBC(p_9!?DfCc@maCsmZYd9K|yB?8KxLAe3Ov)HU+2( N3M$xsW=@QC000Y}7Lxz~ delta 62 zcmV-E0KxyA0i6MmDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXKu_x)Jpcdz diff --git a/data/tilesets/secondary/cave/anim/lava/5.png b/data/tilesets/secondary/cave/anim/lava/5.png index 01d8a300ab6e8a498d20b2969e2621fb9d35bfca..c1469938af03ba9f4b59492a258f6491df2d092c 100644 GIT binary patch delta 62 zcmdnUxRG&!rU?TB!`ZV-)~xBC(p_9!?DfCc@maCsmZYd9K|yB?8KxLAe3Ov)HU+2( N3M$xsW=@O^0RR;_7S8|x delta 62 zcmV-E0KxyU0kHv)DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXR9S}}c>n+a diff --git a/data/tilesets/secondary/cave/anim/lava/6.png b/data/tilesets/secondary/cave/anim/lava/6.png index ba13bda8cc55b91fa76f620698de9cfe925b442b..41afe9d1fac8d07d28c76f49ea97a4650f1178db 100644 GIT binary patch delta 62 zcmZ3>xR!B(rU?TB!`ZV-)~xBC(p_9!?DfCc@maCsmZYd9K|yB?8KxLAe3Ov)HU+2( N3M$xsW=@O^000wB7Q+Al delta 62 zcmV-E0KxyQ0j&X$DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXP*0p00p0Px# diff --git a/data/tilesets/secondary/elite_four/anim/wall_lights/0.png b/data/tilesets/secondary/elite_four/anim/wall_lights/0.png index 108a2099be48e6da116df82ff935c7125bf8c1f0..3ce30e90b3caa7212f6ef19afd5b473256ea76da 100644 GIT binary patch delta 62 zcmV-E0Kxy50hj@hDKui7#X(AHl$@N+-tPbZ|MtC7_F^%tQbF$K0DHyuO0?BMd!#XH Ud&R}Y|E!CYy|g+eXnv7hJ1!+6Qvd(} delta 62 zcmV-E0Kxy50hj@hDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXJ57WhE&u=k diff --git a/data/tilesets/secondary/elite_four/anim/wall_lights/1.png b/data/tilesets/secondary/elite_four/anim/wall_lights/1.png index 64b23f06139ef86f6db57805183930c15c687475..d28ff551522ffc358b2ae8634ae32c16058b1d43 100644 GIT binary patch delta 62 zcmV-E0Kxy50hj@hDKui7#X(AHl$@N+-tPbZ|MtC7_F^%tQbF$K0DHyuO0?BMd!#XH Ud&R}Y|E!CYy|g+eXnv7hJ1!+6Qvd(} delta 62 zcmV-E0Kxy50hj@hDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXJ57WhE&u=k diff --git a/data/tilesets/secondary/elite_four/anim/wall_lights/2.png b/data/tilesets/secondary/elite_four/anim/wall_lights/2.png index 0d9f603fc3db4421a22af6e716ed48ad683e1ba0..9a18c5c46fbec34863f89292f16b87e6490113f3 100644 GIT binary patch delta 62 zcmV-E0Kxy50hj@hDKui7#X(AHl$@N+-tPbZ|MtC7_F^%tQbF$K0DHyuO0?BMd!#XH Ud&R}Y|E!CYy|g+eXnv7hJ1!+6Qvd(} delta 62 zcmV-E0Kxy50hj@hDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXJ57WhE&u=k diff --git a/data/tilesets/secondary/elite_four/anim/wall_lights/3.png b/data/tilesets/secondary/elite_four/anim/wall_lights/3.png index 64b23f06139ef86f6db57805183930c15c687475..d28ff551522ffc358b2ae8634ae32c16058b1d43 100644 GIT binary patch delta 62 zcmV-E0Kxy50hj@hDKui7#X(AHl$@N+-tPbZ|MtC7_F^%tQbF$K0DHyuO0?BMd!#XH Ud&R}Y|E!CYy|g+eXnv7hJ1!+6Qvd(} delta 62 zcmV-E0Kxy50hj@hDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXJ57WhE&u=k diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/0.png b/data/tilesets/secondary/ever_grande/anim/flowers/0.png index ac03df40bbcf2203484f12bd27721b377d24f13a..6493e2e8217eaeef04ad9798ef20816610ebe025 100644 GIT binary patch delta 62 zcmV-E0Kxx(0)YaMDKr=5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff<{9 delta 62 zcmV-E0KxzL0sR4xDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXpneMt<8 diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/3.png b/data/tilesets/secondary/ever_grande/anim/flowers/3.png index f120dee16e0898dfee858bf3e66ed8be1d1d21f2..edc7220b8fecd4939433a784ddadb90ea7598fba 100644 GIT binary patch delta 62 zcmV-E0KxzN0sjGzDKr=5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff4*&oF delta 62 zcmV-E0KxzN0sjGzDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXqJIG&V*mgE diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/4.png b/data/tilesets/secondary/ever_grande/anim/flowers/4.png index ac03df40bbcf2203484f12bd27721b377d24f13a..6493e2e8217eaeef04ad9798ef20816610ebe025 100644 GIT binary patch delta 62 zcmV-E0Kxx(0)YaMDKr=5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff^*a3;+NC delta 62 zcmV-E0KxzM0saAyDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXp?-!RU;qFB diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/7.png b/data/tilesets/secondary/ever_grande/anim/flowers/7.png index d7cfd452941f4eaaf87d6aca5a3538d8d87b4fa8..4d43dfd0a9d6c1de80dd68476f017fcc0e91ea56 100644 GIT binary patch delta 62 zcmV-E0KxzM0saAyDKr=5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-ww%ff^*a3;+NC delta 62 zcmV-E0KxzM0saAyDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXp?-!RU;qFB diff --git a/data/tilesets/secondary/lavaridge/anim/steam/0.png b/data/tilesets/secondary/lavaridge/anim/steam/0.png index 434041fbd8a974762b23803736cf26b8bd8e3792..adf450afd721e470cd607650e9ee7a6c64a6ead3 100644 GIT binary patch delta 75 zcmeBSoXI#r)A4AM<^TWx?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ fUd3yQk1m;KFZhgsfq}6k$S;_|;n|I}iLv?sNo6Nu delta 62 zcmV-E0Kxy60gM5VDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwkFG~O(Bme*a diff --git a/data/tilesets/secondary/lavaridge/anim/steam/1.png b/data/tilesets/secondary/lavaridge/anim/steam/1.png index ebc028ed49574458ed0360d2d3bd31d66ddbae35..df7ad341957523b51dbcfb6b00a5ed811bbc3f75 100644 GIT binary patch delta 75 zcmbQtxPWnjrsL5h%m4rX-+T6M@7ZT_w%luO?oLXocJ#{n&+xx^@3*8i??B{|dqLet fy^7ZqA6+ufUho+M0|R48kY6x^!?PP{6JyN)O?W4F delta 62 zcmV-E0KxyD0h0lcDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwkHcnk0IRF3v diff --git a/data/tilesets/secondary/lavaridge/anim/steam/2.png b/data/tilesets/secondary/lavaridge/anim/steam/2.png index aee227f05db4c7281442141750ccb840d9beae46..2a8c8a28cadd39addc35d7296114e96c92160615 100644 GIT binary patch delta 75 zcmeBYoWnRl)A4AM<^TWx?>&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ fUd3yQk1m;KFZhgsfq}6k$S;_|;n|I}iLpiiOC%?2 delta 62 zcmV-E0Kxy90gnNYDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwkGE8wEEdT%j diff --git a/data/tilesets/secondary/lavaridge/anim/steam/3.png b/data/tilesets/secondary/lavaridge/anim/steam/3.png index 99149ae625c0292f2c1ff055bb4cf0e90adffb33..8dcaa6c82ce5460004ca599797b462733a977922 100644 GIT binary patch delta 75 zcmbQqxQuavrsL5h%m4rX-+T6M@7ZT_w%luO?oLXocJ#{n&+xx^@3*8i??B{|dqLet fy^7ZqA6+ufUho+M0|R48kY6x^!?PP{6Ju=vQ1&N@ delta 62 zcmV-E0KxyJ0hs}iDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwkJW)R$O8@`> diff --git a/data/tilesets/secondary/mauville/anim/flower_1/0.png b/data/tilesets/secondary/mauville/anim/flower_1/0.png index b20c5470ee26c6d96e5a2e52e025071ea207ddb7..263dba07005dcc43d5e370683470e641ec9071dc 100644 GIT binary patch delta 62 zcmV-E0Kxz20qOyeDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&jjZe*(EtDd delta 62 zcmV-E0Kxz20qOyeDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXjdbcCBme*a diff --git a/data/tilesets/secondary/mauville/anim/flower_1/1.png b/data/tilesets/secondary/mauville/anim/flower_1/1.png index 0587295fc5925a9c080f9b7691c4acf203373834..66179f13ddb7dc36b7aca8f1009bccbaf2d2423a 100644 GIT binary patch delta 62 zcmV-E0Kxy|0p$UZDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&h^mDi!T5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&gQy-Jvj6}9 delta 62 zcmV-E0Kxy@0pJ0UDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXgK!)l1^@s6 diff --git a/data/tilesets/secondary/mauville/anim/flower_1/3.png b/data/tilesets/secondary/mauville/anim/flower_1/3.png index bc132f2ef534edc05cc17653f3f16d436e972597..b1015d370bd22dcb8b04909c86c127c82300ce73 100644 GIT binary patch delta 62 zcmV-E0Kxy*0oVbMDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&d!$Aln*aa+ delta 62 zcmV-E0Kxy*0oVbMDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXdu&7=?f?J) diff --git a/data/tilesets/secondary/mauville/anim/flower_1/4.png b/data/tilesets/secondary/mauville/anim/flower_1/4.png index 911b980a3c648015665f0f4969ccf87e7e550c0c..1e8cb84afec50d85cd062fdddf380b8507150bc4 100644 GIT binary patch delta 62 zcmV-E0Kxz00q6mcDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&i>vk?%K!iX delta 62 zcmV-E0Kxz00q6mcDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXi*xiJ9smFU diff --git a/data/tilesets/secondary/mauville/anim/flower_2/0.png b/data/tilesets/secondary/mauville/anim/flower_2/0.png index b20c5470ee26c6d96e5a2e52e025071ea207ddb7..263dba07005dcc43d5e370683470e641ec9071dc 100644 GIT binary patch delta 62 zcmV-E0Kxz20qOyeDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&jjZe*(EtDd delta 62 zcmV-E0Kxz20qOyeDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXjdbcCBme*a diff --git a/data/tilesets/secondary/mauville/anim/flower_2/1.png b/data/tilesets/secondary/mauville/anim/flower_2/1.png index 0587295fc5925a9c080f9b7691c4acf203373834..66179f13ddb7dc36b7aca8f1009bccbaf2d2423a 100644 GIT binary patch delta 62 zcmV-E0Kxy|0p$UZDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&h^mDi!T5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&gQy-Jvj6}9 delta 62 zcmV-E0Kxy@0pJ0UDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXgK!)l1^@s6 diff --git a/data/tilesets/secondary/mauville/anim/flower_2/3.png b/data/tilesets/secondary/mauville/anim/flower_2/3.png index bc132f2ef534edc05cc17653f3f16d436e972597..b1015d370bd22dcb8b04909c86c127c82300ce73 100644 GIT binary patch delta 62 zcmV-E0Kxy*0oVbMDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&d!$Aln*aa+ delta 62 zcmV-E0Kxy*0oVbMDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXdu&7=?f?J) diff --git a/data/tilesets/secondary/mauville/anim/flower_2/4.png b/data/tilesets/secondary/mauville/anim/flower_2/4.png index 911b980a3c648015665f0f4969ccf87e7e550c0c..1e8cb84afec50d85cd062fdddf380b8507150bc4 100644 GIT binary patch delta 62 zcmV-E0Kxz00q6mcDKu)$d$j+9gT-Pwi!nJ;0N#{yYFb*PVp>5tG5^Js-fCjaK~kjE U#dF1^L9~Myq-w=MhRl&&i>vk?%K!iX delta 62 zcmV-E0Kxz00q6mcDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXi*xiJ9smFU diff --git a/data/tilesets/secondary/mauville_gym/anim/electric_gates/0.png b/data/tilesets/secondary/mauville_gym/anim/electric_gates/0.png index ebf603978cc14bfa71786761a3b17e5da72c3c1e..91659efd1a3254050898a62dc7f77848e4259455 100644 GIT binary patch delta 75 vcmey&*uXSF)3JKXUItv?|9=LrEHue;+Wu)kA;yv*zhDN3XE)L&#!dqO*y|1r delta 62 zcmV-E0Kxx&0`mcoDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwkmR-6Y+5i9m diff --git a/data/tilesets/secondary/mauville_gym/anim/electric_gates/1.png b/data/tilesets/secondary/mauville_gym/anim/electric_gates/1.png index 34072707ff6e87c68c2d028ee461310f37920faf..f766cc8e5ea085bb95e7bae4a2fc04eeb807765d 100644 GIT binary patch delta 75 vcmeyw_@8ltrepP%y$ra(|NjhLS!j~ywEfe7LX0Ire!&b5&u*kmjGYPq{EiNZ delta 62 zcmV-E0KxzN0rCNmDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwkm3#spRsaA1 diff --git a/data/tilesets/secondary/pacifidlog/anim/log_bridges/0.png b/data/tilesets/secondary/pacifidlog/anim/log_bridges/0.png index 316eb500e3a9d2617a332428d02d3581e3ca88ec..f7aa47448a46fa18710c0c108d6d0752bdc4f3d9 100644 GIT binary patch delta 63 zcmey)@||UZrU?TB!~g&P?>&3B=IFETCHJzLuLfmZb@a+oPzZYWY{|Q$NoVI+E~%Et TveX2s1WE;OmR*DG#Cr=*P delta 63 zcmV-F0KotE1os4xDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%8UmYS9`gVI diff --git a/data/tilesets/secondary/pacifidlog/anim/log_bridges/1.png b/data/tilesets/secondary/pacifidlog/anim/log_bridges/1.png index ee9d4316e11ceee8fffb03ab3fd14a9b081feb98..d0ae0b0a51a7864a3f2cc40510f358e5cc86848a 100644 GIT binary patch delta 63 zcmeBY?Pr~!X~Mw3@c;k+d(YmjIr^-7$-S)Rt3g>;9lf#?6oTG8Tk`H`(%CtdOR6QZ TEH!~Dfl@)SCzfoCHDUq)^@<)N delta 63 zcmV-F0Kor`1&;-gDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%G6HF?9z6g6 diff --git a/data/tilesets/secondary/pacifidlog/anim/log_bridges/2.png b/data/tilesets/secondary/pacifidlog/anim/log_bridges/2.png index 221a715854e68973205c345942ebf61767d66ac5..014654cf6471c302cf90315ee80d62822c7951af 100644 GIT binary patch delta 63 zcmbQiI)inBrU?TB!~g&P?>&3B=IFETCHJzLuLfmZb@a+oPzZYWY{|Q$NoVI+E~%Et TveX2s1WE;Om)|v?b`S>0_ delta 63 zcmV-F0Kos41(*epDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%I|6PT9#{YX diff --git a/data/tilesets/secondary/pacifidlog/anim/water_currents/0.png b/data/tilesets/secondary/pacifidlog/anim/water_currents/0.png index 6d432eb25cb95188cf911fc61187dff3403767ed..6b692db41f95995d0b3a0972b4c0155d9b934157 100644 GIT binary patch delta 62 zcmZo?YG<0DX(FK+^#A|=d(YneXZR0CL0MNFqxM<`Eiv?(vgYWs?j`rKny&%{i;ph3 LdSsXS#Mo5;DYPR7 delta 62 zcmV-E0Kxx<0*3;SDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXszy;BeESvmuX(FK+^#A|=d(YneXZR0CL0MNFqxM<`Eiv?(vgYWs?j`rKny&%{i;ph3 LdSsXS#Mn&$EsP@` delta 62 zcmV-E0Kxx{0*?ZaDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXvPvl)l>h($ diff --git a/data/tilesets/secondary/pacifidlog/anim/water_currents/2.png b/data/tilesets/secondary/pacifidlog/anim/water_currents/2.png index 2a11e5065eb3898ba3da68641e1d1e75e7a3cc11..bf4c33de944c229e77f3d16a425423336687009b 100644 GIT binary patch delta 62 zcmbQkG>2(|rip}R(EtDc?>&3>pW#0o1!Y}zjM{4%w8YSB%9^9kx|iI`YQ72-EIzvA M>XBXQ6Jz%S05i)YMF0Q* delta 62 zcmV-E0Kxy90-OSnDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXzffo%yZ`_I diff --git a/data/tilesets/secondary/pacifidlog/anim/water_currents/3.png b/data/tilesets/secondary/pacifidlog/anim/water_currents/3.png index be4089ff40de4dc94f2d13c2fcfd0a4c07fb4dc0..67b816d3875597418fcf995c3572a4c4f4a0a075 100644 GIT binary patch delta 62 zcmeBT>SCIpX(FK+^#A|=d(YneXZR0CL0MNFqxM<`Eiv?(vgYWs?j`rKny&%{i;ph3 LdSsXS#Mrd}D&3>pW#0o1!Y}zjM{4%w8YSB%9^9kx|iI`YQ72-EIzvA L>XBXQ6JxUhNB1K~ delta 62 zcmV-E0Kxyr0muQ6DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXYh;ujz5oCK diff --git a/data/tilesets/secondary/pacifidlog/anim/water_currents/5.png b/data/tilesets/secondary/pacifidlog/anim/water_currents/5.png index 93bbc63750b4e3aeb32c69a38896351c6e1293bb..eee9756e302ec3bcc27a8fd19251d6d4568a41ae 100644 GIT binary patch delta 62 zcmX@Xc!F_)rip}R(EtDc?>&3>pW#0o1!Y}zjM{4%w8YSB%9^9kx|iI`YQ72-EIzvA L>XBXQ6JxUhNB1K~ delta 62 zcmV-E0Kxyr0muQ6DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXYh;ujz5oCK diff --git a/data/tilesets/secondary/pacifidlog/anim/water_currents/6.png b/data/tilesets/secondary/pacifidlog/anim/water_currents/6.png index b08f5a0d976bc48c45a48493e0f85665fc75a043..1ba88117fda5d9b15505d22bbd3e29c5960fccc3 100644 GIT binary patch delta 62 zcmX@Xc!F_)rip}R(EtDc?>&3>pW#0o1!Y}zjM{4%w8YSB%9^9kx|iI`YQ72-EIzvA L>XBXQ6JxUhNB1K~ delta 62 zcmV-E0Kxyr0muQ6DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXYh;ujz5oCK diff --git a/data/tilesets/secondary/pacifidlog/anim/water_currents/7.png b/data/tilesets/secondary/pacifidlog/anim/water_currents/7.png index 1a5f0ae5c4d048553b5132e857fc5cd8bac61fce..2c3c079b90d4f8a43fc623466f1fad06babe6d37 100644 GIT binary patch delta 62 zcmZo=YGs~r_5kfW@7Zrrb+S9CIA2bzjyE6nk{>~r_5kfW@7 diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/0.png b/data/tilesets/secondary/rustboro/anim/windy_water/0.png index af00b97c7942a22c4d94d3272fa51033485397dc..2e648b8348f2d6c8fd3d6245be1281d94d77a73e 100644 GIT binary patch delta 62 zcmdnOxP@_orb+S9CIA2bzxV9j-m}l-DK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXS6cWUf&c&j diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/1.png b/data/tilesets/secondary/rustboro/anim/windy_water/1.png index 20b1ef630ab3daa630ba0add04d4114d3bf0b9c5..143e9d12d5dc6c1acc33e9965222e8b824571c63 100644 GIT binary patch delta 62 zcmZ3*xQcOtrb+S9CIA2bzxV9j-m}lpF diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/2.png b/data/tilesets/secondary/rustboro/anim/windy_water/2.png index 44c4b2cdc273c0231983b6808fc9bea28192731d..94820fcb0f98edf6d023803c38dbfb2d583fc4c6 100644 GIT binary patch delta 62 zcmZo+Y+;&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ RUd3yGihr3lhfa)D2LOK|BohDt delta 62 zcmV-E0Kxx+0fYgNDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXCqw8R@&Et; diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/3.png b/data/tilesets/secondary/rustboro/anim/windy_water/3.png index 44c4b2cdc273c0231983b6808fc9bea28192731d..94820fcb0f98edf6d023803c38dbfb2d583fc4c6 100644 GIT binary patch delta 62 zcmZo+Y+;&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ RUd3yGihr3lhfa)D2LOK|BohDt delta 62 zcmV-E0Kxx+0fYgNDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXCqw8R@&Et; diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/4.png b/data/tilesets/secondary/rustboro/anim/windy_water/4.png index 44c4b2cdc273c0231983b6808fc9bea28192731d..94820fcb0f98edf6d023803c38dbfb2d583fc4c6 100644 GIT binary patch delta 62 zcmZo+Y+;&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ RUd3yGihr3lhfa)D2LOK|BohDt delta 62 zcmV-E0Kxx+0fYgNDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXCqw8R@&Et; diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/5.png b/data/tilesets/secondary/rustboro/anim/windy_water/5.png index 44c4b2cdc273c0231983b6808fc9bea28192731d..94820fcb0f98edf6d023803c38dbfb2d583fc4c6 100644 GIT binary patch delta 62 zcmZo+Y+;&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ RUd3yGihr3lhfa)D2LOK|BohDt delta 62 zcmV-E0Kxx+0fYgNDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXCqw8R@&Et; diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/6.png b/data/tilesets/secondary/rustboro/anim/windy_water/6.png index 44c4b2cdc273c0231983b6808fc9bea28192731d..94820fcb0f98edf6d023803c38dbfb2d583fc4c6 100644 GIT binary patch delta 62 zcmZo+Y+;&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ RUd3yGihr3lhfa)D2LOK|BohDt delta 62 zcmV-E0Kxx+0fYgNDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXCqw8R@&Et; diff --git a/data/tilesets/secondary/rustboro/anim/windy_water/7.png b/data/tilesets/secondary/rustboro/anim/windy_water/7.png index 44c4b2cdc273c0231983b6808fc9bea28192731d..94820fcb0f98edf6d023803c38dbfb2d583fc4c6 100644 GIT binary patch delta 62 zcmZo+Y+;&3B_w2JdTkbVCcPAxPJ9=gPXZT;d_gm7McOY`fy`b)+ RUd3yGihr3lhfa)D2LOK|BohDt delta 62 zcmV-E0Kxx+0fYgNDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXCqw8R@&Et; diff --git a/data/tilesets/secondary/slateport/anim/balloons/0.png b/data/tilesets/secondary/slateport/anim/balloons/0.png index 28bf60f26a9a602b467f4a481a2e15a4ef38e59f..eb98084677b77d6e296fcd24f82bac82473877cf 100644 GIT binary patch delta 62 zcmV-E0Kxy`0pkIXDKr=-3$y2-NoH&mfZX1<#^A_@~D^L8ZXT$UYbGO TN4<*I0A-^+4IDSds<8k7GP@XO delta 63 zcmV-F0Kor)34;lcDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%CIn@$9wPt% diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/2.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/2.png index 85598e14598d9e83f098924e64b0dd81b3694d6b..aaaabb7b4e418ddd69404c9d86e0bf0e5ad6df21 100644 GIT binary patch delta 63 zcmZqXZ04MxX;OT2Nq2Epaa2&0qvM(>-3$y2-NoH&mfZX1<#^A_@~D^L8ZXT$UYbGO TN4<*I0A-^+4IDSds<8k7GP@XO delta 63 zcmV-F0Kor)34;lcDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%CIn@$9wPt% diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/3.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/3.png index c7aad10c7dd4c00b184e991787a6ea8bb2b8096e..8010dc5b776cb3a6790ccae9bde8c1d21d53cebe 100644 GIT binary patch delta 63 zcmcb?af4%mrb+S9CEdkY#Zf^~j*e@lbTcq8bQgE8S#s~2m*YJz%cEX~YrHh4cxeW8 TAN49;1C)*SG;rJ)`NmDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%2LzM!9>f3u diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/5.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/5.png index cbe1769c08f7b9c87b879cd37897afcead822276..3439d90d0c8fb226d4e1260dccbf2c0423b6f295 100644 GIT binary patch delta 63 zcmey%@t0$Qrb+S9CEdkY#Zf^~j*e@lbTcq8bQgE8S#s~2m*YJz%cEX~YrHh4cxeW8 TAN49;1C)*SG;rJ)tH1&PZA}?d delta 63 zcmV-F0KotK2>l3;s6YA94Ty diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/7.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/7.png index e4026a02f82a9e1e3d58e80deba3979b03c24e28..fe921b21a9e5c9cbdf58ee7f9570bb56052b89e1 100644 GIT binary patch delta 63 zcmX@gag<|%rb+S9CEdkY#Zf^~j*e@lbTcq8bQgE8S#s~2m*YJz%cEX~YrHh4cxeW8 TAN49;1C)*SG;rJ)`+^w&Q@k0f delta 63 zcmV-F0Kosn2*n7HDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%=mUnaA7%gm diff --git a/data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/0.png b/data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/0.png index dc6cf500e1f4b4d15a1b5f2b731a35ccad5bfe09..edac313cab89a5b315100e264db5b31f97b64ad8 100644 GIT binary patch delta 63 zcmV-F0Kot20_y^hDKvYuz5oCJ)$Z=B-sXeN-derYIjqgi&Bc_Ilwx9gK}u?*oMQIw Vz3$$m&Bcqow0qX}$u6;74gn6HCy4+6 delta 63 zcmV-F0Kot20_y^hDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%4gr*h9?Ad! diff --git a/data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/1.png b/data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/1.png index 93dd79753022da4b91b3e156198401890008fa96..83adf5f3ea6f61357b0f9ae720bf79aca4d4c521 100644 GIT binary patch delta 63 zcmV-F0KotB0`vlqDKvYuz5oCJ)$Z=B-sXeN-derYIjqgi&Bc_Ilwx9gK}u?*oMQIw Vz3$$m&Bcqow0qX}$u6;77XcFtC!_!X delta 63 zcmV-F0KotB0`vlqDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%7Xg^{9_0W4 diff --git a/data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/2.png b/data/tilesets/secondary/sootopolis_gym/anim/front_waterfall/2.png index 30961482cb0e0636aa79e391510070a92748f153..0f4daa7a55ce5d720621495e2cb198d79a676197 100644 GIT binary patch delta 63 zcmV-F0Kor&1AzmODKvYuz5oCJ)$Z=B-sXeN-derYIjqgi&Bc_Ilwx9gK}u?*oMQIw Vz3$$m&Bcqow0qX}$u6;7BmvvqCd~i< delta 63 zcmV-F0Kor&1AzmODK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw VF(4oy5D*Xm002Yu;rg*%BmrU79u5Ei diff --git a/data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/0.png b/data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/0.png index 180b5522eda19be459e08a320206161c0d5d5b11..75b24e1c5c452386830725807bb8ce49f688e1f8 100644 GIT binary patch delta 62 zcmV-E0Kxy&0@VVLDKvYuz5oCJ)$Z=B-sXeN-derYIjqgi&Bc_Ilwx9gK}u?*oMQIw Uz3$$m&Bcqow0qX}$u5yy_}vsJCIA2c delta 62 zcmV-E0Kxy&0@VVLDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX_-o4_X8-^I diff --git a/data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/1.png b/data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/1.png index af3ab12d2e64dbeb2df3e1708e4a09d1aab4c29e..e24fc8ab27b71141cc9db7fc52c811ec9a0fd43f 100644 GIT binary patch delta 62 zcmV-E0Kxy$0@DJJDKvYuz5oCJ)$Z=B-sXeN-derYIjqgi&Bc_Ilwx9gK}u?*oMQIw Uz3$$m&Bcqow0qX}$u5yy_S_yQAOHXW delta 62 zcmV-E0Kxy$0@DJJDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX_G;B1VE_OC diff --git a/data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/2.png b/data/tilesets/secondary/sootopolis_gym/anim/side_waterfall/2.png index 8481c0cde88d1ffe64d992b05a4cd9143fe297d7..1a1e4114d0ab9964a8afb0cf4927b2d1e292e225 100644 GIT binary patch delta 62 zcmV-E0Kxy%0@MPKDKvYuz5oCJ)$Z=B-sXeN-derYIjqgi&Bc_Ilwx9gK}u?*oMQIw Uz3$$m&Bcqow0qX}$u5yy_uQE%BLDyZ delta 62 zcmV-E0Kxy%0@MPKDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwX_iIoeWB>pF diff --git a/data/tilesets/secondary/underwater/anim/seaweed/0.png b/data/tilesets/secondary/underwater/anim/seaweed/0.png index fab28e54f32345432f244313960c13cf014f0fe2..0bc01624f8232113a8170b75e0b2c9e1d19f3626 100644 GIT binary patch delta 62 zcmaFP_?&TqrU?TBL-UfeNzH4#lBO6sR{v-C4?&uSQ4mJ4*VQ1+y_Nz?6d1ZStKXe+ K{ckWawhI7i>Kw!X delta 62 zcmV-E0Kxy~0p|gbDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXigS4%8vpOUcrU?TBL-UfeNzH4#lBO6sR{v-C4?&uSQ4mJ4*VQ1+y_Nz?6d1ZStKXe+ K{ckWab|L_7M;zGz delta 62 zcmV-E0Kxz60qy~iDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXk#^P}FaQ7m diff --git a/data/tilesets/secondary/underwater/anim/seaweed/3.png b/data/tilesets/secondary/underwater/anim/seaweed/3.png index 0c13920112ead944564c2457e10e8f3530851235..28b0081ff0edc572bb4e624da7dddaec5c091a5a 100644 GIT binary patch delta 62 zcmaFG_=<6YrU?TBL-UfeNzH4#lBO6sR{v-C4?&uSQ4mJ4*VQ1+y_Nz?6d1ZStKXe+ K{ckWawif_wTO7>* delta 62 zcmV-E0Kxz20qOyeDK!88|L*SY-rnBL&CR{Ny{xRPoSdACi;Ht}b7Ep*Qc_YuK|wJw UF(4oy5D*Xm002Yu;rfwXjdbcCBme*a From 8853588af07169ac61a5fe22ab928d94c92a05ea Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 8 Apr 2020 16:24:30 -0400 Subject: [PATCH 04/19] Sync digit_obj_util --- include/digit_obj_util.h | 26 +++ include/rom_8034C54.h | 26 --- ld_script.txt | 4 +- src/battle_bg.c | 19 ++ src/berry_crush.c | 44 ++-- src/digit_obj_util.c | 450 ++++++++++++++++++++++++++++++++++++++ src/pokemon_jump.c | 28 +-- src/rom_8034C54.c | 453 --------------------------------------- src/rom_81520A8.c | 4 +- sym_bss.txt | 2 +- sym_ewram.txt | 2 +- 11 files changed, 537 insertions(+), 521 deletions(-) create mode 100644 include/digit_obj_util.h delete mode 100644 include/rom_8034C54.h create mode 100644 src/digit_obj_util.c delete mode 100644 src/rom_8034C54.c diff --git a/include/digit_obj_util.h b/include/digit_obj_util.h new file mode 100644 index 000000000..aca97e2c7 --- /dev/null +++ b/include/digit_obj_util.h @@ -0,0 +1,26 @@ +#ifndef GUARD_DIGIT_OBJ_UTIL_H +#define GUARD_DIGIT_OBJ_UTIL_H + +struct DigitObjUtilTemplate +{ + u8 strConvMode:2; + u8 shape:2; + u8 size:2; + u8 priority:2; + u8 oamCount; + u8 xDelta; + s16 x; + s16 y; + const struct SpriteSheet *spriteSheet; + const struct SpritePalette *spritePal; +}; + +bool32 DigitObjUtil_Init(u32 count); +void DigitObjUtil_Free(void); +bool32 DigitObjUtil_CreatePrinter(u32 id, s32 num, const struct DigitObjUtilTemplate *template); +void DigitObjUtil_PrintNumOn(u32 id, s32 arg1); +void DigitObjUtil_DeletePrinter(u32 id); +void DigitObjUtil_HideOrShow(u32 id, bool32 arg1); +u8 GetTilesPerImage(u32 shape, u32 size); + +#endif // GUARD_DIGIT_OBJ_UTIL_H diff --git a/include/rom_8034C54.h b/include/rom_8034C54.h deleted file mode 100644 index 4da324dd1..000000000 --- a/include/rom_8034C54.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef GUARD_ROM_8034C54_H -#define GUARD_ROM_8034C54_H - -struct UnkStruct3 -{ - u8 field_0_0:2; - u8 shape:2; - u8 size:2; - u8 priority:2; - u8 field_1; - u8 xDelta; - s16 x; - s16 y; - const struct SpriteSheet *spriteSheet; - const struct SpritePalette *spritePal; -}; - -bool32 sub_8034C54(u32 count); -void sub_8034CC8(void); -bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2); -void sub_8035044(u32 id, s32 arg1); -void sub_80353DC(u32 id); -void sub_803547C(u32 id, bool32 arg1); -u8 sub_80355F8(u32 shape, u32 size); - -#endif // GUARD_ROM_8034C54_H diff --git a/ld_script.txt b/ld_script.txt index 1c4db64cc..c98eb6442 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -81,7 +81,7 @@ SECTIONS { src/main_menu.o(.text); src/battle_controllers.o(.text); src/decompress.o(.text); - src/rom_8034C54.o(.text); + src/digit_obj_util.o(.text); src/battle_bg.o(.text); src/battle_main.o(.text); src/battle_util.o(.text); @@ -463,7 +463,7 @@ SECTIONS { src/rtc.o(.rodata); src/main_menu.o(.rodata); src/battle_controllers.o(.rodata); - src/rom_8034C54.o(.rodata); + src/digit_obj_util.o(.rodata); src/data.o(.rodata); src/battle_bg.o(.rodata); src/battle_main.o(.rodata); diff --git a/src/battle_bg.c b/src/battle_bg.c index 01d05e68d..00c504bfd 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -691,6 +691,25 @@ static const struct BattleBackground gBattleTerrainTable[] = }, }; +static void sub_8035648(void); + +// Unused +static void sub_8035608(void) +{ + u8 spriteId; + + ResetSpriteData(); + spriteId = CreateSprite(&gUnknown_0831AC88, 0, 0, 0); + gSprites[spriteId].invisible = TRUE; + SetMainCallback2(sub_8035648); +} + +static void sub_8035648(void) +{ + AnimateSprites(); + BuildOamBuffer(); +} + void BattleInitBgsAndWindows(void) { ResetBgsAndClearDma3BusyFlags(0); diff --git a/src/berry_crush.c b/src/berry_crush.c index 542888631..0985fce9a 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -21,7 +21,7 @@ #include "palette.h" #include "pokemon_jump.h" #include "random.h" -#include "rom_8034C54.h" +#include "digit_obj_util.h" #include "save.h" #include "scanline_effect.h" #include "script.h" @@ -714,14 +714,14 @@ static const struct SpriteTemplate gUnknown_082F436C = .callback = SpriteCallbackDummy }; -static const struct UnkStruct3 gUnknown_082F4384[] = +static const struct DigitObjUtilTemplate gUnknown_082F4384[] = { { - .field_0_0 = 1, + .strConvMode = 1, .shape = 2, .size = 0, .priority = 0, - .field_1 = 2, + .oamCount = 2, .xDelta = 8, .x = 156, .y = 0, @@ -729,11 +729,11 @@ static const struct UnkStruct3 gUnknown_082F4384[] = .spritePal = gUnknown_082F422C, }, { - .field_0_0 = 0, + .strConvMode = 0, .shape = 2, .size = 0, .priority = 0, - .field_1 = 2, + .oamCount = 2, .xDelta = 8, .x = 180, .y = 0, @@ -741,11 +741,11 @@ static const struct UnkStruct3 gUnknown_082F4384[] = .spritePal = gUnknown_082F422C, }, { - .field_0_0 = 0, + .strConvMode = 0, .shape = 2, .size = 0, .priority = 0, - .field_1 = 2, + .oamCount = 2, .xDelta = 8, .x = 204, .y = 0, @@ -1036,7 +1036,7 @@ int sub_802104C(void) case 1: CpuFill16(0, (void *)OAM, OAM_SIZE); gReservedSpritePaletteCount = 0; - sub_8034C54(3); + DigitObjUtil_Init(3); break; case 2: ResetPaletteFade(); @@ -1165,7 +1165,7 @@ int sub_802130C(void) case 6: DestroyWirelessStatusIndicatorSprite(); sub_8022960(var0); - sub_8034CC8(); + DigitObjUtil_Free(); break; case 7: var0->unkC = 0; @@ -1701,18 +1701,18 @@ void ShowBerryCrushRankings(void) void sub_8022524(struct BerryCrushGame_138 *r4, u16 r1) { sub_8021944(r4, r1); - sub_8035044(0, r4->unk4); - sub_8035044(1, r4->unk6); - sub_8035044(2, r4->unk8); + DigitObjUtil_PrintNumOn(0, r4->unk4); + DigitObjUtil_PrintNumOn(1, r4->unk6); + DigitObjUtil_PrintNumOn(2, r4->unk8); } void sub_8022554(struct BerryCrushGame_138 *r0) { r0->unk78[0]->invisible = TRUE; r0->unk78[1]->invisible = TRUE; - sub_803547C(2, 1); - sub_803547C(1, 1); - sub_803547C(0, 1); + DigitObjUtil_HideOrShow(2, 1); + DigitObjUtil_HideOrShow(1, 1); + DigitObjUtil_HideOrShow(0, 1); } void sub_8022588(struct BerryCrushGame *r5) @@ -1855,9 +1855,9 @@ void sub_8022730(struct BerryCrushGame *r6) r6->unk138.unk78[r5]->invisible = FALSE; r6->unk138.unk78[r5]->animPaused = FALSE; } - sub_8034D14(0, 0, &gUnknown_082F4384[0]); - sub_8034D14(1, 0, &gUnknown_082F4384[1]); - sub_8034D14(2, 0, &gUnknown_082F4384[2]); + DigitObjUtil_CreatePrinter(0, 0, &gUnknown_082F4384[0]); + DigitObjUtil_CreatePrinter(1, 0, &gUnknown_082F4384[1]); + DigitObjUtil_CreatePrinter(2, 0, &gUnknown_082F4384[2]); if (r6->unk12 == 1) sub_8022554(&r6->unk138); } @@ -1875,9 +1875,9 @@ void sub_8022960(struct BerryCrushGame *r5) FreeSpritePaletteByTag(1); for (; r4 < ARRAY_COUNT(r5->unk138.unk78); ++r4) DestroySprite(r5->unk138.unk78[r4]); - sub_80353DC(2); - sub_80353DC(1); - sub_80353DC(0); + DigitObjUtil_DeletePrinter(2); + DigitObjUtil_DeletePrinter(1); + DigitObjUtil_DeletePrinter(0); for (r4 = 0; r4 < ARRAY_COUNT(r5->unk138.unk4C); ++r4) DestroySprite(r5->unk138.unk4C[r4]); for (r4 = 0; r4 < r5->unk9; ++r4) diff --git a/src/digit_obj_util.c b/src/digit_obj_util.c new file mode 100644 index 000000000..fe5d49e69 --- /dev/null +++ b/src/digit_obj_util.c @@ -0,0 +1,450 @@ +#include "global.h" +#include "digit_obj_util.h" +#include "malloc.h" +#include "decompress.h" +#include "main.h" +#include "battle_main.h" + +struct DigitPrinter +{ + bool8 isActive; + u8 firstOamId; + u8 strConvMode; + u8 oamCount; + u8 palTagIndex; + u8 size; + u8 shape; + u8 priority; + u8 xDelta; + u8 tilesPerImage; + u16 tileStart; + s16 x; + s16 y; + u16 tileTag; + u16 palTag; + u32 pow10; + s32 lastPrinted; +}; + +struct DigitPrinterAlloc +{ + u32 count; + struct DigitPrinter *array; +}; + +// this file's functions +static u8 GetFirstOamId(u8 oamCount);; +static void CopyWorkToOam(struct DigitPrinter *objWork); +static void DrawNumObjsLeadingZeros(struct DigitPrinter *objWork, s32 num, bool32 sign); +static void DrawNumObjsMinusInFront(struct DigitPrinter *objWork, s32 num, bool32 sign); +static void DrawNumObjsMinusInBack(struct DigitPrinter *objWork, s32 num, bool32 sign); +static bool32 SharesTileWithAnyActive(u32 id); +static bool32 SharesPalWithAnyActive(u32 id); + +// ewram +static EWRAM_DATA struct DigitPrinterAlloc *sOamWork = {0}; + +// const rom data +static const u8 sTilesPerImage[4][4] = +{ + [ST_OAM_SQUARE] = { + [ST_OAM_SIZE_0] = 0x01, // SPRITE_SIZE_8x8 + [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_16x16 + [ST_OAM_SIZE_2] = 0x10, // SPRITE_SIZE_32x32 + [ST_OAM_SIZE_3] = 0x40 // SPRITE_SIZE_64x64 + }, + [ST_OAM_H_RECTANGLE] = { + [ST_OAM_SIZE_0] = 0x02, // SPRITE_SIZE_16x8 + [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_32x8 + [ST_OAM_SIZE_2] = 0x08, // SPRITE_SIZE_32x16 + [ST_OAM_SIZE_3] = 0x20 // SPRITE_SIZE_64x32 + }, + [ST_OAM_V_RECTANGLE] = { + [ST_OAM_SIZE_0] = 0x02, // SPRITE_SIZE_8x16 + [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_8x32 + [ST_OAM_SIZE_2] = 0x08, // SPRITE_SIZE_16x32 + [ST_OAM_SIZE_3] = 0x20 // SPRITE_SIZE_32x64 + } +}; + +// code +bool32 DigitObjUtil_Init(u32 count) +{ + u32 i; + + if (sOamWork != NULL) + DigitObjUtil_Free(); + + sOamWork = Alloc(sizeof(*sOamWork)); + if (sOamWork == NULL) + return FALSE; + + sOamWork->array = Alloc(sizeof(struct DigitPrinter) * count); + if (sOamWork->array == NULL) + { + Free(sOamWork); + return FALSE; + } + + sOamWork->count = count; + for (i = 0; i < count; i++) + { + sOamWork->array[i].isActive = FALSE; + sOamWork->array[i].firstOamId = 0xFF; + } + + return TRUE; +} + +void DigitObjUtil_Free(void) +{ + if (sOamWork != NULL) + { + if (sOamWork->array != NULL) + { + u32 i; + + for (i = 0; i < sOamWork->count; i++) + DigitObjUtil_DeletePrinter(i); + + Free(sOamWork->array); + } + + FREE_AND_SET_NULL(sOamWork); + } +} + +bool32 DigitObjUtil_CreatePrinter(u32 id, s32 num, const struct DigitObjUtilTemplate *template) +{ + u32 i; + + if (sOamWork == NULL) + return FALSE; + if (sOamWork->array[id].isActive) + return FALSE; + + sOamWork->array[id].firstOamId = GetFirstOamId(template->oamCount); + if (sOamWork->array[id].firstOamId == 0xFF) + return FALSE; + + sOamWork->array[id].tileStart = GetSpriteTileStartByTag(template->spriteSheet->tag); + if (sOamWork->array[id].tileStart == 0xFFFF) + { + if (template->spriteSheet->size != 0) + { + sOamWork->array[id].tileStart = LoadSpriteSheet(template->spriteSheet); + } + else + { + struct CompressedSpriteSheet compSpriteSheet; + + compSpriteSheet = *(struct CompressedSpriteSheet*)(template->spriteSheet); + compSpriteSheet.size = GetDecompressedDataSize(template->spriteSheet->data); + sOamWork->array[id].tileStart = LoadCompressedSpriteSheet(&compSpriteSheet); + } + + if (sOamWork->array[id].tileStart == 0xFFFF) + return FALSE; + } + + sOamWork->array[id].palTagIndex = IndexOfSpritePaletteTag(template->spritePal->tag); + if (sOamWork->array[id].palTagIndex == 0xFF) + sOamWork->array[id].palTagIndex = LoadSpritePalette(template->spritePal); + + sOamWork->array[id].strConvMode = template->strConvMode; + sOamWork->array[id].oamCount = template->oamCount; + sOamWork->array[id].x = template->x; + sOamWork->array[id].y = template->y; + sOamWork->array[id].shape = template->shape; + sOamWork->array[id].size = template->size; + sOamWork->array[id].priority = template->priority; + sOamWork->array[id].xDelta = template->xDelta; + sOamWork->array[id].tilesPerImage = GetTilesPerImage(template->shape, template->size); + sOamWork->array[id].tileTag = template->spriteSheet->tag; + sOamWork->array[id].palTag = template->spritePal->tag; + sOamWork->array[id].isActive = TRUE; + + // Decimal left shift + sOamWork->array[id].pow10 = 1; + for (i = 1; i < template->oamCount; i++) + sOamWork->array[id].pow10 *= 10; + + CopyWorkToOam(&sOamWork->array[id]); + DigitObjUtil_PrintNumOn(id, num); + + return TRUE; +} + +static void CopyWorkToOam(struct DigitPrinter *objWork) +{ + u32 i; + u32 oamId = objWork->firstOamId; + u32 x = objWork->x; + u32 oamCount = objWork->oamCount + 1; + + CpuFill16(0, &gMain.oamBuffer[oamId], sizeof(struct OamData) * oamCount); + for (i = 0, oamId = objWork->firstOamId; i < oamCount; i++, oamId++) + { + gMain.oamBuffer[oamId].y = objWork->y; + gMain.oamBuffer[oamId].x = x; + gMain.oamBuffer[oamId].shape = objWork->shape; + gMain.oamBuffer[oamId].size = objWork->size; + gMain.oamBuffer[oamId].tileNum = objWork->tileStart; + gMain.oamBuffer[oamId].priority = objWork->priority; + gMain.oamBuffer[oamId].paletteNum = objWork->palTagIndex; + + x += objWork->xDelta; + } + + oamId--; + gMain.oamBuffer[oamId].x = objWork->x - objWork->xDelta; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + gMain.oamBuffer[oamId].tileNum = objWork->tileStart + (objWork->tilesPerImage * 10); +} + +void DigitObjUtil_PrintNumOn(u32 id, s32 num) +{ + bool32 sign; + + if (sOamWork == NULL) + return; + if (!sOamWork->array[id].isActive) + return; + + sOamWork->array[id].lastPrinted = num; + if (num < 0) + { + sign = TRUE; + num *= -1; + } + else + { + sign = FALSE; + } + + switch (sOamWork->array[id].strConvMode) + { + case 0: + default: + DrawNumObjsLeadingZeros(&sOamWork->array[id], num, sign); + break; + case 1: + DrawNumObjsMinusInFront(&sOamWork->array[id], num, sign); + break; + case 2: + DrawNumObjsMinusInBack(&sOamWork->array[id], num, sign); + break; + } +} + +static void DrawNumObjsLeadingZeros(struct DigitPrinter *objWork, s32 num, bool32 sign) +{ + u32 pow10 = objWork->pow10; + u32 oamId = objWork->firstOamId; + + while (pow10 != 0) + { + u32 digit = num / pow10; + num -= (digit * pow10); + pow10 /= 10; + + gMain.oamBuffer[oamId].tileNum = (digit * objWork->tilesPerImage) + objWork->tileStart; + oamId++; + } + + if (sign) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + else + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; +} + +static void DrawNumObjsMinusInFront(struct DigitPrinter *objWork, s32 num, bool32 sign) +{ + u32 pow10 = objWork->pow10; + static int oamId; + static int curDigit; + static int firstDigit; + + oamId = objWork->firstOamId; + curDigit = 0; + firstDigit = -1; + + while (pow10 != 0) + { + u32 digit = num / pow10; + num -= (digit * pow10); + pow10 /= 10; + + if (digit != 0 || firstDigit != -1 || pow10 == 0) + { + gMain.oamBuffer[oamId].tileNum = (digit * objWork->tilesPerImage) + objWork->tileStart; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + + if (firstDigit == -1) + firstDigit = curDigit; + } + else + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + } + + oamId++; + curDigit++; + } + + if (sign) + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + gMain.oamBuffer[oamId].x = objWork->x + ((firstDigit - 1) * objWork->xDelta); + } + else + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + } +} + +static void DrawNumObjsMinusInBack(struct DigitPrinter *objWork, s32 num, bool32 sign) +{ + u32 pow10 = objWork->pow10; + u32 oamId = objWork->firstOamId; + bool32 printingDigits = FALSE; + s32 nsprites = 0; + + while (pow10 != 0) + { + u32 digit = num / pow10; + num -= (digit * pow10); + pow10 /= 10; + + if (digit != 0 || printingDigits || pow10 == 0) + { + printingDigits = TRUE; + gMain.oamBuffer[oamId].tileNum = (digit * objWork->tilesPerImage) + objWork->tileStart; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + + oamId++; + nsprites++; + } + } + + while (nsprites < objWork->oamCount) + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + oamId++; + nsprites++; + } + + if (sign) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + else + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; +} + +void DigitObjUtil_DeletePrinter(u32 id) +{ + s32 oamId, oamCount, i; + + if (sOamWork == NULL) + return; + if (!sOamWork->array[id].isActive) + return; + + oamCount = sOamWork->array[id].oamCount + 1; + oamId = sOamWork->array[id].firstOamId; + + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + + if (!SharesTileWithAnyActive(id)) + FreeSpriteTilesByTag(sOamWork->array[id].tileTag); + if (!SharesPalWithAnyActive(id)) + FreeSpritePaletteByTag(sOamWork->array[id].palTag); + + sOamWork->array[id].isActive = FALSE; +} + +void DigitObjUtil_HideOrShow(u32 id, bool32 hide) +{ + s32 oamId, oamCount, i; + + if (sOamWork == NULL) + return; + if (!sOamWork->array[id].isActive) + return; + + oamCount = sOamWork->array[id].oamCount + 1; + oamId = sOamWork->array[id].firstOamId; + if (hide) + { + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + } + else + { + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + + DigitObjUtil_PrintNumOn(id, sOamWork->array[id].lastPrinted); + } +} + +static u8 GetFirstOamId(u8 oamCount) +{ + u32 i; + u16 firstOamId = 64; + + for (i = 0; i < sOamWork->count; i++) + { + if (!sOamWork->array[i].isActive) + { + if (sOamWork->array[i].firstOamId != 0xFF && sOamWork->array[i].oamCount <= oamCount) + return sOamWork->array[i].firstOamId; + } + else + { + firstOamId += 1 + sOamWork->array[i].oamCount; + } + } + + if (firstOamId + oamCount + 1 > 128) + return 0xFF; + else + return firstOamId; +} + +static bool32 SharesTileWithAnyActive(u32 id) +{ + u32 i; + + for (i = 0; i < sOamWork->count; i++) + { + if (sOamWork->array[i].isActive && i != id + && sOamWork->array[i].tileTag == sOamWork->array[id].tileTag) + { + return TRUE; + } + } + + return FALSE; +} + +static bool32 SharesPalWithAnyActive(u32 id) +{ + u32 i; + + for (i = 0; i < sOamWork->count; i++) + { + if (sOamWork->array[i].isActive && i != id + && sOamWork->array[i].palTag == sOamWork->array[id].palTag) + { + return TRUE; + } + } + + return FALSE; +} + +u8 GetTilesPerImage(u32 shape, u32 size) +{ + return sTilesPerImage[shape][size]; +} diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 6c76b15a6..51520cae8 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -14,7 +14,7 @@ #include "menu.h" #include "palette.h" #include "random.h" -#include "rom_8034C54.h" +#include "digit_obj_util.h" #include "save.h" #include "script.h" #include "sound.h" @@ -2831,7 +2831,7 @@ static void sub_802D074(struct PokemonJump2 *arg0) static void sub_802D0AC(void) { FreeAllWindowBuffers(); - sub_8034CC8(); + DigitObjUtil_Free(); } static void sub_802D0BC(struct PokemonJump2 *arg0) @@ -3515,37 +3515,37 @@ static int sub_802DCCC(u8 flags) static void sub_802DD08(void) { - struct UnkStruct3 unkStruct; - struct UnkStruct3 *ptr = &unkStruct; // This temp variable is needed to match, don't ask me why. + struct DigitObjUtilTemplate template; + struct DigitObjUtilTemplate *ptr = &template; // This temp variable is needed to match, don't ask me why. ptr->shape = SPRITE_SHAPE(8x8); ptr->size = SPRITE_SIZE(8x8); - ptr->field_0_0 = 0; + ptr->strConvMode = 0; ptr->priority = 1; - ptr->field_1 = 5; + ptr->oamCount = 5; ptr->xDelta = 8; ptr->x = 108; ptr->y = 6; ptr->spriteSheet = (void*) &gUnknown_082FE1EC; ptr->spritePal = &gUnknown_082FE1F4; - sub_8034C54(2); - sub_8034D14(0, 0, ptr); + DigitObjUtil_Init(2); + DigitObjUtil_CreatePrinter(0, 0, ptr); - unkStruct.field_1 = 4; - unkStruct.x = 30; - unkStruct.y = 6; - sub_8034D14(1, 0, &unkStruct); + template.oamCount = 4; + template.x = 30; + template.y = 6; + DigitObjUtil_CreatePrinter(1, 0, &template); } static void sub_802DD64(int arg0) { - sub_8035044(0, arg0); + DigitObjUtil_PrintNumOn(0, arg0); } static void sub_802DD74(u16 arg0) { - sub_8035044(1, arg0); + DigitObjUtil_PrintNumOn(1, arg0); } static void sub_802DD88(u8 multiplayerId) diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c deleted file mode 100644 index 029696526..000000000 --- a/src/rom_8034C54.c +++ /dev/null @@ -1,453 +0,0 @@ -#include "global.h" -#include "rom_8034C54.h" -#include "malloc.h" -#include "decompress.h" -#include "main.h" -#include "battle_main.h" - -struct UnkStruct2 -{ - bool8 isActive; - u8 firstOamId; - u8 field_2; - u8 oamCount; - u8 palTagIndex; - u8 size; - u8 shape; - u8 priority; - u8 xDelta; - u8 field_9; - u16 tileStart; - s16 x; - s16 y; - u16 tileTag; - u16 palTag; - u32 field_14; - s32 field_18; -}; - -struct UnkStruct1 -{ - u32 count; - struct UnkStruct2 *array; -}; - -// this file's functions -static u8 sub_8035518(u8 arg0);; -static void sub_8034EFC(struct UnkStruct2 *arg0); -static void sub_80350B0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); -static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); -static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); -static bool32 SharesTileWithAnyActive(u32 id); -static bool32 SharesPalWithAnyActive(u32 id); -static void sub_8035648(void); - -// iwram -static s32 gUnknown_03000DD4; -static s32 gUnknown_03000DD8; -static s32 gUnknown_03000DDC; - -// ewram -static EWRAM_DATA struct UnkStruct1 *gUnknown_02022E10 = {0}; - -// const rom data -static const u8 gUnknown_082FF1C8[][4] = -{ - {0x01, 0x04, 0x10, 0x40}, - {0x02, 0x04, 0x08, 0x20}, - {0x02, 0x04, 0x08, 0x20}, - {0x00, 0x00, 0x00, 0x00} -}; - -// code -bool32 sub_8034C54(u32 count) -{ - u32 i; - - if (gUnknown_02022E10 != NULL) - sub_8034CC8(); - - gUnknown_02022E10 = Alloc(sizeof(*gUnknown_02022E10)); - if (gUnknown_02022E10 == NULL) - return FALSE; - - gUnknown_02022E10->array = Alloc(sizeof(struct UnkStruct2) * count); - if (gUnknown_02022E10->array == NULL) - { - Free(gUnknown_02022E10); - return FALSE; - } - - gUnknown_02022E10->count = count; - for (i = 0; i < count; i++) - { - gUnknown_02022E10->array[i].isActive = FALSE; - gUnknown_02022E10->array[i].firstOamId = 0xFF; - } - - return TRUE; -} - -void sub_8034CC8(void) -{ - if (gUnknown_02022E10 != NULL) - { - if (gUnknown_02022E10->array != NULL) - { - u32 i; - - for (i = 0; i < gUnknown_02022E10->count; i++) - sub_80353DC(i); - - Free(gUnknown_02022E10->array); - } - - FREE_AND_SET_NULL(gUnknown_02022E10); - } -} - -bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2) -{ - u32 i; - - if (gUnknown_02022E10 == NULL) - return FALSE; - if (gUnknown_02022E10->array[id].isActive) - return FALSE; - - gUnknown_02022E10->array[id].firstOamId = sub_8035518(arg2->field_1); - if (gUnknown_02022E10->array[id].firstOamId == 0xFF) - return FALSE; - - gUnknown_02022E10->array[id].tileStart = GetSpriteTileStartByTag(arg2->spriteSheet->tag); - if (gUnknown_02022E10->array[id].tileStart == 0xFFFF) - { - if (arg2->spriteSheet->size != 0) - { - gUnknown_02022E10->array[id].tileStart = LoadSpriteSheet(arg2->spriteSheet); - } - else - { - struct CompressedSpriteSheet compSpriteSheet; - - compSpriteSheet = *(struct CompressedSpriteSheet*)(arg2->spriteSheet); - compSpriteSheet.size = GetDecompressedDataSize(arg2->spriteSheet->data); - gUnknown_02022E10->array[id].tileStart = LoadCompressedSpriteSheet(&compSpriteSheet); - } - - if (gUnknown_02022E10->array[id].tileStart == 0xFFFF) - return FALSE; - } - - gUnknown_02022E10->array[id].palTagIndex = IndexOfSpritePaletteTag(arg2->spritePal->tag); - if (gUnknown_02022E10->array[id].palTagIndex == 0xFF) - gUnknown_02022E10->array[id].palTagIndex = LoadSpritePalette(arg2->spritePal); - - gUnknown_02022E10->array[id].field_2 = arg2->field_0_0; - gUnknown_02022E10->array[id].oamCount = arg2->field_1; - gUnknown_02022E10->array[id].x = arg2->x; - gUnknown_02022E10->array[id].y = arg2->y; - gUnknown_02022E10->array[id].shape = arg2->shape; - gUnknown_02022E10->array[id].size = arg2->size; - gUnknown_02022E10->array[id].priority = arg2->priority; - gUnknown_02022E10->array[id].xDelta = arg2->xDelta; - gUnknown_02022E10->array[id].field_9 = sub_80355F8(arg2->shape, arg2->size); - gUnknown_02022E10->array[id].tileTag = arg2->spriteSheet->tag; - gUnknown_02022E10->array[id].palTag = arg2->spritePal->tag; - gUnknown_02022E10->array[id].isActive = TRUE; - gUnknown_02022E10->array[id].field_14 = 1; - - for (i = 1; i < arg2->field_1; i++) - gUnknown_02022E10->array[id].field_14 *= 10; - - sub_8034EFC(&gUnknown_02022E10->array[id]); - sub_8035044(id, arg1); - - return TRUE; -} - -static void sub_8034EFC(struct UnkStruct2 *arg0) -{ - u32 i; - u32 oamId = arg0->firstOamId; - u32 x = arg0->x; - u32 oamCount = arg0->oamCount + 1; - - CpuFill16(0, &gMain.oamBuffer[oamId], sizeof(struct OamData) * oamCount); - for (i = 0, oamId = arg0->firstOamId; i < oamCount; i++, oamId++) - { - gMain.oamBuffer[oamId].y = arg0->y; - gMain.oamBuffer[oamId].x = x; - gMain.oamBuffer[oamId].shape = arg0->shape; - gMain.oamBuffer[oamId].size = arg0->size; - gMain.oamBuffer[oamId].tileNum = arg0->tileStart; - gMain.oamBuffer[oamId].priority = arg0->priority; - gMain.oamBuffer[oamId].paletteNum = arg0->palTagIndex; - - x += arg0->xDelta; - } - - oamId--; - gMain.oamBuffer[oamId].x = arg0->x - arg0->xDelta; - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; - gMain.oamBuffer[oamId].tileNum = arg0->tileStart + (arg0->field_9 * 10); -} - -void sub_8035044(u32 id, s32 arg1) -{ - bool32 r2; - - if (gUnknown_02022E10 == NULL) - return; - if (!gUnknown_02022E10->array[id].isActive) - return; - - gUnknown_02022E10->array[id].field_18 = arg1; - if (arg1 < 0) - { - r2 = TRUE; - arg1 *= -1; - } - else - { - r2 = FALSE; - } - - switch (gUnknown_02022E10->array[id].field_2) - { - case 0: - default: - sub_80350B0(&gUnknown_02022E10->array[id], arg1, r2); - break; - case 1: - sub_8035164(&gUnknown_02022E10->array[id], arg1, r2); - break; - case 2: - sub_80352C0(&gUnknown_02022E10->array[id], arg1, r2); - break; - } -} - -static void sub_80350B0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) -{ - u32 r5 = arg0->field_14; - u32 oamId = arg0->firstOamId; - - while (r5 != 0) - { - u32 r4 = arg1 / r5; - arg1 -= (r4 * r5); - r5 /= 10; - - gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - oamId++; - } - - if (arg2) - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; - else - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; -} - -static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) -{ - u32 r5 = arg0->field_14; - gUnknown_03000DD4 = arg0->firstOamId; - gUnknown_03000DD8 = 0; - gUnknown_03000DDC = -1; - - while (r5 != 0) - { - u32 r4 = arg1 / r5; - arg1 -= (r4 * r5); - r5 /= 10; - - if (r4 != 0 || gUnknown_03000DDC != -1 || r5 == 0) - { - gMain.oamBuffer[gUnknown_03000DD4].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_OFF; - - if (gUnknown_03000DDC == -1) - gUnknown_03000DDC = gUnknown_03000DD8; - } - else - { - gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_ERASE; - } - - gUnknown_03000DD4++; - gUnknown_03000DD8++; - } - - if (arg2) - { - gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_OFF; - gMain.oamBuffer[gUnknown_03000DD4].x = arg0->x + ((gUnknown_03000DDC - 1) * arg0->xDelta); - } - else - { - gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_ERASE; - } -} - -static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) -{ - u32 r5 = arg0->field_14; - u32 oamId = arg0->firstOamId; - u32 var_28 = 0; - s32 r9 = 0; - - while (r5 != 0) - { - u32 r4 = arg1 / r5; - arg1 -= (r4 * r5); - r5 /= 10; - - if (r4 != 0 || var_28 != 0 || r5 == 0) - { - var_28 = 1; - gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; - - oamId++; - r9++; - } - } - - while (r9 < arg0->oamCount) - { - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; - oamId++; - r9++; - } - - if (arg2) - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; - else - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; -} - -void sub_80353DC(u32 id) -{ - s32 oamId, oamCount, i; - - if (gUnknown_02022E10 == NULL) - return; - if (!gUnknown_02022E10->array[id].isActive) - return; - - oamCount = gUnknown_02022E10->array[id].oamCount + 1; - oamId = gUnknown_02022E10->array[id].firstOamId; - - for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; - - if (!SharesTileWithAnyActive(id)) - FreeSpriteTilesByTag(gUnknown_02022E10->array[id].tileTag); - if (!SharesPalWithAnyActive(id)) - FreeSpritePaletteByTag(gUnknown_02022E10->array[id].palTag); - - gUnknown_02022E10->array[id].isActive = FALSE; -} - -void sub_803547C(u32 id, bool32 arg1) -{ - s32 oamId, oamCount, i; - - if (gUnknown_02022E10 == NULL) - return; - if (!gUnknown_02022E10->array[id].isActive) - return; - - oamCount = gUnknown_02022E10->array[id].oamCount + 1; - oamId = gUnknown_02022E10->array[id].firstOamId; - if (arg1) - { - for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; - } - else - { - for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; - - sub_8035044(id, gUnknown_02022E10->array[id].field_18); - } -} - -static u8 sub_8035518(u8 arg0) -{ - u32 i; - u16 oamCount = 64; - - for (i = 0; i < gUnknown_02022E10->count; i++) - { - if (!gUnknown_02022E10->array[i].isActive) - { - if (gUnknown_02022E10->array[i].firstOamId != 0xFF && gUnknown_02022E10->array[i].oamCount <= arg0) - return gUnknown_02022E10->array[i].firstOamId; - } - else - { - oamCount += 1 + gUnknown_02022E10->array[i].oamCount; - } - } - - if (oamCount + arg0 + 1 > 128) - return 0xFF; - else - return oamCount; -} - -static bool32 SharesTileWithAnyActive(u32 id) -{ - u32 i; - - for (i = 0; i < gUnknown_02022E10->count; i++) - { - if (gUnknown_02022E10->array[i].isActive && i != id - && gUnknown_02022E10->array[i].tileTag == gUnknown_02022E10->array[id].tileTag) - { - return TRUE; - } - } - - return FALSE; -} - -static bool32 SharesPalWithAnyActive(u32 id) -{ - u32 i; - - for (i = 0; i < gUnknown_02022E10->count; i++) - { - if (gUnknown_02022E10->array[i].isActive && i != id - && gUnknown_02022E10->array[i].palTag == gUnknown_02022E10->array[id].palTag) - { - return TRUE; - } - } - - return FALSE; -} - -u8 sub_80355F8(u32 shape, u32 size) -{ - return gUnknown_082FF1C8[shape][size]; -} - -static void sub_8035608(void) -{ - u8 spriteId; - - ResetSpriteData(); - spriteId = CreateSprite(&gUnknown_0831AC88, 0, 0, 0); - gSprites[spriteId].invisible = TRUE; - SetMainCallback2(sub_8035648); -} - -static void sub_8035648(void) -{ - AnimateSprites(); - BuildOamBuffer(); -} diff --git a/src/rom_81520A8.c b/src/rom_81520A8.c index f6d14d49c..8b10d44d0 100644 --- a/src/rom_81520A8.c +++ b/src/rom_81520A8.c @@ -2,7 +2,7 @@ #include "rom_81520A8.h" #include "malloc.h" #include "main.h" -#include "rom_8034C54.h" +#include "digit_obj_util.h" static EWRAM_DATA struct { @@ -138,7 +138,7 @@ static bool32 sub_81523F4(struct UnkStruct_81520A8 *structPtr, u8 arg1) return FALSE; structPtr->unk18 = arg1; - structPtr->tileNum = (sub_80355F8(structPtr->oam.shape, structPtr->oam.size) * arg1) + tileStart; + structPtr->tileNum = (GetTilesPerImage(structPtr->oam.shape, structPtr->oam.size) * arg1) + tileStart; return TRUE; } diff --git a/sym_bss.txt b/sym_bss.txt index 1c58146f6..aad8c8f14 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -14,7 +14,7 @@ .include "src/dodrio_berry_picking.o" .include "src/rtc.o" .include "src/main_menu.o" - .include "src/rom_8034C54.o" + .include "src/digit_obj_util.o" .include "src/egg_hatch.o" .include "src/berry_blender.o" .include "src/play_time.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index c5cb123c5..d00f7953c 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -23,7 +23,7 @@ .include "src/pokemon_jump.o" .include "src/main_menu.o" .include "src/battle_controllers.o" - .include "src/rom_8034C54.o" + .include "src/digit_obj_util.o" .include "src/battle_main.o" .include "src/pokemon.o" .include "src/random.o" From e485857df303cde99b16e717132945631cbdcade Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 8 Apr 2020 17:23:32 -0400 Subject: [PATCH 05/19] Sync minigame_countdown --- .../{pkmnjump_321start2.png => 321start.png} | Bin ...{pkmnjump_321start1.png => 321start_2.png} | Bin include/minigame_countdown.h | 7 + include/pokemon_jump.h | 2 - ld_script.txt | 2 + src/berry_crush.c | 6 +- src/dodrio_berry_picking.c | 6 +- src/minigame_countdown.c | 636 ++++++++++++++++++ src/pokemon_jump.c | 626 +---------------- 9 files changed, 654 insertions(+), 631 deletions(-) rename graphics/link_games/{pkmnjump_321start2.png => 321start.png} (100%) rename graphics/link_games/{pkmnjump_321start1.png => 321start_2.png} (100%) create mode 100644 include/minigame_countdown.h create mode 100644 src/minigame_countdown.c diff --git a/graphics/link_games/pkmnjump_321start2.png b/graphics/link_games/321start.png similarity index 100% rename from graphics/link_games/pkmnjump_321start2.png rename to graphics/link_games/321start.png diff --git a/graphics/link_games/pkmnjump_321start1.png b/graphics/link_games/321start_2.png similarity index 100% rename from graphics/link_games/pkmnjump_321start1.png rename to graphics/link_games/321start_2.png diff --git a/include/minigame_countdown.h b/include/minigame_countdown.h new file mode 100644 index 000000000..930205218 --- /dev/null +++ b/include/minigame_countdown.h @@ -0,0 +1,7 @@ +#ifndef GUARD_MINIGAME_COUNTDOWN_H +#define GUARD_MINIGAME_COUNTDOWN_H + +void StartMinigameCountdown(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority); +bool32 IsMinigameCountdownRunning(void); + +#endif //GUARD_MINIGAME_COUNTDOWN_H diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index dde59aac5..9cf65212f 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -8,7 +8,5 @@ bool32 IsSpeciesAllowedInPokemonJump(u16 species); void IsPokemonJumpSpeciesInParty(void); void ResetPokeJumpResults(void); void ShowPokemonJumpRecords(void); -void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority); -bool32 sub_802EB84(void); #endif // GUARD_POKEMON_JUMP_H diff --git a/ld_script.txt b/ld_script.txt index c98eb6442..74d9f6ae6 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -77,6 +77,7 @@ SECTIONS { src/berry_powder.o(.text); src/dodrio_berry_picking.o(.text); src/pokemon_jump.o(.text); + src/minigame_countdown.o(.text); src/rtc.o(.text); src/main_menu.o(.text); src/battle_controllers.o(.text); @@ -460,6 +461,7 @@ SECTIONS { src/berry_powder.o(.rodata); src/dodrio_berry_picking.o(.rodata); src/pokemon_jump.o(.rodata); + src/minigame_countdown.o(.rodata); src/rtc.o(.rodata); src/main_menu.o(.rodata); src/battle_controllers.o(.rodata); diff --git a/src/berry_crush.c b/src/berry_crush.c index 0985fce9a..a67d1548e 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -19,7 +19,7 @@ #include "menu.h" #include "overworld.h" #include "palette.h" -#include "pokemon_jump.h" +#include "minigame_countdown.h" #include "random.h" #include "digit_obj_util.h" #include "save.h" @@ -2317,10 +2317,10 @@ static u32 sub_80232EC(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r case 1: if (!IsLinkTaskFinished()) return 0; - sub_802EB24(0x1000, 0x1000, 120, 80, 0); + StartMinigameCountdown(0x1000, 0x1000, 120, 80, 0); break; case 2: - if (sub_802EB84()) + if (IsMinigameCountdownRunning()) return 0; // fallthrough case 0: diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 40074e0af..936c1828f 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -12,7 +12,7 @@ #include "m4a.h" #include "main.h" #include "palette.h" -#include "pokemon_jump.h" +#include "minigame_countdown.h" #include "random.h" #include "save.h" #include "script.h" @@ -667,7 +667,7 @@ static void sub_8024E38(void) switch (gUnknown_02022C98->unk10) { case 0: - sub_802EB24(7, 8, 120, 80, 0); + StartMinigameCountdown(7, 8, 120, 80, 0); gUnknown_02022C98->unk10++; break; case 1: @@ -682,7 +682,7 @@ static void sub_8024E38(void) } break; case 3: - if (!sub_802EB84()) + if (!IsMinigameCountdownRunning()) { gUnknown_02022C98->unk10++; } diff --git a/src/minigame_countdown.c b/src/minigame_countdown.c new file mode 100644 index 000000000..be1c42e29 --- /dev/null +++ b/src/minigame_countdown.c @@ -0,0 +1,636 @@ +#include "global.h" +#include "decompress.h" +#include "link.h" +#include "link_rfu.h" +#include "sound.h" +#include "task.h" +#include "trig.h" +#include "constants/songs.h" + +extern const struct OamData gOamData_AffineOff_ObjNormal_32x32; + +static void sub_802E6D0(u8 taskId); +static void sub_802E83C(u8 taskId); +static void sub_802E8C8(u8 taskId); +static void sub_802EA50(u8 taskId); +static void sub_802EAB0(u8 taskId); +static void sub_802EB98(u8 taskId); +static void Task_MinigameCountdown(u8 taskId); +static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId); +static bool32 IsStartGraphicAnimRunning(u8 spriteId); +static void Load321StartGfx(u16 tileTag, u16 palTag); +static u8 CreateNumberSprite(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority); +static void CreateStartSprite(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 *spriteId1, s16 *spriteId2); +static void InitStartGraphic(u8 spriteId1, u8 spriteId2, u8 spriteId3); +static void SpriteCB_Start(struct Sprite *sprite); + +static const u16 sSpritePal_321Start_2[] = INCBIN_U16("graphics/link_games/321start_2.gbapal"); +static const u32 sSpriteSheet_321Start_2[] = INCBIN_U32("graphics/link_games/321start_2.4bpp.lz"); + +static const struct CompressedSpriteSheet gUnknown_082FE6C8[] = +{ + {sSpriteSheet_321Start_2, 0xC00, 0x2000}, + {}, +}; + +static const struct SpritePalette gUnknown_082FE6D8[] = +{ + {sSpritePal_321Start_2, 0x2000}, + {}, +}; + +static const union AnimCmd sSpriteAnim_82FE6E8[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82FE6F0[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82FE6F8[] = +{ + ANIMCMD_FRAME(32, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82FE700[] = +{ + ANIMCMD_FRAME(64, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82FE708[] = +{ + ANIMCMD_FRAME(48, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82FE710[] = +{ + ANIMCMD_FRAME(80, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_82FE718[] = +{ + sSpriteAnim_82FE6E8, + sSpriteAnim_82FE6F0, + sSpriteAnim_82FE6F8, + sSpriteAnim_82FE700, + sSpriteAnim_82FE708, + sSpriteAnim_82FE710 +}; + +static const struct SpriteTemplate gUnknown_082FE730[] = +{ + { + .tileTag = 0x2000, + .paletteTag = 0x2000, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = sSpriteAnimTable_82FE718, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, +}; + +static const TaskFunc gUnknown_082FE748[][4] = +{ + { + sub_802E83C, + sub_802E8C8, + sub_802EA50, + sub_802EAB0 + }, +}; + +static const u16 sSpritePal_321Start[] = INCBIN_U16("graphics/link_games/321start.gbapal"); +static const u32 sSpriteSheet_321Start[] = INCBIN_U32("graphics/link_games/321start.4bpp.lz"); + +// Unused +static u32 sub_802E63C(u8 funcSetId, u8 taskPriority) +{ + u8 taskId = CreateTask(sub_802E6D0, taskPriority); + struct Task *task = &gTasks[taskId]; + + task->data[0] = 1; + task->data[1] = funcSetId; + gUnknown_082FE748[funcSetId][0](taskId); + return taskId; +} + +static bool32 sub_802E688(void) +{ + u8 taskId = FindTaskIdByFunc(sub_802E6D0); + if (taskId == 0xFF) + return FALSE; + + gTasks[taskId].data[0] = 2; + return TRUE; +} + +static bool32 sub_802E6BC(void) +{ + return FuncIsActiveTask(sub_802E6D0); +} + +static void sub_802E6D0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 2: + gUnknown_082FE748[data[1]][2](taskId); + data[0] = 3; + break; + case 3: + gUnknown_082FE748[data[1]][3](taskId); + break; + case 4: + gUnknown_082FE748[data[1]][1](taskId); + DestroyTask(taskId); + break; + } +} + +static void sub_802E75C(u8 taskId, s16 *data) +{ + u8 i; + struct Sprite *sprite; + + LoadCompressedSpriteSheet(&gUnknown_082FE6C8[data[3]]); + LoadSpritePalette(&gUnknown_082FE6D8[data[4]]); + for (i = 0; i < data[8]; i++) + data[13 + i] = CreateSprite(&gUnknown_082FE730[data[2]], data[9], data[10], data[7]); + for (i = 0; i < data[8]; i++) + { + sprite = &gSprites[data[13 + i]]; + sprite->oam.priority = data[6]; + sprite->invisible = TRUE; + sprite->data[1] = data[5]; + sprite->data[3] = taskId; + sprite->data[4] = i; + sprite->data[5] = data[13]; + } +} + +static void sub_802E83C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[2] = 0; + data[3] = 0; + data[4] = 0; + data[5] = 60; + data[6] = 0; + data[7] = 0; + data[8] = 3; + data[9] = 120; + data[10] = 88; + sub_802E75C(taskId, data); + + StartSpriteAnim(&gSprites[data[14]], 4); + gSprites[data[14]].pos2.x = -32; + + StartSpriteAnim(&gSprites[data[15]], 5); + gSprites[data[15]].pos2.x = 32; +} + +static void sub_802E8C8(u8 taskId) +{ + u8 i = 0; + s16 *data = gTasks[taskId].data; + + for (i = 0; i < data[8]; i++) + DestroySprite(&gSprites[data[13 + i]]); + FreeSpriteTilesByTag(gUnknown_082FE6C8[data[3]].tag); + FreeSpritePaletteByTag(gUnknown_082FE6D8[data[4]].tag); +} + +static void sub_802E938(struct Sprite *sprite) +{ + s16 *data = gTasks[sprite->data[3]].data; + + if (data[11] % data[5] != 0) + return; + if (data[11] == data[10]) + return; + + data[10] = data[11]; + switch (sprite->data[2]) + { + case 0: + sprite->invisible = FALSE; + case 1: + case 2: + PlaySE(SE_KON); + StartSpriteAnim(sprite, sprite->data[2]); + break; + case 3: + PlaySE(SE_PIN); + StartSpriteAnim(sprite, sprite->data[2]); + gSprites[data[14]].invisible = FALSE; + gSprites[data[15]].invisible = FALSE; + break; + case 4: + sprite->invisible = TRUE; + gSprites[data[14]].invisible = TRUE; + gSprites[data[15]].invisible = TRUE; + data[0] = 4; + return; + } + sprite->data[2]++; +} + +static void sub_802EA50(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + PlaySE(SE_KON); + gSprites[data[13]].callback = sub_802E938; + gSprites[data[13]].invisible = FALSE; + gTasks[taskId].data[0] = 3; +} + +static void sub_802EAB0(u8 taskId) +{ + u16 packet[6]; + s16 *data = gTasks[taskId].data; + + if (gReceivedRemoteLinkPlayers != 0) + { + if (gRecvCmds[0][1] == 0x7FFF) + data[11] = gRecvCmds[0][2]; + if (GetMultiplayerId() == 0) + { + data[12]++; + memset(packet, 0, sizeof(packet)); + packet[0] = 0x7FFF; + packet[1] = data[12]; + sub_800FE50(packet); + } + } + else + { + data[11]++; + } +} + +#define tState data[0] +#define tTilesTag data[2] +#define tPalTag data[3] +#define tX data[4] +#define tY data[5] +#define tSubpriority data[6] +#define tSpriteId1 data[7] +#define tSpriteId2 data[8] +#define tSpriteId3 data[9] + +void StartMinigameCountdown(s16 tilesTag, s16 palTag, s16 x, s16 y, u8 subpriority) +{ + u8 taskId = CreateTask(Task_MinigameCountdown, 80); + gTasks[taskId].tTilesTag = tilesTag; + gTasks[taskId].tPalTag = palTag; + gTasks[taskId].tX = x; + gTasks[taskId].tY = y; + gTasks[taskId].tSubpriority = subpriority; +} + +bool32 IsMinigameCountdownRunning(void) +{ + return FuncIsActiveTask(Task_MinigameCountdown); +} + +static void Task_MinigameCountdown(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (tState) + { + case 0: + Load321StartGfx(tTilesTag, tPalTag); + tSpriteId1 = CreateNumberSprite(tTilesTag, tPalTag, tX, tY, tSubpriority); + CreateStartSprite(tTilesTag, tPalTag, tX, tY, tSubpriority, &tSpriteId2, &tSpriteId3); + tState++; + break; + case 1: + if (!RunMinigameCountdownDigitsAnim(tSpriteId1)) + { + InitStartGraphic(tSpriteId1, tSpriteId2, tSpriteId3); + FreeSpriteOamMatrix(&gSprites[tSpriteId1]); + DestroySprite(&gSprites[tSpriteId1]); + tState++; + } + break; + case 2: + if (!IsStartGraphicAnimRunning(tSpriteId2)) + { + DestroySprite(&gSprites[tSpriteId2]); + DestroySprite(&gSprites[tSpriteId3]); + FreeSpriteTilesByTag(tTilesTag); + FreeSpritePaletteByTag(tPalTag); + DestroyTask(taskId); + } + break; + } +} + +static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId) +{ + struct Sprite *sprite = &gSprites[spriteId]; + + switch (sprite->data[0]) + { + case 0: + sub_8007E18(sprite, 0x800, 0x1A); + sprite->data[0]++; + // fallthrough + case 1: + if (sprite->data[2] == 0) + PlaySE(SE_KON2); + if (++sprite->data[2] >= 20) + { + sprite->data[2] = 0; + StartSpriteAffineAnim(sprite, 1); + sprite->data[0]++; + } + break; + case 2: + if (sprite->affineAnimEnded) + sprite->data[0]++; + break; + case 3: + if (++sprite->data[2] >= 4) + { + sprite->data[2] = 0; + sprite->data[0]++; + StartSpriteAffineAnim(sprite, 2); + } + break; + case 4: + sprite->pos1.y -= 4; + if (++sprite->data[2] >= 8) + { + if (sprite->data[4] <= 1) + { + StartSpriteAnim(sprite, sprite->data[4] + 1); + sprite->data[2] = 0; + sprite->data[0]++; + } + else + { + sprite->data[0] = 7; + return FALSE; + } + } + break; + case 5: + sprite->pos1.y += 4; + if (++sprite->data[2] >= 8) + { + sprite->data[2] = 0; + StartSpriteAffineAnim(sprite, 3); + sprite->data[0]++; + } + break; + case 6: + if (sprite->affineAnimEnded) + { + sprite->data[4]++; + sprite->data[0] = 1; + } + break; + case 7: + return FALSE; + } + + return TRUE; +} + +// First argument is unused. +static void InitStartGraphic(u8 spriteId1, u8 spriteId2, u8 spriteId3) +{ + gSprites[spriteId2].pos2.y = -40; + gSprites[spriteId3].pos2.y = -40; + gSprites[spriteId2].invisible = FALSE; + gSprites[spriteId3].invisible = FALSE; + gSprites[spriteId2].callback = SpriteCB_Start; + gSprites[spriteId3].callback = SpriteCB_Start; +} + +static bool32 IsStartGraphicAnimRunning(u8 spriteId) +{ + return gSprites[spriteId].callback == SpriteCB_Start; +} + +static void SpriteCB_Start(struct Sprite *sprite) +{ + int y; + s16 *data = sprite->data; + + switch (data[0]) + { + case 0: + data[4] = 64; + data[5] = sprite->pos2.y << 4; + data[0]++; + case 1: + data[5] += data[4]; + data[4]++; + sprite->pos2.y = data[5] >> 4; + if (sprite->pos2.y >= 0) + { + PlaySE(SE_KON2); + sprite->pos2.y = 0; + data[0]++; + } + break; + case 2: + data[1] += 12; + if (data[1] >= 128) + { + PlaySE(SE_KON2); + data[1] = 0; + data[0]++; + } + y = gSineTable[data[1]]; + sprite->pos2.y = -(y >> 4); + break; + case 3: + data[1] += 16; + if (data[1] >= 128) + { + PlaySE(SE_KON2); + data[1] = 0; + data[0]++; + } + sprite->pos2.y = -(gSineTable[data[1]] >> 5); + break; + case 4: + if (++data[1] > 40) + sprite->callback = SpriteCallbackDummy; + break; + } +} + +static void Load321StartGfx(u16 tileTag, u16 palTag) +{ + struct CompressedSpriteSheet spriteSheet = {sSpriteSheet_321Start, 0xE00, 0}; + struct SpritePalette spritePalette = {sSpritePal_321Start, 0}; + + spriteSheet.tag = tileTag; + spritePalette.tag = palTag; + + LoadCompressedSpriteSheet(&spriteSheet); + LoadSpritePalette(&spritePalette); +} + +static const struct OamData sOamData_Numbers = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_Start = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sAnim_Numbers_Three[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_Numbers_Two[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_Numbers_One[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sAnimTable_Numbers[] = +{ + sAnim_Numbers_Three, + sAnim_Numbers_Two, + sAnim_Numbers_One +}; + +static const union AnimCmd sAnim_StartLeft[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_StartRight[] = +{ + ANIMCMD_FRAME(80, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sAnimTable_Start[] = +{ + sAnim_StartLeft, + sAnim_StartRight +}; + +static const union AffineAnimCmd sAffineAnim_Numbers_0[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sAffineAnim_Numbers_1[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(16, -16, 0, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sAffineAnim_Numbers_2[] = +{ + AFFINEANIMCMD_FRAME(-18, 18, 0, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sAffineAnim_Numbers_3[] = +{ + AFFINEANIMCMD_FRAME( 6, -6, 0, 8), + AFFINEANIMCMD_FRAME( -4, 4, 0, 8), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sAffineAnimTable_Numbers[] = +{ + sAffineAnim_Numbers_0, + sAffineAnim_Numbers_1, + sAffineAnim_Numbers_2, + sAffineAnim_Numbers_3 +}; + +static u8 CreateNumberSprite(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority) +{ + struct SpriteTemplate spriteTemplate = + { + .oam = &sOamData_Numbers, + .anims = sAnimTable_Numbers, + .affineAnims = sAffineAnimTable_Numbers, + .callback = SpriteCallbackDummy, + }; + + spriteTemplate.tileTag = tileTag; + spriteTemplate.paletteTag = palTag; + return CreateSprite(&spriteTemplate, x, y, subpriority); +} + +static void CreateStartSprite(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 *spriteId1, s16 *spriteId2) +{ + struct SpriteTemplate spriteTemplate = + { + .oam = &sOamData_Start, + .anims = sAnimTable_Start, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }; + + spriteTemplate.tileTag = tileTag; + spriteTemplate.paletteTag = palTag; + *spriteId1 = CreateSprite(&spriteTemplate, x - 32, y, subpriority); + *spriteId2 = CreateSprite(&spriteTemplate, x + 32, y, subpriority); + + gSprites[*spriteId1].invisible = TRUE; + gSprites[*spriteId2].invisible = TRUE; + StartSpriteAnim(&gSprites[*spriteId2], 1); +} diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 51520cae8..f2f416c35 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -12,6 +12,7 @@ #include "link_rfu.h" #include "main.h" #include "menu.h" +#include "minigame_countdown.h" #include "palette.h" #include "random.h" #include "digit_obj_util.h" @@ -289,21 +290,8 @@ static void sub_802D5E4(void); static void sub_802D72C(void); static void sub_802D688(void); static void Task_ShowPokemonJumpRecords(u8 taskId); -static void sub_802E6D0(u8 taskId); -static void sub_802EB98(u8 taskId); static void sub_802E500(u16 windowId, int width); static void TruncateToFirstWordOnly(u8 *str); -static void sub_802EF50(u16 tileTag, u16 palTag); -static u8 sub_802EFA8(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority); -static void sub_802EFFC(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 *spriteId1, s16 *spriteId2); -static bool32 sub_802EC98(u8 spriteId); -static bool32 sub_802EE30(u8 spriteId); -static void sub_802EDCC(u8 spriteId1, u8 spriteId2, u8 spriteId3); -static void sub_802EE5C(struct Sprite *sprite); -static void sub_802E83C(u8 taskId); -static void sub_802E8C8(u8 taskId); -static void sub_802EA50(u8 taskId); -static void sub_802EAB0(u8 taskId); EWRAM_DATA static struct PokemonJump1 *gUnknown_02022CFC = NULL; EWRAM_DATA static struct PokemonJump2 *gUnknown_02022D00 = NULL; @@ -2807,13 +2795,13 @@ static void sub_802CF50(struct PokemonJump2 *arg0, int arg1) static void sub_802D044(struct PokemonJump2 *arg0) { - sub_802EB24(9, 7, 120, 80, 0); + StartMinigameCountdown(9, 7, 120, 80, 0); sub_802CD3C(arg0); } static bool32 sub_802D068(void) { - return sub_802EB84(); + return IsMinigameCountdownRunning(); } static void sub_802D074(struct PokemonJump2 *arg0) @@ -3987,611 +3975,3 @@ static void TruncateToFirstWordOnly(u8 *str) } } } - -static const u16 gPkmnJump321StartPal1[] = INCBIN_U16("graphics/link_games/pkmnjump_321start1.gbapal"); -static const u32 gPkmnJump321StartGfx1[] = INCBIN_U32("graphics/link_games/pkmnjump_321start1.4bpp.lz"); - -static const struct CompressedSpriteSheet gUnknown_082FE6C8[] = -{ - {gPkmnJump321StartGfx1, 0xC00, 0x2000}, - {}, -}; - -static const struct SpritePalette gUnknown_082FE6D8[] = -{ - {gPkmnJump321StartPal1, 0x2000}, - {}, -}; - -static const union AnimCmd sSpriteAnim_82FE6E8[] = -{ - ANIMCMD_FRAME(0, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FE6F0[] = -{ - ANIMCMD_FRAME(16, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FE6F8[] = -{ - ANIMCMD_FRAME(32, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FE700[] = -{ - ANIMCMD_FRAME(64, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FE708[] = -{ - ANIMCMD_FRAME(48, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FE710[] = -{ - ANIMCMD_FRAME(80, 0), - ANIMCMD_END -}; - -static const union AnimCmd *const sSpriteAnimTable_82FE718[] = -{ - sSpriteAnim_82FE6E8, - sSpriteAnim_82FE6F0, - sSpriteAnim_82FE6F8, - sSpriteAnim_82FE700, - sSpriteAnim_82FE708, - sSpriteAnim_82FE710 -}; - -static const struct SpriteTemplate gUnknown_082FE730[] = -{ - { - .tileTag = 0x2000, - .paletteTag = 0x2000, - .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sSpriteAnimTable_82FE718, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, -}; - -static const TaskFunc gUnknown_082FE748[][4] = -{ - { - sub_802E83C, - sub_802E8C8, - sub_802EA50, - sub_802EAB0 - }, -}; - -// There's only set of task functions. -static u32 sub_802E63C(u8 funcSetId, u8 taskPriority) -{ - u8 taskId = CreateTask(sub_802E6D0, taskPriority); - struct Task *task = &gTasks[taskId]; - - task->data[0] = 1; - task->data[1] = funcSetId; - gUnknown_082FE748[funcSetId][0](taskId); - return taskId; -} - -static bool32 sub_802E688(void) -{ - u8 taskId = FindTaskIdByFunc(sub_802E6D0); - if (taskId == 0xFF) - return FALSE; - - gTasks[taskId].data[0] = 2; - return TRUE; -} - -static bool32 sub_802E6BC(void) -{ - return FuncIsActiveTask(sub_802E6D0); -} - -static void sub_802E6D0(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - switch (data[0]) - { - case 2: - gUnknown_082FE748[data[1]][2](taskId); - data[0] = 3; - break; - case 3: - gUnknown_082FE748[data[1]][3](taskId); - break; - case 4: - gUnknown_082FE748[data[1]][1](taskId); - DestroyTask(taskId); - break; - } -} - -static void sub_802E75C(u8 taskId, s16 *data) -{ - u8 i; - struct Sprite *sprite; - - LoadCompressedSpriteSheet(&gUnknown_082FE6C8[data[3]]); - LoadSpritePalette(&gUnknown_082FE6D8[data[4]]); - for (i = 0; i < data[8]; i++) - data[13 + i] = CreateSprite(&gUnknown_082FE730[data[2]], data[9], data[10], data[7]); - for (i = 0; i < data[8]; i++) - { - sprite = &gSprites[data[13 + i]]; - sprite->oam.priority = data[6]; - sprite->invisible = TRUE; - sprite->data[1] = data[5]; - sprite->data[3] = taskId; - sprite->data[4] = i; - sprite->data[5] = data[13]; - } -} - -static void sub_802E83C(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - data[2] = 0; - data[3] = 0; - data[4] = 0; - data[5] = 60; - data[6] = 0; - data[7] = 0; - data[8] = 3; - data[9] = 120; - data[10] = 88; - sub_802E75C(taskId, data); - - StartSpriteAnim(&gSprites[data[14]], 4); - gSprites[data[14]].pos2.x = -32; - - StartSpriteAnim(&gSprites[data[15]], 5); - gSprites[data[15]].pos2.x = 32; -} - -static void sub_802E8C8(u8 taskId) -{ - u8 i = 0; - s16 *data = gTasks[taskId].data; - - for (i = 0; i < data[8]; i++) - DestroySprite(&gSprites[data[13 + i]]); - FreeSpriteTilesByTag(gUnknown_082FE6C8[data[3]].tag); - FreeSpritePaletteByTag(gUnknown_082FE6D8[data[4]].tag); -} - -static void sub_802E938(struct Sprite *sprite) -{ - s16 *data = gTasks[sprite->data[3]].data; - - if (data[11] % data[5] != 0) - return; - if (data[11] == data[10]) - return; - - data[10] = data[11]; - switch (sprite->data[2]) - { - case 0: - sprite->invisible = FALSE; - case 1: - case 2: - PlaySE(SE_KON); - StartSpriteAnim(sprite, sprite->data[2]); - break; - case 3: - PlaySE(SE_PIN); - StartSpriteAnim(sprite, sprite->data[2]); - gSprites[data[14]].invisible = FALSE; - gSprites[data[15]].invisible = FALSE; - break; - case 4: - sprite->invisible = TRUE; - gSprites[data[14]].invisible = TRUE; - gSprites[data[15]].invisible = TRUE; - data[0] = 4; - return; - } - sprite->data[2]++; -} - -static void sub_802EA50(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - PlaySE(SE_KON); - gSprites[data[13]].callback = sub_802E938; - gSprites[data[13]].invisible = FALSE; - gTasks[taskId].data[0] = 3; -} - -static void sub_802EAB0(u8 taskId) -{ - u16 packet[6]; - s16 *data = gTasks[taskId].data; - - if (gReceivedRemoteLinkPlayers != 0) - { - if (gRecvCmds[0][1] == 0x7FFF) - data[11] = gRecvCmds[0][2]; - if (GetMultiplayerId() == 0) - { - data[12]++; - memset(packet, 0, sizeof(packet)); - packet[0] = 0x7FFF; - packet[1] = data[12]; - sub_800FE50(packet); - } - } - else - { - data[11]++; - } -} - -void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority) -{ - u8 taskId = CreateTask(sub_802EB98, 0x50); - gTasks[taskId].data[2] = tileTag; - gTasks[taskId].data[3] = palTag; - gTasks[taskId].data[4] = x; - gTasks[taskId].data[5] = y; - gTasks[taskId].data[6] = subpriority; -} - -bool32 sub_802EB84(void) -{ - return FuncIsActiveTask(sub_802EB98); -} - -static void sub_802EB98(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - switch (data[0]) - { - case 0: - sub_802EF50(data[2], data[3]); - data[7] = sub_802EFA8(data[2], data[3], data[4], data[5], data[6]); - sub_802EFFC(data[2], data[3], data[4], data[5], data[6], &data[8], &data[9]); - data[0]++; - break; - case 1: - if (!sub_802EC98(data[7])) - { - sub_802EDCC(data[7], data[8], data[9]); - FreeSpriteOamMatrix(&gSprites[data[7]]); - DestroySprite(&gSprites[data[7]]); - data[0]++; - } - break; - case 2: - if (!sub_802EE30(data[8])) - { - DestroySprite(&gSprites[data[8]]); - DestroySprite(&gSprites[data[9]]); - FreeSpriteTilesByTag(data[2]); - FreeSpritePaletteByTag(data[3]); - DestroyTask(taskId); - } - break; - } -} - -static bool32 sub_802EC98(u8 spriteId) -{ - struct Sprite *sprite = &gSprites[spriteId]; - - switch (sprite->data[0]) - { - case 0: - sub_8007E18(sprite, 0x800, 0x1A); - sprite->data[0]++; - case 1: - if (sprite->data[2] == 0) - PlaySE(SE_KON2); - if (++sprite->data[2] >= 20) - { - sprite->data[2] = 0; - StartSpriteAffineAnim(sprite, 1); - sprite->data[0]++; - } - break; - case 2: - if (sprite->affineAnimEnded) - sprite->data[0]++; - break; - case 3: - if (++sprite->data[2] >= 4) - { - sprite->data[2] = 0; - sprite->data[0]++; - StartSpriteAffineAnim(sprite, 2); - } - break; - case 4: - sprite->pos1.y -= 4; - if (++sprite->data[2] >= 8) - { - if (sprite->data[4] <= 1) - { - StartSpriteAnim(sprite, sprite->data[4] + 1); - sprite->data[2] = 0; - sprite->data[0]++; - } - else - { - sprite->data[0] = 7; - return FALSE; - } - } - break; - case 5: - sprite->pos1.y += 4; - if (++sprite->data[2] >= 8) - { - sprite->data[2] = 0; - StartSpriteAffineAnim(sprite, 3); - sprite->data[0]++; - } - break; - case 6: - if (sprite->affineAnimEnded) - { - sprite->data[4]++; - sprite->data[0] = 1; - } - break; - case 7: - return FALSE; - } - - return TRUE; -} - -// First argument is unused. -static void sub_802EDCC(u8 spriteId1, u8 spriteId2, u8 spriteId3) -{ - gSprites[spriteId2].pos2.y = -40; - gSprites[spriteId3].pos2.y = -40; - gSprites[spriteId2].invisible = FALSE; - gSprites[spriteId3].invisible = FALSE; - gSprites[spriteId2].callback = sub_802EE5C; - gSprites[spriteId3].callback = sub_802EE5C; -} - -static bool32 sub_802EE30(u8 spriteId) -{ - return (gSprites[spriteId].callback == sub_802EE5C); -} - -static void sub_802EE5C(struct Sprite *sprite) -{ - int y; - s16 *data = sprite->data; - - switch (data[0]) - { - case 0: - data[4] = 64; - data[5] = sprite->pos2.y << 4; - data[0]++; - case 1: - data[5] += data[4]; - data[4]++; - sprite->pos2.y = data[5] >> 4; - if (sprite->pos2.y >= 0) - { - PlaySE(SE_KON2); - sprite->pos2.y = 0; - data[0]++; - } - break; - case 2: - data[1] += 12; - if (data[1] >= 128) - { - PlaySE(SE_KON2); - data[1] = 0; - data[0]++; - } - y = gSineTable[data[1]]; - sprite->pos2.y = -(y >> 4); - break; - case 3: - data[1] += 16; - if (data[1] >= 128) - { - PlaySE(SE_KON2); - data[1] = 0; - data[0]++; - } - sprite->pos2.y = -(gSineTable[data[1]] >> 5); - break; - case 4: - if (++data[1] > 40) - sprite->callback = SpriteCallbackDummy; - break; - } -} - -static const u16 gPkmnJump321StartPal2[] = INCBIN_U16("graphics/link_games/pkmnjump_321start2.gbapal"); -static const u32 gPkmnJump321StartGfx2[] = INCBIN_U32("graphics/link_games/pkmnjump_321start2.4bpp.lz"); - -static void sub_802EF50(u16 tileTag, u16 palTag) -{ - struct CompressedSpriteSheet sprSheet = {gPkmnJump321StartGfx2, 0xE00, 0}; - struct SpritePalette sprPal = {gPkmnJump321StartPal2, 0}; - - sprSheet.tag = tileTag; - sprPal.tag = palTag; - - LoadCompressedSpriteSheet(&sprSheet); - LoadSpritePalette(&sprPal); -} - -static const struct OamData sOamData_82FEBDC = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 0, - .paletteNum = 0, - .affineParam = 0 -}; - -static const struct OamData sOamData_82FEBE4 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x32), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(64x32), - .tileNum = 0, - .priority = 0, - .paletteNum = 0, - .affineParam = 0 -}; - -static const union AnimCmd sSpriteAnim_82FEBEC[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FEBF4[] = -{ - ANIMCMD_FRAME(16, 1), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FEBFC[] = -{ - ANIMCMD_FRAME(32, 1), - ANIMCMD_END -}; - -static const union AnimCmd *const sSpriteAnimTable_82FEC04[] = -{ - sSpriteAnim_82FEBEC, - sSpriteAnim_82FEBF4, - sSpriteAnim_82FEBFC -}; - -static const union AnimCmd sSpriteAnim_82FEC10[] = -{ - ANIMCMD_FRAME(48, 1), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_82FEC18[] = -{ - ANIMCMD_FRAME(80, 1), - ANIMCMD_END -}; - -static const union AnimCmd *const sSpriteAnimTable_82FEC20[] = -{ - sSpriteAnim_82FEC10, - sSpriteAnim_82FEC18 -}; - -static const union AffineAnimCmd sSpriteAffineAnim_82FEC28[] = -{ - AFFINEANIMCMD_FRAME(256, 256, 0, 0), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd sSpriteAffineAnim_82FEC38[] = -{ - AFFINEANIMCMD_FRAME(256, 256, 0, 0), - AFFINEANIMCMD_FRAME(16, -16, 0, 8), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd sSpriteAffineAnim_82FEC50[] = -{ - AFFINEANIMCMD_FRAME(-18, 18, 0, 8), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd sSpriteAffineAnim_82FEC60[] = -{ - AFFINEANIMCMD_FRAME(6, -6, 0, 8), - AFFINEANIMCMD_FRAME(-4, 4, 0, 8), - AFFINEANIMCMD_FRAME(256, 256, 0, 0), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd *const sSpriteAffineAnimTable_82FEC80[] = -{ - sSpriteAffineAnim_82FEC28, - sSpriteAffineAnim_82FEC38, - sSpriteAffineAnim_82FEC50, - sSpriteAffineAnim_82FEC60 -}; - -static u8 sub_802EFA8(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority) -{ - u8 spriteId; - struct SpriteTemplate sprTemplate = - { - .tileTag = 0, - .paletteTag = 0, - .oam = &sOamData_82FEBDC, - .anims = sSpriteAnimTable_82FEC04, - .images = NULL, - .affineAnims = sSpriteAffineAnimTable_82FEC80, - .callback = SpriteCallbackDummy, - }; - - sprTemplate.tileTag = tileTag; - sprTemplate.paletteTag = palTag; - spriteId = CreateSprite(&sprTemplate, x, y, subpriority); - return spriteId; -} - -static void sub_802EFFC(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 *spriteId1, s16 *spriteId2) -{ - struct SpriteTemplate sprTemplate = - { - .tileTag = 0, - .paletteTag = 0, - .oam = &sOamData_82FEBE4, - .anims = sSpriteAnimTable_82FEC20, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }; - - sprTemplate.tileTag = tileTag; - sprTemplate.paletteTag = palTag; - *spriteId1 = CreateSprite(&sprTemplate, x - 32, y, subpriority); - *spriteId2 = CreateSprite(&sprTemplate, x + 32, y, subpriority); - - gSprites[*spriteId1].invisible = TRUE; - gSprites[*spriteId2].invisible = TRUE; - StartSpriteAnim(&gSprites[*spriteId2], 1); -} From 7a5deff0bc0f9ab00981e34680015c84618155b9 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 9 Apr 2020 15:18:53 -0400 Subject: [PATCH 06/19] Add misc party constant usage --- include/constants/global.h | 1 + include/party_menu.h | 4 +-- src/battle_dome.c | 2 +- src/battle_pike.c | 26 +++++++++---------- src/battle_tower.c | 53 +++++++++++++++++++------------------- src/frontier_util.c | 6 ++--- src/hall_of_fame.c | 8 +++--- src/party_menu.c | 10 +++---- src/pokemon.c | 6 ++--- src/union_room_battle.c | 6 ++--- 10 files changed, 62 insertions(+), 60 deletions(-) diff --git a/include/constants/global.h b/include/constants/global.h index 7c96de511..c7063d71c 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -67,6 +67,7 @@ #define FRONTIER_DOUBLES_PARTY_SIZE 4 #define FRONTIER_MULTI_PARTY_SIZE 2 #define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE +#define UNION_ROOM_PARTY_SIZE 2 // string lengths #define ITEM_NAME_LENGTH 14 diff --git a/include/party_menu.h b/include/party_menu.h index 126931762..7f51d08c9 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -24,8 +24,8 @@ extern struct PartyMenu gPartyMenu; extern bool8 gPartyMenuUseExitCallback; extern u8 gSelectedMonPartyId; extern MainCallback gPostMenuFieldCallback; -extern u8 gSelectedOrderFromParty[4]; -extern u8 gBattlePartyCurrentOrder[3]; +extern u8 gSelectedOrderFromParty[MAX_FRONTIER_PARTY_SIZE]; +extern u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2]; extern void (*gItemUseCB)(u8, TaskFunc); diff --git a/src/battle_dome.c b/src/battle_dome.c index 746d195d9..e4947825d 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2578,7 +2578,7 @@ static void CreateDomeOpponentMons(u16 tournamentTrainerId) // Create mon if it was selected, starting from back for (i = FRONTIER_PARTY_SIZE - 1; i >= 0; i--) { - if (selectedMonBits & 4) + if (selectedMonBits & (1 << (FRONTIER_PARTY_SIZE - 1))) { CreateDomeOpponentMon(monsCount, tournamentTrainerId, i, otId); monsCount++; diff --git a/src/battle_pike.c b/src/battle_pike.c index 9bc7254ec..6b31419a5 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -874,20 +874,20 @@ static bool8 TryInflictRandomStatus(void) { u8 j, i; u8 count; - u8 indices[3]; + u8 indices[FRONTIER_PARTY_SIZE]; u32 status; u16 species; bool8 statusChosen; struct Pokemon *mon; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) indices[i] = i; for (j = 0; j < 10; j++) { u8 temp, id; - i = Random() % 3; - id = Random() % 3; + i = Random() % FRONTIER_PARTY_SIZE; + id = Random() % FRONTIER_PARTY_SIZE; SWAP(indices[i], indices[id], temp); } @@ -921,7 +921,7 @@ static bool8 TryInflictRandomStatus(void) { status = sStatusFlags; j = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { mon = &gPlayerParty[indices[i]]; if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE @@ -963,7 +963,7 @@ static bool8 TryInflictRandomStatus(void) } j = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { mon = &gPlayerParty[indices[i]]; if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE @@ -995,7 +995,7 @@ static bool8 AtLeastOneHealthyMon(void) count = 3; healthyMonsCount = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { struct Pokemon *mon = &gPlayerParty[i]; if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE @@ -1262,23 +1262,23 @@ static void Task_DoStatusInflictionScreenFlash(u8 taskId) static void TryHealMons(u8 healCount) { u8 j, i, k; - u8 indices[3]; + u8 indices[FRONTIER_PARTY_SIZE]; if (healCount == 0) return; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) indices[i] = i; for (k = 0; k < 10; k++) { u8 temp; - i = Random() % 3; - j = Random() % 3; + i = Random() % FRONTIER_PARTY_SIZE; + j = Random() % FRONTIER_PARTY_SIZE; SWAP(indices[i], indices[j], temp); } - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { bool32 canBeHealed = FALSE; struct Pokemon *mon = &gPlayerParty[indices[i]]; @@ -1483,7 +1483,7 @@ static bool8 AtLeastTwoAliveMons(void) mon = &gPlayerParty[0]; countDead = 0; - for (i = 0; i < 3; i++, mon++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++, mon++) { if (GetMonData(mon, MON_DATA_HP) == 0) countDead++; diff --git a/src/battle_tower.c b/src/battle_tower.c index 4890e7a05..4695d9aa0 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -24,6 +24,7 @@ #include "tv.h" #include "battle_factory.h" #include "constants/apprentice.h" +#include "constants/battle_dome.h" #include "constants/battle_frontier.h" #include "constants/battle_frontier_mons.h" #include "constants/battle_tent_mons.h" @@ -2054,7 +2055,7 @@ void DoSpecialTrainerBattle(void) if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) gBattleTypeFlags |= BATTLE_TYPE_DOUBLE; if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) - FillFrontierTrainerParty(2); + FillFrontierTrainerParty(DOME_BATTLE_PARTY_SIZE); CreateTask(Task_StartBattleAfterTransition, 1); sub_806E694(0); BattleTransition_StartOnField(sub_80B100C(3)); @@ -2211,12 +2212,12 @@ static void nullsub_116(void) static void GetApprenticeMultiPartnerParty(u16 trainerId) { s32 i, count; - u32 validSpecies[3]; + u32 validSpecies[MULTI_PARTY_SIZE]; u16 species1 = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES, NULL); u16 species2 = GetMonData(&gPlayerParty[1], MON_DATA_SPECIES, NULL); count = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < MULTI_PARTY_SIZE; i++) { u16 apprenticeSpecies = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].party[i].species; if (apprenticeSpecies != species1 && apprenticeSpecies != species2) @@ -2340,7 +2341,7 @@ static void LoadMultiPartnerCandidatesData(void) && gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode) { k = 0; - for (j = 0; j < 3; j++) + for (j = 0; j < MULTI_PARTY_SIZE; j++) { if (species1 != gSaveBlock2Ptr->apprentices[i].party[j].species && species2 != gSaveBlock2Ptr->apprentices[i].party[j].species) @@ -2948,26 +2949,26 @@ static void FillPartnerParty(u16 trainerId) if (trainerId == TRAINER_STEVEN_PARTNER) { - for (i = 0; i < 3; i++) + for (i = 0; i < MULTI_PARTY_SIZE; i++) { do { j = Random32(); } while (IsShinyOtIdPersonality(STEVEN_OTID, j) || sStevenMons[i].nature != GetNatureFromPersonality(j)); - CreateMon(&gPlayerParty[3 + i], + CreateMon(&gPlayerParty[MULTI_PARTY_SIZE + i], sStevenMons[i].species, sStevenMons[i].level, sStevenMons[i].fixedIV, TRUE, i, // BUG: personality was stored in the 'j' variable. As a result, Steven's pokemon do not have the intended natures. OT_ID_PRESET, STEVEN_OTID); for (j = 0; j < PARTY_SIZE; j++) - SetMonData(&gPlayerParty[3 + i], MON_DATA_HP_EV + j, &sStevenMons[i].evs[j]); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_HP_EV + j, &sStevenMons[i].evs[j]); for (j = 0; j < MAX_MON_MOVES; j++) - SetMonMoveSlot(&gPlayerParty[3 + i], sStevenMons[i].moves[j], j); - SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, gTrainers[TRAINER_STEVEN].trainerName); + SetMonMoveSlot(&gPlayerParty[MULTI_PARTY_SIZE + i], sStevenMons[i].moves[j], j); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_OT_NAME, gTrainers[TRAINER_STEVEN].trainerName); j = MALE; - SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j); - CalculateMonStats(&gPlayerParty[3 + i]); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_OT_GENDER, &j); + CalculateMonStats(&gPlayerParty[MULTI_PARTY_SIZE + i]); } } else if (trainerId == TRAINER_EREADER) @@ -2980,10 +2981,10 @@ static void FillPartnerParty(u16 trainerId) level = SetFacilityPtrsGetLevel(); ivs = GetFrontierTrainerFixedIvs(trainerId); otID = Random32(); - for (i = 0; i < 2; i++) + for (i = 0; i < FRONTIER_MULTI_PARTY_SIZE; i++) { monId = gSaveBlock2Ptr->frontier.trainerIds[i + 18]; - CreateMonWithEVSpreadNatureOTID(&gPlayerParty[3 + i], + CreateMonWithEVSpreadNatureOTID(&gPlayerParty[MULTI_PARTY_SIZE + i], gFacilityTrainerMons[monId].species, level, gFacilityTrainerMons[monId].nature, @@ -2993,23 +2994,23 @@ static void FillPartnerParty(u16 trainerId) friendship = MAX_FRIENDSHIP; for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monId].moves[j], j); + SetMonMoveSlot(&gPlayerParty[MULTI_PARTY_SIZE + i], gFacilityTrainerMons[monId].moves[j], j); if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION) friendship = 0; } - SetMonData(&gPlayerParty[3 + i], MON_DATA_FRIENDSHIP, &friendship); - SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_FRIENDSHIP, &friendship); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++) trainerName[j] = gFacilityTrainers[trainerId].trainerName[j]; - SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, &trainerName); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_OT_NAME, &trainerName); j = IsFrontierTrainerFemale(trainerId); - SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_OT_GENDER, &j); } } else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) { trainerId -= TRAINER_RECORD_MIXING_FRIEND; - for (i = 0; i < 2; i++) + for (i = 0; i < FRONTIER_MULTI_PARTY_SIZE; i++) { struct EmeraldBattleTowerRecord *record = &gSaveBlock2Ptr->frontier.towerRecords[trainerId]; struct BattleTowerPokemon monData = record->party[gSaveBlock2Ptr->frontier.trainerIds[18 + i]]; @@ -3027,20 +3028,20 @@ static void FillPartnerParty(u16 trainerId) if (monData.nickname[0] == EXT_CTRL_CODE_BEGIN && monData.nickname[1] == EXT_CTRL_CODE_JPN) trainerName[5] = EOS; } - CreateBattleTowerMon2(&gPlayerParty[3 + i], &monData, TRUE); - SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, trainerName); + CreateBattleTowerMon2(&gPlayerParty[MULTI_PARTY_SIZE + i], &monData, TRUE); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_OT_NAME, trainerName); j = IsFrontierTrainerFemale(trainerId + TRAINER_RECORD_MIXING_FRIEND); - SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_OT_GENDER, &j); } } else { trainerId -= TRAINER_RECORD_MIXING_APPRENTICE; - for (i = 0; i < 2; i++) + for (i = 0; i < FRONTIER_MULTI_PARTY_SIZE; i++) { - CreateApprenticeMon(&gPlayerParty[3 + i], &gSaveBlock2Ptr->apprentices[trainerId], gSaveBlock2Ptr->frontier.trainerIds[18 + i]); + CreateApprenticeMon(&gPlayerParty[MULTI_PARTY_SIZE + i], &gSaveBlock2Ptr->apprentices[trainerId], gSaveBlock2Ptr->frontier.trainerIds[18 + i]); j = IsFrontierTrainerFemale(trainerId + TRAINER_RECORD_MIXING_APPRENTICE); - SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j); + SetMonData(&gPlayerParty[MULTI_PARTY_SIZE + i], MON_DATA_OT_GENDER, &j); } } } @@ -3351,7 +3352,7 @@ static void SetNextBattleTentOpponent(void) static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) { s32 i, j; - u16 chosenMonIndices[4]; + u16 chosenMonIndices[MAX_FRONTIER_PARTY_SIZE]; u8 friendship; u8 level = SetTentPtrsGetLevel(); u8 fixedIV = 0; diff --git a/src/frontier_util.c b/src/frontier_util.c index f46c60391..668771375 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -94,7 +94,7 @@ static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] = [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0}, }; -static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = +static const struct FrontierBrainMon sFrontierBrainsMons[][2][FRONTIER_PARTY_SIZE] = { [FRONTIER_FACILITY_TOWER] = { @@ -1778,9 +1778,9 @@ void ResetWinStreaks(void) s32 battleMode, lvlMode; gSaveBlock2Ptr->frontier.winStreakActiveFlags = 0; - for (battleMode = 0; battleMode < 4; battleMode++) + for (battleMode = 0; battleMode < FRONTIER_MODE_COUNT; battleMode++) { - for (lvlMode = 0; lvlMode < 2; lvlMode++) + for (lvlMode = 0; lvlMode < FRONTIER_LVL_TENT; lvlMode++) { gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0; if (battleMode < FRONTIER_MODE_MULTIS) diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 065d25582..05e4ed0aa 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -155,7 +155,7 @@ static const struct CompressedSpritePalette sHallOfFame_ConfettiSpritePalette[] {}, }; -static const s16 sHallOfFame_MonFullTeamPositions[6][4] = +static const s16 sHallOfFame_MonFullTeamPositions[PARTY_SIZE][4] = { {120, 210, 120, 40}, {326, 220, 56, 40}, @@ -165,7 +165,7 @@ static const s16 sHallOfFame_MonFullTeamPositions[6][4] = {310, -92, 40, 88} }; -static const s16 sHallOfFame_MonHalfTeamPositions[3][4] = +static const s16 sHallOfFame_MonHalfTeamPositions[PARTY_SIZE / 2][4] = { {120, 234, 120, 64}, {326, 244, 56, 64}, @@ -544,7 +544,7 @@ static void Task_Hof_DisplayMon(u8 taskId) u16 currMonId = gTasks[taskId].tDisplayedMonId; struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId]; - if (gTasks[taskId].tMonNumber > 3) + if (gTasks[taskId].tMonNumber > PARTY_SIZE / 2) { xPos = sHallOfFame_MonFullTeamPositions[currMonId][0]; yPos = sHallOfFame_MonFullTeamPositions[currMonId][1]; @@ -893,7 +893,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) u16 spriteId; s16 posX, posY; - if (gTasks[taskId].tMonNo > 3) + if (gTasks[taskId].tMonNo > PARTY_SIZE / 2) { posX = sHallOfFame_MonFullTeamPositions[i][2]; posY = sHallOfFame_MonFullTeamPositions[i][3]; diff --git a/src/party_menu.c b/src/party_menu.c index 0a119f03d..43bdc46ec 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -152,7 +152,7 @@ EWRAM_DATA u8 gSelectedMonPartyId = 0; EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL; static EWRAM_DATA u16 *sSlot1TilemapBuffer = 0; // for switching party slots static EWRAM_DATA u16 *sSlot2TilemapBuffer = 0; // -EWRAM_DATA u8 gSelectedOrderFromParty[4] = {0}; +EWRAM_DATA u8 gSelectedOrderFromParty[MAX_FRONTIER_PARTY_SIZE] = {0}; static EWRAM_DATA u16 sPartyMenuItemId = 0; static EWRAM_DATA u16 sUnused_0203CEFE = 0; EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on @@ -5624,9 +5624,9 @@ static u8 GetMaxBattleEntries(void) switch (VarGet(VAR_FRONTIER_FACILITY)) { case FACILITY_MULTI_OR_EREADER: - return 3; + return MULTI_PARTY_SIZE; case FACILITY_UNION_ROOM: - return 2; + return UNION_ROOM_PARTY_SIZE; default: // Battle Frontier return gSpecialVar_0x8005; } @@ -5639,7 +5639,7 @@ static u8 GetMinBattleEntries(void) case FACILITY_MULTI_OR_EREADER: return 1; case FACILITY_UNION_ROOM: - return 2; + return UNION_ROOM_PARTY_SIZE; default: // Battle Frontier return gSpecialVar_0x8005; } @@ -6074,7 +6074,7 @@ static void Task_MultiPartnerPartySlideIn(u8 taskId) SlideMultiPartyMenuBoxSpritesOneStep(taskId); if (tXPos == 0) { - for (i = 3; i < PARTY_SIZE; i++) + for (i = MULTI_PARTY_SIZE; i < PARTY_SIZE; i++) { if (gMultiPartnerParty[i - MULTI_PARTY_SIZE].species != SPECIES_NONE) AnimateSelectedPartyIcon(sPartyMenuBoxes[i].monSpriteId, 0); diff --git a/src/pokemon.c b/src/pokemon.c index ec29af02d..87ea2551f 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4394,7 +4394,7 @@ u8 CalculatePlayerPartyCount(void) { gPlayerPartyCount = 0; - while (gPlayerPartyCount < 6 + while (gPlayerPartyCount < PARTY_SIZE && GetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) { gPlayerPartyCount++; @@ -4407,7 +4407,7 @@ u8 CalculateEnemyPartyCount(void) { gEnemyPartyCount = 0; - while (gEnemyPartyCount < 6 + while (gEnemyPartyCount < PARTY_SIZE && GetMonData(&gEnemyParty[gEnemyPartyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) { gEnemyPartyCount++; @@ -4494,7 +4494,7 @@ void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord) SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleResources->secretBase->party.heldItems[i]); - for (j = 0; j < 6; j++) + for (j = 0; j < NUM_STATS; j++) SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &gBattleResources->secretBase->party.EVs[i]); for (j = 0; j < MAX_MON_MOVES; j++) diff --git a/src/union_room_battle.c b/src/union_room_battle.c index c80340da3..18dd7c320 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -451,15 +451,15 @@ void sub_801AAD4(void) { s32 i; sub_8014210(10); - for (i = 0; i < 2; i++) + for (i = 0; i < UNION_ROOM_PARTY_SIZE; i++) { gEnemyParty[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; } - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { ZeroMonData(&gPlayerParty[i]); } - for (i = 0; i < 2; i++) + for (i = 0; i < UNION_ROOM_PARTY_SIZE; i++) { gPlayerParty[i] = gEnemyParty[i]; } From 2615a6838e5cfcfdc40564e099c7e88e9ab253bf Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 9 Apr 2020 19:23:39 -0400 Subject: [PATCH 07/19] Label unknown anims --- src/data/pokemon_graphics/front_pic_anims.h | 3 + src/data/pokemon_graphics/unknown_anims.h | 2256 ++++++++++--------- 2 files changed, 1134 insertions(+), 1125 deletions(-) diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 4c97af1a7..671fc5fad 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -7391,3 +7391,6 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(UNOWN_EMARK), ANIM_CMD(UNOWN_QMARK), }; + +#undef ANIM_CMD +#undef ANIM_CMD_FULL diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h index bb4862d09..ea7ab34a2 100644 --- a/src/data/pokemon_graphics/unknown_anims.h +++ b/src/data/pokemon_graphics/unknown_anims.h @@ -1,5 +1,5 @@ // unused and unkown -static const union AnimCmd gUnknown_082FF71C[] = +static const union AnimCmd sUnknownAnim_BLAZIKEN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -9,7 +9,7 @@ static const union AnimCmd gUnknown_082FF71C[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF734[] = +static const union AnimCmd sUnknownAnim_BLAZIKEN_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -17,20 +17,20 @@ static const union AnimCmd gUnknown_082FF734[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF744[] = +static const union AnimCmd sUnknownAnim_BLAZIKEN_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF750[] = +static const union AnimCmd sUnknownAnim_BLAZIKEN_4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF758[] = +static const union AnimCmd sUnknownAnim_MARSHTOMP_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 5), @@ -41,7 +41,7 @@ static const union AnimCmd gUnknown_082FF758[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF774[] = +static const union AnimCmd sUnknownAnim_MARSHTOMP_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 12), @@ -52,14 +52,14 @@ static const union AnimCmd gUnknown_082FF774[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF790[] = +static const union AnimCmd sUnknownAnim_MARSHTOMP_3[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(2, 12), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF79C[] = +static const union AnimCmd sUnknownAnim_POOCHYENA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -68,7 +68,7 @@ static const union AnimCmd gUnknown_082FF79C[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7B0[] = +static const union AnimCmd sUnknownAnim_POOCHYENA_2[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), @@ -77,193 +77,193 @@ static const union AnimCmd gUnknown_082FF7B0[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7C4[] = +static const union AnimCmd sUnknownAnim_MIGHTYENA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7CC[] = +static const union AnimCmd sUnknownAnim_ZIGZAGOON_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7D4[] = +static const union AnimCmd sUnknownAnim_LINOONE_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7DC[] = +static const union AnimCmd sUnknownAnim_WURMPLE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7E4[] = +static const union AnimCmd sUnknownAnim_WURMPLE_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7EC[] = +static const union AnimCmd sUnknownAnim_SILCOON_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7F4[] = +static const union AnimCmd sUnknownAnim_SILCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF7FC[] = +static const union AnimCmd sUnknownAnim_BEAUTIFLY_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF804[] = +static const union AnimCmd sUnknownAnim_BEAUTIFLY_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF80C[] = +static const union AnimCmd sUnknownAnim_CASCOON_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF814[] = +static const union AnimCmd sUnknownAnim_CASCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF81C[] = +static const union AnimCmd sUnknownAnim_DUSTOX_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF824[] = +static const union AnimCmd sUnknownAnim_DUSTOX_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF82C[] = +static const union AnimCmd sUnknownAnim_LOMBRE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF834[] = +static const union AnimCmd sUnknownAnim_LUDICOLO_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF83C[] = +static const union AnimCmd sUnknownAnim_LUDICOLO_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF844[] = +static const union AnimCmd sUnknownAnim_SEEDOT_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF84C[] = +static const union AnimCmd sUnknownAnim_NUZLEAF_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF854[] = +static const union AnimCmd sUnknownAnim_SHIFTRY_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF85C[] = +static const union AnimCmd sUnknownAnim_SHIFTRY_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF864[] = +static const union AnimCmd sUnknownAnim_TAILLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF86C[] = +static const union AnimCmd sUnknownAnim_SWELLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF874[] = +static const union AnimCmd sUnknownAnim_SHROOMISH_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF87C[] = +static const union AnimCmd sUnknownAnim_BRELOOM_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF884[] = +static const union AnimCmd sUnknownAnim_WINGULL_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF88C[] = +static const union AnimCmd sUnknownAnim_PELIPPER_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF894[] = +static const union AnimCmd sUnknownAnim_PELIPPER_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF89C[] = +static const union AnimCmd sUnknownAnim_SURSKIT_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF8A4[] = +static const union AnimCmd sUnknownAnim_SURSKIT_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF8AC[] = +static const union AnimCmd sUnknownAnim_MASQUERAIN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF8B4[] = +static const union AnimCmd sUnknownAnim_MASQUERAIN_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF8BC[] = +static const union AnimCmd sUnknownAnim_WAILMER_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(8, 15), @@ -283,7 +283,7 @@ static const union AnimCmd gUnknown_082FF8BC[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF8FC[] = +static const union AnimCmd sUnknownAnim_WAILMER_2[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(8, 15), @@ -295,7 +295,7 @@ static const union AnimCmd gUnknown_082FF8FC[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF91C[] = +static const union AnimCmd sUnknownAnim_WAILMER_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(9, 10), @@ -304,26 +304,26 @@ static const union AnimCmd gUnknown_082FF91C[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF930[] = +static const union AnimCmd sUnknownAnim_WAILMER_4[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(11, 15), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF93C[] = +static const union AnimCmd sUnknownAnim_SKITTY_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF944[] = +static const union AnimCmd sUnknownAnim_DELCATTY_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF94C[] = +static const union AnimCmd sUnknownAnim_KECLEON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 7), @@ -350,7 +350,7 @@ static const union AnimCmd gUnknown_082FF94C[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FF9A8[] = +static const union AnimCmd sUnknownAnim_KECLEON_2[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -376,7 +376,7 @@ static const union AnimCmd gUnknown_082FF9A8[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA00[] = +static const union AnimCmd sUnknownAnim_KECLEON_3[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -402,182 +402,182 @@ static const union AnimCmd gUnknown_082FFA00[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA58[] = +static const union AnimCmd sUnknownAnim_KECLEON_4[] = { ANIMCMD_FRAME(0,18), ANIMCMD_FRAME(10, 18), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA64[] = +static const union AnimCmd sUnknownAnim_BALTOY_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA6C[] = +static const union AnimCmd sUnknownAnim_CLAYDOL_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA74[] = +static const union AnimCmd sUnknownAnim_NOSEPASS_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA7C[] = +static const union AnimCmd sUnknownAnim_SABLEYE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA84[] = +static const union AnimCmd sUnknownAnim_SABLEYE_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA8C[] = +static const union AnimCmd sUnknownAnim_LUVDISC_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA94[] = +static const union AnimCmd sUnknownAnim_LUVDISC_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFA9C[] = +static const union AnimCmd sUnknownAnim_FEEBAS_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAA4[] = +static const union AnimCmd sUnknownAnim_FEEBAS_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAAC[] = +static const union AnimCmd sUnknownAnim_MILOTIC_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAB4[] = +static const union AnimCmd sUnknownAnim_MILOTIC_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFABC[] = +static const union AnimCmd sUnknownAnim_CARVANHA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAC4[] = +static const union AnimCmd sUnknownAnim_CARVANHA_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFACC[] = +static const union AnimCmd sUnknownAnim_SHARPEDO_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAD4[] = +static const union AnimCmd sUnknownAnim_SHARPEDO_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFADC[] = +static const union AnimCmd sUnknownAnim_TRAPINCH_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAE4[] = +static const union AnimCmd sUnknownAnim_VIBRAVA_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAEC[] = +static const union AnimCmd sUnknownAnim_FLYGON_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAF4[] = +static const union AnimCmd sUnknownAnim_MAKUHITA_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFAFC[] = +static const union AnimCmd sUnknownAnim_HARIYAMA_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB04[] = +static const union AnimCmd sUnknownAnim_ELECTRIKE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB0C[] = +static const union AnimCmd sUnknownAnim_ELECTRIKE_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB14[] = +static const union AnimCmd sUnknownAnim_MANECTRIC_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB1C[] = +static const union AnimCmd sUnknownAnim_NUMEL_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB24[] = +static const union AnimCmd sUnknownAnim_NUMEL_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB2C[] = +static const union AnimCmd sUnknownAnim_CAMERUPT_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB34[] = +static const union AnimCmd sUnknownAnim_SPHEAL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB3C[] = +static const union AnimCmd sUnknownAnim_SEALEO_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB44[] = +static const union AnimCmd sUnknownAnim_WALREIN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 18), @@ -588,7 +588,7 @@ static const union AnimCmd gUnknown_082FFB44[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB60[] = +static const union AnimCmd sUnknownAnim_WALREIN_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 18), @@ -599,7 +599,7 @@ static const union AnimCmd gUnknown_082FFB60[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFB7C[] = +static const union AnimCmd sUnknownAnim_AZURILL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -619,7 +619,7 @@ static const union AnimCmd gUnknown_082FFB7C[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFBBC[] = +static const union AnimCmd sUnknownAnim_AZURILL_2[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -632,7 +632,7 @@ static const union AnimCmd gUnknown_082FFBBC[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFBE0[] = +static const union AnimCmd sUnknownAnim_AZURILL_3[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(5, 12), @@ -641,61 +641,61 @@ static const union AnimCmd gUnknown_082FFBE0[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFBF4[] = +static const union AnimCmd sUnknownAnim_AZURILL_4[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFBFC[] = +static const union AnimCmd sUnknownAnim_SPOINK_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC04[] = +static const union AnimCmd sUnknownAnim_SPOINK_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC0C[] = +static const union AnimCmd sUnknownAnim_GRUMPIG_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC14[] = +static const union AnimCmd sUnknownAnim_PLUSLE_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC1C[] = +static const union AnimCmd sUnknownAnim_MINUN_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC24[] = +static const union AnimCmd sUnknownAnim_MAWILE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC2C[] = +static const union AnimCmd sUnknownAnim_MEDITITE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC34[] = +static const union AnimCmd sUnknownAnim_MEDICHAM_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC3C[] = +static const union AnimCmd sUnknownAnim_SWABLU_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -706,7 +706,7 @@ static const union AnimCmd gUnknown_082FFC3C[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC58[] = +static const union AnimCmd sUnknownAnim_SWABLU_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -717,217 +717,217 @@ static const union AnimCmd gUnknown_082FFC58[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC74[] = +static const union AnimCmd sUnknownAnim_ALTARIA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC7C[] = +static const union AnimCmd sUnknownAnim_WYNAUT_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC84[] = +static const union AnimCmd sUnknownAnim_WYNAUT_2[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC8C[] = +static const union AnimCmd sUnknownAnim_DUSKULL_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC94[] = +static const union AnimCmd sUnknownAnim_DUSKULL_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFC9C[] = +static const union AnimCmd sUnknownAnim_DUSCLOPS_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCA4[] = +static const union AnimCmd sUnknownAnim_DUSCLOPS_2[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCAC[] = +static const union AnimCmd sUnknownAnim_SLAKOTH_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCB4[] = +static const union AnimCmd sUnknownAnim_VIGOROTH_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCBC[] = +static const union AnimCmd sUnknownAnim_SLAKING_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCC4[] = +static const union AnimCmd sUnknownAnim_GULPIN_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCCC[] = +static const union AnimCmd sUnknownAnim_SWALOT_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCD4[] = +static const union AnimCmd sUnknownAnim_TROPIUS_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCDC[] = +static const union AnimCmd sUnknownAnim_CLAMPERL_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCE4[] = +static const union AnimCmd sUnknownAnim_ABSOL_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCEC[] = +static const union AnimCmd sUnknownAnim_SHUPPET_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCF4[] = +static const union AnimCmd sUnknownAnim_SHUPPET_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFCFC[] = +static const union AnimCmd sUnknownAnim_BANETTE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD04[] = +static const union AnimCmd sUnknownAnim_ARON_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD0C[] = +static const union AnimCmd sUnknownAnim_LAIRON_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD14[] = +static const union AnimCmd sUnknownAnim_AGGRON_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD1C[] = +static const union AnimCmd sUnknownAnim_CASTFORM_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD24[] = +static const union AnimCmd sUnknownAnim_CASTFORM_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD2C[] = +static const union AnimCmd sUnknownAnim_CASTFORM_3[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD34[] = +static const union AnimCmd sUnknownAnim_CASTFORM_4[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD3C[] = +static const union AnimCmd sUnknownAnim_VOLBEAT_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD44[] = +static const union AnimCmd sUnknownAnim_ILLUMISE_1[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD4C[] = +static const union AnimCmd sUnknownAnim_BAGON_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD54[] = +static const union AnimCmd sUnknownAnim_BAGON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD5C[] = +static const union AnimCmd sUnknownAnim_SALAMENCE_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD64[] = +static const union AnimCmd sUnknownAnim_SALAMENCE_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD6C[] = +static const union AnimCmd sUnknownAnim_REGIROCK_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD74[] = +static const union AnimCmd sUnknownAnim_REGICE_1[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD7C[] = +static const union AnimCmd sUnknownAnim_REGISTEEL_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD84[] = +static const union AnimCmd sUnknownAnim_REGISTEEL_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFD8C[] = +static const union AnimCmd sUnknownAnim_RAYQUAZA_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 30), @@ -936,7 +936,7 @@ static const union AnimCmd gUnknown_082FFD8C[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFDA0[] = +static const union AnimCmd sUnknownAnim_RAYQUAZA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -945,1372 +945,1378 @@ static const union AnimCmd gUnknown_082FFDA0[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFDB4[] = +static const union AnimCmd sUnknownAnim_Unused1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFDBC[] = +static const union AnimCmd sUnknownAnim_Unused2[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd gUnknown_082FFDC4[] = +static const union AnimCmd sUnknownAnim_JIRACHI_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_082FFDCC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDD0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDD4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDD8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDDC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDE0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDE4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDE8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDEC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDF0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDF4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDF8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFDFC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE00[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE04[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE08[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE0C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE10[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE14[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE18[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE1C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE20[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE24[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE28[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE2C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE30[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE34[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE38[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE3C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE40[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE44[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE48[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE4C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE50[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE54[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE58[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE5C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE60[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE64[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE68[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE6C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE70[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE74[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE78[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE7C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE80[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE84[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE88[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE8C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE90[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE94[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE98[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFE9C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEA0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEA4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEA8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEAC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEB0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEB4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEB8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEBC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEC0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEC4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEC8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFECC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFED0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFED4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFED8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEDC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEE0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEE4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEE8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEEC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEF0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEF4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEF8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFEFC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF00[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF04[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF08[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF0C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF10[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF14[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF18[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF1C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF20[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF24[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF28[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF2C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF30[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF34[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF38[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF3C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF40[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF44[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF48[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF4C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF50[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF54[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF58[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF5C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF60[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF64[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF68[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF6C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF70[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF74[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF78[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF7C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF80[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF84[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF88[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF8C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF90[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF94[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF98[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFF9C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFA0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFA4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFA8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFAC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFB0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFB4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFB8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFBC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFC0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFC4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFC8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFCC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFD0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFD4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFD8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFDC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFE0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFE4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFE8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFEC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFF0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFF4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFF8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_082FFFFC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300000[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300004[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300008[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830000C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300010[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300014[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300018[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830001C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300020[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300024[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300028[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830002C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300030[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300034[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300038[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830003C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300040[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300044[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300048[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830004C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300050[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300054[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300058[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830005C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300060[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300064[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300068[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830006C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300070[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300074[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300078[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830007C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300080[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300084[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300088[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830008C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300090[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300094[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300098[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830009C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000A0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000A4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000A8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000AC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000B0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000B4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000B8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000BC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000C0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000C4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000C8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000CC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000D0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000D4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000D8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000DC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000E0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000E4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000E8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000EC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000F0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000F4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000F8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083000FC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300100[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300104[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300108[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830010C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300110[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300114[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300118[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830011C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300120[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300124[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300128[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830012C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300130[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300134[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300138[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830013C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300140[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300144[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300148[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830014C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300150[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300154[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300158[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830015C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300160[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300164[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300168[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830016C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300170[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300174[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300178[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830017C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300180[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300184[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300188[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830018C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300190[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300194[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300198[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830019C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001A0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001A4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001A8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001AC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001B0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001B4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001B8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001BC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001C0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001C4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001C8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001CC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001D0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NONE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BULBASAUR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_IVYSAUR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VENUSAUR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CHARMANDER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CHARMELEON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CHARIZARD[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SQUIRTLE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WARTORTLE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BLASTOISE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CATERPIE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_METAPOD[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BUTTERFREE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WEEDLE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KAKUNA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BEEDRILL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PIDGEY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PIDGEOTTO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PIDGEOT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RATTATA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RATICATE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SPEAROW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_FEAROW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_EKANS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ARBOK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PIKACHU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RAICHU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SANDSHREW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SANDSLASH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NIDORAN_F[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NIDORINA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NIDOQUEEN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NIDORAN_M[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NIDORINO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NIDOKING[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CLEFAIRY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CLEFABLE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VULPIX[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NINETALES[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_JIGGLYPUFF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WIGGLYTUFF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ZUBAT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GOLBAT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ODDISH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GLOOM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VILEPLUME[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PARAS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PARASECT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VENONAT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VENOMOTH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DIGLETT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DUGTRIO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MEOWTH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PERSIAN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PSYDUCK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GOLDUCK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MANKEY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PRIMEAPE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GROWLITHE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ARCANINE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_POLIWAG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_POLIWHIRL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_POLIWRATH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ABRA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KADABRA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ALAKAZAM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MACHOP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MACHOKE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MACHAMP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BELLSPROUT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WEEPINBELL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VICTREEBEL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TENTACOOL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TENTACRUEL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GEODUDE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GRAVELER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GOLEM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PONYTA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RAPIDASH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SLOWPOKE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SLOWBRO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAGNEMITE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAGNETON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_FARFETCHD[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DODUO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DODRIO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SEEL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DEWGONG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GRIMER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MUK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SHELLDER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CLOYSTER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GASTLY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HAUNTER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GENGAR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ONIX[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DROWZEE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HYPNO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KRABBY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KINGLER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VOLTORB[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ELECTRODE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_EXEGGCUTE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_EXEGGUTOR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CUBONE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAROWAK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HITMONLEE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HITMONCHAN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LICKITUNG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KOFFING[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WEEZING[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RHYHORN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RHYDON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CHANSEY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TANGELA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KANGASKHAN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HORSEA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SEADRA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GOLDEEN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SEAKING[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_STARYU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_STARMIE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MR_MIME[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SCYTHER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_JYNX[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ELECTABUZZ[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAGMAR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PINSIR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TAUROS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAGIKARP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GYARADOS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LAPRAS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DITTO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_EEVEE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_VAPOREON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_JOLTEON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_FLAREON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PORYGON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_OMANYTE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_OMASTAR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KABUTO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KABUTOPS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_AERODACTYL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SNORLAX[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ARTICUNO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ZAPDOS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MOLTRES[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DRATINI[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DRAGONAIR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DRAGONITE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MEWTWO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MEW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CHIKORITA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BAYLEEF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MEGANIUM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CYNDAQUIL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_QUILAVA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TYPHLOSION[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TOTODILE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CROCONAW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_FERALIGATR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SENTRET[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_FURRET[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HOOTHOOT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NOCTOWL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LEDYBA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LEDIAN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SPINARAK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ARIADOS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CROBAT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CHINCHOU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LANTURN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PICHU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CLEFFA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_IGGLYBUFF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TOGEPI[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TOGETIC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NATU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_XATU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAREEP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_FLAAFFY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_AMPHAROS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BELLOSSOM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MARILL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_AZUMARILL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SUDOWOODO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_POLITOED[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HOPPIP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SKIPLOOM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_JUMPLUFF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_AIPOM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SUNKERN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SUNFLORA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_YANMA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WOOPER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_QUAGSIRE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ESPEON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UMBREON[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MURKROW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SLOWKING[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MISDREAVUS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WOBBUFFET[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GIRAFARIG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PINECO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_FORRETRESS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DUNSPARCE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GLIGAR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_STEELIX[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SNUBBULL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GRANBULL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_QWILFISH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SCIZOR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SHUCKLE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HERACROSS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SNEASEL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TEDDIURSA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_URSARING[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SLUGMA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAGCARGO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SWINUB[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PILOSWINE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CORSOLA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_REMORAID[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_OCTILLERY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DELIBIRD[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MANTINE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SKARMORY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HOUNDOUR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HOUNDOOM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KINGDRA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PHANPY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_DONPHAN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PORYGON2[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_STANTLER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SMEARGLE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TYROGUE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HITMONTOP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SMOOCHUM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ELEKID[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MAGBY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MILTANK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BLISSEY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RAIKOU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ENTEI[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SUICUNE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LARVITAR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_PUPITAR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TYRANITAR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LUGIA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HO_OH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CELEBI[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_OLD_UNOWN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TREECKO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GROVYLE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SCEPTILE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TORCHIC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_COMBUSKEN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001D4[] = +static const union AnimCmd *const sUnknownAnims_BLAZIKEN[] = { sAnim_GeneralFrame0, - gUnknown_082FF71C, - gUnknown_082FF734, - gUnknown_082FF744, - gUnknown_082FF750, + sUnknownAnim_BLAZIKEN_1, + sUnknownAnim_BLAZIKEN_2, + sUnknownAnim_BLAZIKEN_3, + sUnknownAnim_BLAZIKEN_4, }; -static const union AnimCmd *const gUnknown_083001E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_MUDKIP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083001EC[] = +static const union AnimCmd *const sUnknownAnims_MARSHTOMP[] = { sAnim_GeneralFrame0, - gUnknown_082FF758, - gUnknown_082FF774, - gUnknown_082FF790, + sUnknownAnim_MARSHTOMP_1, + sUnknownAnim_MARSHTOMP_2, + sUnknownAnim_MARSHTOMP_3, }; -static const union AnimCmd *const gUnknown_083001FC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SWAMPERT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300200[] = +static const union AnimCmd *const sUnknownAnims_POOCHYENA[] = { sAnim_GeneralFrame0, - gUnknown_082FF79C, - gUnknown_082FF7B0, + sUnknownAnim_POOCHYENA_1, + sUnknownAnim_POOCHYENA_2, }; -static const union AnimCmd *const gUnknown_0830020C[] = +static const union AnimCmd *const sUnknownAnims_MIGHTYENA[] = { sAnim_GeneralFrame0, - gUnknown_082FF7C4, + sUnknownAnim_MIGHTYENA_1, }; -static const union AnimCmd *const gUnknown_08300214[] = +static const union AnimCmd *const sUnknownAnims_ZIGZAGOON[] = { sAnim_GeneralFrame0, - gUnknown_082FF7CC, + sUnknownAnim_ZIGZAGOON_1, }; -static const union AnimCmd *const gUnknown_0830021C[] = +static const union AnimCmd *const sUnknownAnims_LINOONE[] = { sAnim_GeneralFrame0, - gUnknown_082FF7D4, + sUnknownAnim_LINOONE_1, }; -static const union AnimCmd *const gUnknown_08300224[] = +static const union AnimCmd *const sUnknownAnims_WURMPLE[] = { sAnim_GeneralFrame0, - gUnknown_082FF7DC, - gUnknown_082FF7E4, + sUnknownAnim_WURMPLE_1, + sUnknownAnim_WURMPLE_2, }; -static const union AnimCmd *const gUnknown_08300230[] = +static const union AnimCmd *const sUnknownAnims_SILCOON[] = { sAnim_GeneralFrame0, - gUnknown_082FF7EC, - gUnknown_082FF7F4, + sUnknownAnim_SILCOON_1, + sUnknownAnim_SILCOON_2, }; -static const union AnimCmd *const gUnknown_0830023C[] = +static const union AnimCmd *const sUnknownAnims_BEAUTIFLY[] = { sAnim_GeneralFrame0, - gUnknown_082FF7FC, - gUnknown_082FF804, + sUnknownAnim_BEAUTIFLY_1, + sUnknownAnim_BEAUTIFLY_2, }; -static const union AnimCmd *const gUnknown_08300248[] = +static const union AnimCmd *const sUnknownAnims_CASCOON[] = { sAnim_GeneralFrame0, - gUnknown_082FF80C, - gUnknown_082FF814, + sUnknownAnim_CASCOON_1, + sUnknownAnim_CASCOON_2, }; -static const union AnimCmd *const gUnknown_08300254[] = +static const union AnimCmd *const sUnknownAnims_DUSTOX[] = { sAnim_GeneralFrame0, - gUnknown_082FF81C, - gUnknown_082FF824, + sUnknownAnim_DUSTOX_1, + sUnknownAnim_DUSTOX_2, }; -static const union AnimCmd *const gUnknown_08300260[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LOTAD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300264[] = +static const union AnimCmd *const sUnknownAnims_LOMBRE[] = { sAnim_GeneralFrame0, - gUnknown_082FF82C, + sUnknownAnim_LOMBRE_1, }; -static const union AnimCmd *const gUnknown_0830026C[] = +static const union AnimCmd *const sUnknownAnims_LUDICOLO[] = { sAnim_GeneralFrame0, - gUnknown_082FF834, - gUnknown_082FF83C, + sUnknownAnim_LUDICOLO_1, + sUnknownAnim_LUDICOLO_2, }; -static const union AnimCmd *const gUnknown_08300278[] = +static const union AnimCmd *const sUnknownAnims_SEEDOT[] = { sAnim_GeneralFrame0, - gUnknown_082FF844, + sUnknownAnim_SEEDOT_1, }; -static const union AnimCmd *const gUnknown_08300280[] = +static const union AnimCmd *const sUnknownAnims_NUZLEAF[] = { sAnim_GeneralFrame0, - gUnknown_082FF84C, + sUnknownAnim_NUZLEAF_1, }; -static const union AnimCmd *const gUnknown_08300288[] = +static const union AnimCmd *const sUnknownAnims_SHIFTRY[] = { sAnim_GeneralFrame0, - gUnknown_082FF854, - gUnknown_082FF85C, + sUnknownAnim_SHIFTRY_1, + sUnknownAnim_SHIFTRY_2, }; -static const union AnimCmd *const gUnknown_08300294[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300298[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830029C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NINCADA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_NINJASK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SHEDINJA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083002A0[] = +static const union AnimCmd *const sUnknownAnims_TAILLOW[] = { sAnim_GeneralFrame0, - gUnknown_082FF864, + sUnknownAnim_TAILLOW_1, }; -static const union AnimCmd *const gUnknown_083002A8[] = +static const union AnimCmd *const sUnknownAnims_SWELLOW[] = { sAnim_GeneralFrame0, - gUnknown_082FF86C, + sUnknownAnim_SWELLOW_1, }; -static const union AnimCmd *const gUnknown_083002B0[] = +static const union AnimCmd *const sUnknownAnims_SHROOMISH[] = { sAnim_GeneralFrame0, - gUnknown_082FF874, + sUnknownAnim_SHROOMISH_1, }; -static const union AnimCmd *const gUnknown_083002B8[] = +static const union AnimCmd *const sUnknownAnims_BRELOOM[] = { sAnim_GeneralFrame0, - gUnknown_082FF87C, + sUnknownAnim_BRELOOM_1, }; -static const union AnimCmd *const gUnknown_083002C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SPINDA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083002C4[] = +static const union AnimCmd *const sUnknownAnims_WINGULL[] = { sAnim_GeneralFrame0, - gUnknown_082FF884, + sUnknownAnim_WINGULL_1, }; -static const union AnimCmd *const gUnknown_083002CC[] = +static const union AnimCmd *const sUnknownAnims_PELIPPER[] = { sAnim_GeneralFrame0, - gUnknown_082FF88C, - gUnknown_082FF894, + sUnknownAnim_PELIPPER_1, + sUnknownAnim_PELIPPER_2, }; -static const union AnimCmd *const gUnknown_083002D8[] = +static const union AnimCmd *const sUnknownAnims_SURSKIT[] = { sAnim_GeneralFrame0, - gUnknown_082FF89C, - gUnknown_082FF8A4, + sUnknownAnim_SURSKIT_1, + sUnknownAnim_SURSKIT_2, }; -static const union AnimCmd *const gUnknown_083002E4[] = +static const union AnimCmd *const sUnknownAnims_MASQUERAIN[] = { sAnim_GeneralFrame0, - gUnknown_082FF8AC, - gUnknown_082FF8B4, + sUnknownAnim_MASQUERAIN_1, + sUnknownAnim_MASQUERAIN_2, }; -static const union AnimCmd *const gUnknown_083002F0[] = +static const union AnimCmd *const sUnknownAnims_WAILMER[] = { sAnim_GeneralFrame0, - gUnknown_082FF8BC, - gUnknown_082FF8FC, - gUnknown_082FF91C, - gUnknown_082FF930, + sUnknownAnim_WAILMER_1, + sUnknownAnim_WAILMER_2, + sUnknownAnim_WAILMER_3, + sUnknownAnim_WAILMER_4, }; -static const union AnimCmd *const gUnknown_08300304[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WAILORD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300308[] = +static const union AnimCmd *const sUnknownAnims_SKITTY[] = { sAnim_GeneralFrame0, - gUnknown_082FF93C, + sUnknownAnim_SKITTY_1, }; -static const union AnimCmd *const gUnknown_08300310[] = +static const union AnimCmd *const sUnknownAnims_DELCATTY[] = { sAnim_GeneralFrame0, - gUnknown_082FF944, + sUnknownAnim_DELCATTY_1, }; -static const union AnimCmd *const gUnknown_08300318[] = +static const union AnimCmd *const sUnknownAnims_KECLEON[] = { sAnim_GeneralFrame0, - gUnknown_082FF94C, - gUnknown_082FF9A8, - gUnknown_082FFA00, - gUnknown_082FFA58, + sUnknownAnim_KECLEON_1, + sUnknownAnim_KECLEON_2, + sUnknownAnim_KECLEON_3, + sUnknownAnim_KECLEON_4, }; -static const union AnimCmd *const gUnknown_0830032C[] = +static const union AnimCmd *const sUnknownAnims_BALTOY[] = { sAnim_GeneralFrame0, - gUnknown_082FFA64, + sUnknownAnim_BALTOY_1, }; -static const union AnimCmd *const gUnknown_08300334[] = +static const union AnimCmd *const sUnknownAnims_CLAYDOL[] = { sAnim_GeneralFrame0, - gUnknown_082FFA6C, + sUnknownAnim_CLAYDOL_1, }; -static const union AnimCmd *const gUnknown_0830033C[] = +static const union AnimCmd *const sUnknownAnims_NOSEPASS[] = { sAnim_GeneralFrame0, - gUnknown_082FFA74, + sUnknownAnim_NOSEPASS_1, }; -static const union AnimCmd *const gUnknown_08300344[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_TORKOAL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300348[] = +static const union AnimCmd *const sUnknownAnims_SABLEYE[] = { sAnim_GeneralFrame0, - gUnknown_082FFA7C, - gUnknown_082FFA84, + sUnknownAnim_SABLEYE_1, + sUnknownAnim_SABLEYE_2, }; -static const union AnimCmd *const gUnknown_08300354[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300358[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BARBOACH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WHISCASH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830035C[] = +static const union AnimCmd *const sUnknownAnims_LUVDISC[] = { sAnim_GeneralFrame0, - gUnknown_082FFA8C, - gUnknown_082FFA94, + sUnknownAnim_LUVDISC_1, + sUnknownAnim_LUVDISC_2, }; -static const union AnimCmd *const gUnknown_08300368[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830036C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CORPHISH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CRAWDAUNT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300370[] = +static const union AnimCmd *const sUnknownAnims_FEEBAS[] = { sAnim_GeneralFrame0, - gUnknown_082FFA9C, - gUnknown_082FFAA4, + sUnknownAnim_FEEBAS_1, + sUnknownAnim_FEEBAS_2, }; -static const union AnimCmd *const gUnknown_0830037C[] = +static const union AnimCmd *const sUnknownAnims_MILOTIC[] = { sAnim_GeneralFrame0, - gUnknown_082FFAAC, - gUnknown_082FFAB4, + sUnknownAnim_MILOTIC_1, + sUnknownAnim_MILOTIC_2, }; -static const union AnimCmd *const gUnknown_08300388[] = +static const union AnimCmd *const sUnknownAnims_CARVANHA[] = { sAnim_GeneralFrame0, - gUnknown_082FFABC, - gUnknown_082FFAC4, + sUnknownAnim_CARVANHA_1, + sUnknownAnim_CARVANHA_2, }; -static const union AnimCmd *const gUnknown_08300394[] = +static const union AnimCmd *const sUnknownAnims_SHARPEDO[] = { sAnim_GeneralFrame0, - gUnknown_082FFACC, - gUnknown_082FFAD4, + sUnknownAnim_SHARPEDO_1, + sUnknownAnim_SHARPEDO_2, }; -static const union AnimCmd *const gUnknown_083003A0[] = +static const union AnimCmd *const sUnknownAnims_TRAPINCH[] = { sAnim_GeneralFrame0, - gUnknown_082FFADC, + sUnknownAnim_TRAPINCH_1, }; -static const union AnimCmd *const gUnknown_083003A8[] = +static const union AnimCmd *const sUnknownAnims_VIBRAVA[] = { sAnim_GeneralFrame0, - gUnknown_082FFAE4, + sUnknownAnim_VIBRAVA_1, }; -static const union AnimCmd *const gUnknown_083003B0[] = +static const union AnimCmd *const sUnknownAnims_FLYGON[] = { sAnim_GeneralFrame0, - gUnknown_082FFAEC, + sUnknownAnim_FLYGON_1, }; -static const union AnimCmd *const gUnknown_083003B8[] = +static const union AnimCmd *const sUnknownAnims_MAKUHITA[] = { sAnim_GeneralFrame0, - gUnknown_082FFAF4, + sUnknownAnim_MAKUHITA_1, }; -static const union AnimCmd *const gUnknown_083003C0[] = +static const union AnimCmd *const sUnknownAnims_HARIYAMA[] = { sAnim_GeneralFrame0, - gUnknown_082FFAFC, + sUnknownAnim_HARIYAMA_1, }; -static const union AnimCmd *const gUnknown_083003C8[] = +static const union AnimCmd *const sUnknownAnims_ELECTRIKE[] = { sAnim_GeneralFrame0, - gUnknown_082FFB04, - gUnknown_082FFB0C, + sUnknownAnim_ELECTRIKE_1, + sUnknownAnim_ELECTRIKE_2, }; -static const union AnimCmd *const gUnknown_083003D4[] = +static const union AnimCmd *const sUnknownAnims_MANECTRIC[] = { sAnim_GeneralFrame0, - gUnknown_082FFB14, + sUnknownAnim_MANECTRIC_1, }; -static const union AnimCmd *const gUnknown_083003DC[] = +static const union AnimCmd *const sUnknownAnims_NUMEL[] = { sAnim_GeneralFrame0, - gUnknown_082FFB1C, - gUnknown_082FFB24, + sUnknownAnim_NUMEL_1, + sUnknownAnim_NUMEL_2, }; -static const union AnimCmd *const gUnknown_083003E8[] = +static const union AnimCmd *const sUnknownAnims_CAMERUPT[] = { sAnim_GeneralFrame0, - gUnknown_082FFB2C, + sUnknownAnim_CAMERUPT_1, }; -static const union AnimCmd *const gUnknown_083003F0[] = +static const union AnimCmd *const sUnknownAnims_SPHEAL[] = { sAnim_GeneralFrame0, - gUnknown_082FFB34, + sUnknownAnim_SPHEAL_1, }; -static const union AnimCmd *const gUnknown_083003F8[] = +static const union AnimCmd *const sUnknownAnims_SEALEO[] = { sAnim_GeneralFrame0, - gUnknown_082FFB3C, + sUnknownAnim_SEALEO_1, }; -static const union AnimCmd *const gUnknown_08300400[] = +static const union AnimCmd *const sUnknownAnims_WALREIN[] = { sAnim_GeneralFrame0, - gUnknown_082FFB44, - gUnknown_082FFB60, + sUnknownAnim_WALREIN_1, + sUnknownAnim_WALREIN_2, }; -static const union AnimCmd *const gUnknown_0830040C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300410[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300414[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300418[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830041C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300420[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CACNEA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CACTURNE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SNORUNT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GLALIE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LUNATONE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SOLROCK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300424[] = +static const union AnimCmd *const sUnknownAnims_AZURILL[] = { sAnim_GeneralFrame0, - gUnknown_082FFB7C, - gUnknown_082FFBBC, - gUnknown_082FFBE0, - gUnknown_082FFBF4, + sUnknownAnim_AZURILL_1, + sUnknownAnim_AZURILL_2, + sUnknownAnim_AZURILL_3, + sUnknownAnim_AZURILL_4, }; -static const union AnimCmd *const gUnknown_08300438[] = +static const union AnimCmd *const sUnknownAnims_SPOINK[] = { sAnim_GeneralFrame0, - gUnknown_082FFBFC, - gUnknown_082FFC04, + sUnknownAnim_SPOINK_1, + sUnknownAnim_SPOINK_2, }; -static const union AnimCmd *const gUnknown_08300444[] = +static const union AnimCmd *const sUnknownAnims_GRUMPIG[] = { sAnim_GeneralFrame0, - gUnknown_082FFC0C, + sUnknownAnim_GRUMPIG_1, }; -static const union AnimCmd *const gUnknown_0830044C[] = +static const union AnimCmd *const sUnknownAnims_PLUSLE[] = { sAnim_GeneralFrame0, - gUnknown_082FFC14, + sUnknownAnim_PLUSLE_1, }; -static const union AnimCmd *const gUnknown_08300454[] = +static const union AnimCmd *const sUnknownAnims_MINUN[] = { sAnim_GeneralFrame0, - gUnknown_082FFC1C, + sUnknownAnim_MINUN_1, }; -static const union AnimCmd *const gUnknown_0830045C[] = +static const union AnimCmd *const sUnknownAnims_MAWILE[] = { sAnim_GeneralFrame0, - gUnknown_082FFC24, + sUnknownAnim_MAWILE_1, }; -static const union AnimCmd *const gUnknown_08300464[] = +static const union AnimCmd *const sUnknownAnims_MEDITITE[] = { sAnim_GeneralFrame0, - gUnknown_082FFC2C, + sUnknownAnim_MEDITITE_1, }; -static const union AnimCmd *const gUnknown_0830046C[] = +static const union AnimCmd *const sUnknownAnims_MEDICHAM[] = { sAnim_GeneralFrame0, - gUnknown_082FFC34, + sUnknownAnim_MEDICHAM_1, }; -static const union AnimCmd *const gUnknown_08300474[] = +static const union AnimCmd *const sUnknownAnims_SWABLU[] = { sAnim_GeneralFrame0, - gUnknown_082FFC3C, - gUnknown_082FFC58, + sUnknownAnim_SWABLU_1, + sUnknownAnim_SWABLU_2, }; -static const union AnimCmd *const gUnknown_08300480[] = +static const union AnimCmd *const sUnknownAnims_ALTARIA[] = { sAnim_GeneralFrame0, - gUnknown_082FFC74, + sUnknownAnim_ALTARIA_1, }; -static const union AnimCmd *const gUnknown_08300488[] = +static const union AnimCmd *const sUnknownAnims_WYNAUT[] = { sAnim_GeneralFrame0, - gUnknown_082FFC7C, - gUnknown_082FFC84, + sUnknownAnim_WYNAUT_1, + sUnknownAnim_WYNAUT_2, }; -static const union AnimCmd *const gUnknown_08300494[] = +static const union AnimCmd *const sUnknownAnims_DUSKULL[] = { sAnim_GeneralFrame0, - gUnknown_082FFC8C, - gUnknown_082FFC94, + sUnknownAnim_DUSKULL_1, + sUnknownAnim_DUSKULL_2, }; -static const union AnimCmd *const gUnknown_083004A0[] = +static const union AnimCmd *const sUnknownAnims_DUSCLOPS[] = { sAnim_GeneralFrame0, - gUnknown_082FFC9C, - gUnknown_082FFCA4, + sUnknownAnim_DUSCLOPS_1, + sUnknownAnim_DUSCLOPS_2, }; -static const union AnimCmd *const gUnknown_083004AC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ROSELIA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083004B0[] = +static const union AnimCmd *const sUnknownAnims_SLAKOTH[] = { sAnim_GeneralFrame0, - gUnknown_082FFCAC, + sUnknownAnim_SLAKOTH_1, }; -static const union AnimCmd *const gUnknown_083004B8[] = +static const union AnimCmd *const sUnknownAnims_VIGOROTH[] = { sAnim_GeneralFrame0, - gUnknown_082FFCB4, + sUnknownAnim_VIGOROTH_1, }; -static const union AnimCmd *const gUnknown_083004C0[] = +static const union AnimCmd *const sUnknownAnims_SLAKING[] = { sAnim_GeneralFrame0, - gUnknown_082FFCBC, + sUnknownAnim_SLAKING_1, }; -static const union AnimCmd *const gUnknown_083004C8[] = +static const union AnimCmd *const sUnknownAnims_GULPIN[] = { sAnim_GeneralFrame0, - gUnknown_082FFCC4, + sUnknownAnim_GULPIN_1, }; -static const union AnimCmd *const gUnknown_083004D0[] = +static const union AnimCmd *const sUnknownAnims_SWALOT[] = { sAnim_GeneralFrame0, - gUnknown_082FFCCC, + sUnknownAnim_SWALOT_1, }; -static const union AnimCmd *const gUnknown_083004D8[] = +static const union AnimCmd *const sUnknownAnims_TROPIUS[] = { sAnim_GeneralFrame0, - gUnknown_082FFCD4, + sUnknownAnim_TROPIUS_1, }; -static const union AnimCmd *const gUnknown_083004E0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083004E4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083004E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_WHISMUR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LOUDRED[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_EXPLOUD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083004EC[] = +static const union AnimCmd *const sUnknownAnims_CLAMPERL[] = { sAnim_GeneralFrame0, - gUnknown_082FFCDC, + sUnknownAnim_CLAMPERL_1, }; -static const union AnimCmd *const gUnknown_083004F4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083004F8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_HUNTAIL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GOREBYSS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083004FC[] = +static const union AnimCmd *const sUnknownAnims_ABSOL[] = { sAnim_GeneralFrame0, - gUnknown_082FFCE4, + sUnknownAnim_ABSOL_1, }; -static const union AnimCmd *const gUnknown_08300504[] = +static const union AnimCmd *const sUnknownAnims_SHUPPET[] = { sAnim_GeneralFrame0, - gUnknown_082FFCEC, - gUnknown_082FFCF4, + sUnknownAnim_SHUPPET_1, + sUnknownAnim_SHUPPET_2, }; -static const union AnimCmd *const gUnknown_08300510[] = +static const union AnimCmd *const sUnknownAnims_BANETTE[] = { sAnim_GeneralFrame0, - gUnknown_082FFCFC, + sUnknownAnim_BANETTE_1, }; -static const union AnimCmd *const gUnknown_08300518[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830051C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300520[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SEVIPER[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ZANGOOSE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RELICANTH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300524[] = +static const union AnimCmd *const sUnknownAnims_ARON[] = { sAnim_GeneralFrame0, - gUnknown_082FFD04, + sUnknownAnim_ARON_1, }; -static const union AnimCmd *const gUnknown_0830052C[] = +static const union AnimCmd *const sUnknownAnims_LAIRON[] = { sAnim_GeneralFrame0, - gUnknown_082FFD0C, + sUnknownAnim_LAIRON_1, }; -static const union AnimCmd *const gUnknown_08300534[] = +static const union AnimCmd *const sUnknownAnims_AGGRON[] = { sAnim_GeneralFrame0, - gUnknown_082FFD14, + sUnknownAnim_AGGRON_1, }; -static const union AnimCmd *const gUnknown_0830053C[] = +static const union AnimCmd *const sUnknownAnims_CASTFORM[] = { sAnim_GeneralFrame0, - gUnknown_082FFD1C, - gUnknown_082FFD24, - gUnknown_082FFD2C, - gUnknown_082FFD34, + sUnknownAnim_CASTFORM_1, + sUnknownAnim_CASTFORM_2, + sUnknownAnim_CASTFORM_3, + sUnknownAnim_CASTFORM_4, }; -static const union AnimCmd *const gUnknown_08300550[] = +static const union AnimCmd *const sUnknownAnims_VOLBEAT[] = { sAnim_GeneralFrame0, - gUnknown_082FFD3C, + sUnknownAnim_VOLBEAT_1, }; -static const union AnimCmd *const gUnknown_08300558[] = +static const union AnimCmd *const sUnknownAnims_ILLUMISE[] = { sAnim_GeneralFrame0, - gUnknown_082FFD44, + sUnknownAnim_ILLUMISE_1, }; -static const union AnimCmd *const gUnknown_08300560[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300564[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300568[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830056C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300570[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300574[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300578[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LILEEP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CRADILY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ANORITH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_ARMALDO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_RALTS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KIRLIA[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GARDEVOIR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830057C[] = +static const union AnimCmd *const sUnknownAnims_BAGON[] = { sAnim_GeneralFrame0, - gUnknown_082FFD4C, - gUnknown_082FFD54, + sUnknownAnim_BAGON_1, + sUnknownAnim_BAGON_2, }; -static const union AnimCmd *const gUnknown_08300588[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_SHELGON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830058C[] = +static const union AnimCmd *const sUnknownAnims_SALAMENCE[] = { sAnim_GeneralFrame0, - gUnknown_082FFD5C, - gUnknown_082FFD64, + sUnknownAnim_SALAMENCE_1, + sUnknownAnim_SALAMENCE_2, }; -static const union AnimCmd *const gUnknown_08300598[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830059C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005A0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_BELDUM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_METANG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_METAGROSS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005A4[] = +static const union AnimCmd *const sUnknownAnims_REGIROCK[] = { sAnim_GeneralFrame0, - gUnknown_082FFD6C, + sUnknownAnim_REGIROCK_1, }; -static const union AnimCmd *const gUnknown_083005AC[] = +static const union AnimCmd *const sUnknownAnims_REGICE[] = { sAnim_GeneralFrame0, - gUnknown_082FFD74, + sUnknownAnim_REGICE_1, }; -static const union AnimCmd *const gUnknown_083005B4[] = +static const union AnimCmd *const sUnknownAnims_REGISTEEL[] = { sAnim_GeneralFrame0, - gUnknown_082FFD7C, - gUnknown_082FFD84, + sUnknownAnim_REGISTEEL_1, + sUnknownAnim_REGISTEEL_2, }; -static const union AnimCmd *const gUnknown_083005C0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005C4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_KYOGRE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_GROUDON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005C8[] = +static const union AnimCmd *const sUnknownAnims_RAYQUAZA[] = { sAnim_GeneralFrame0, - gUnknown_082FFD8C, - gUnknown_082FFDA0, + sUnknownAnim_RAYQUAZA_1, + sUnknownAnim_RAYQUAZA_2, }; -static const union AnimCmd *const gUnknown_083005D4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005D8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LATIAS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_LATIOS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005DC[] = +static const union AnimCmd *const sUnknownAnims_JIRACHI[] = { sAnim_GeneralFrame0, - gUnknown_082FFDC4, + sUnknownAnim_JIRACHI_1, }; -static const union AnimCmd *const gUnknown_083005E4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005E8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005EC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005F0[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005F4[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005F8[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_083005FC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300600[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300604[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300608[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830060C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300610[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300614[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300618[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830061C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300620[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300624[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300628[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830062C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300630[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300634[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300638[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830063C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300640[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300644[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300648[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_0830064C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300650[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const gUnknown_08300654[] = {sAnim_GeneralFrame0}; - -const union AnimCmd *const *const gUnknownAnimsTable[] = -{ - gUnknown_082FFDCC, - gUnknown_082FFDD0, - gUnknown_082FFDD4, - gUnknown_082FFDD8, - gUnknown_082FFDDC, - gUnknown_082FFDE0, - gUnknown_082FFDE4, - gUnknown_082FFDE8, - gUnknown_082FFDEC, - gUnknown_082FFDF0, - gUnknown_082FFDF4, - gUnknown_082FFDF8, - gUnknown_082FFDFC, - gUnknown_082FFE00, - gUnknown_082FFE04, - gUnknown_082FFE08, - gUnknown_082FFE0C, - gUnknown_082FFE10, - gUnknown_082FFE14, - gUnknown_082FFE18, - gUnknown_082FFE1C, - gUnknown_082FFE20, - gUnknown_082FFE24, - gUnknown_082FFE28, - gUnknown_082FFE2C, - gUnknown_082FFE30, - gUnknown_082FFE34, - gUnknown_082FFE38, - gUnknown_082FFE3C, - gUnknown_082FFE40, - gUnknown_082FFE44, - gUnknown_082FFE48, - gUnknown_082FFE4C, - gUnknown_082FFE50, - gUnknown_082FFE54, - gUnknown_082FFE58, - gUnknown_082FFE5C, - gUnknown_082FFE60, - gUnknown_082FFE64, - gUnknown_082FFE68, - gUnknown_082FFE6C, - gUnknown_082FFE70, - gUnknown_082FFE74, - gUnknown_082FFE78, - gUnknown_082FFE7C, - gUnknown_082FFE80, - gUnknown_082FFE84, - gUnknown_082FFE88, - gUnknown_082FFE8C, - gUnknown_082FFE90, - gUnknown_082FFE94, - gUnknown_082FFE98, - gUnknown_082FFE9C, - gUnknown_082FFEA0, - gUnknown_082FFEA4, - gUnknown_082FFEA8, - gUnknown_082FFEAC, - gUnknown_082FFEB0, - gUnknown_082FFEB4, - gUnknown_082FFEB8, - gUnknown_082FFEBC, - gUnknown_082FFEC0, - gUnknown_082FFEC4, - gUnknown_082FFEC8, - gUnknown_082FFECC, - gUnknown_082FFED0, - gUnknown_082FFED4, - gUnknown_082FFED8, - gUnknown_082FFEDC, - gUnknown_082FFEE0, - gUnknown_082FFEE4, - gUnknown_082FFEE8, - gUnknown_082FFEEC, - gUnknown_082FFEF0, - gUnknown_082FFEF4, - gUnknown_082FFEF8, - gUnknown_082FFEFC, - gUnknown_082FFF00, - gUnknown_082FFF04, - gUnknown_082FFF08, - gUnknown_082FFF0C, - gUnknown_082FFF10, - gUnknown_082FFF14, - gUnknown_082FFF18, - gUnknown_082FFF1C, - gUnknown_082FFF20, - gUnknown_082FFF24, - gUnknown_082FFF28, - gUnknown_082FFF2C, - gUnknown_082FFF30, - gUnknown_082FFF34, - gUnknown_082FFF38, - gUnknown_082FFF3C, - gUnknown_082FFF40, - gUnknown_082FFF44, - gUnknown_082FFF48, - gUnknown_082FFF4C, - gUnknown_082FFF50, - gUnknown_082FFF54, - gUnknown_082FFF58, - gUnknown_082FFF5C, - gUnknown_082FFF60, - gUnknown_082FFF64, - gUnknown_082FFF68, - gUnknown_082FFF6C, - gUnknown_082FFF70, - gUnknown_082FFF74, - gUnknown_082FFF78, - gUnknown_082FFF7C, - gUnknown_082FFF80, - gUnknown_082FFF84, - gUnknown_082FFF88, - gUnknown_082FFF8C, - gUnknown_082FFF90, - gUnknown_082FFF94, - gUnknown_082FFF98, - gUnknown_082FFF9C, - gUnknown_082FFFA0, - gUnknown_082FFFA4, - gUnknown_082FFFA8, - gUnknown_082FFFAC, - gUnknown_082FFFB0, - gUnknown_082FFFB4, - gUnknown_082FFFB8, - gUnknown_082FFFBC, - gUnknown_082FFFC0, - gUnknown_082FFFC4, - gUnknown_082FFFC8, - gUnknown_082FFFCC, - gUnknown_082FFFD0, - gUnknown_082FFFD4, - gUnknown_082FFFD8, - gUnknown_082FFFDC, - gUnknown_082FFFE0, - gUnknown_082FFFE4, - gUnknown_082FFFE8, - gUnknown_082FFFEC, - gUnknown_082FFFF0, - gUnknown_082FFFF4, - gUnknown_082FFFF8, - gUnknown_082FFFFC, - gUnknown_08300000, - gUnknown_08300004, - gUnknown_08300008, - gUnknown_0830000C, - gUnknown_08300010, - gUnknown_08300014, - gUnknown_08300018, - gUnknown_0830001C, - gUnknown_08300020, - gUnknown_08300024, - gUnknown_08300028, - gUnknown_0830002C, - gUnknown_08300030, - gUnknown_08300034, - gUnknown_08300038, - gUnknown_0830003C, - gUnknown_08300040, - gUnknown_08300044, - gUnknown_08300048, - gUnknown_0830004C, - gUnknown_08300050, - gUnknown_08300054, - gUnknown_08300058, - gUnknown_0830005C, - gUnknown_08300060, - gUnknown_08300064, - gUnknown_08300068, - gUnknown_0830006C, - gUnknown_08300070, - gUnknown_08300074, - gUnknown_08300078, - gUnknown_0830007C, - gUnknown_08300080, - gUnknown_08300084, - gUnknown_08300088, - gUnknown_0830008C, - gUnknown_08300090, - gUnknown_08300094, - gUnknown_08300098, - gUnknown_0830009C, - gUnknown_083000A0, - gUnknown_083000A4, - gUnknown_083000A8, - gUnknown_083000AC, - gUnknown_083000B0, - gUnknown_083000B4, - gUnknown_083000B8, - gUnknown_083000BC, - gUnknown_083000C0, - gUnknown_083000C4, - gUnknown_083000C8, - gUnknown_083000CC, - gUnknown_083000D0, - gUnknown_083000D4, - gUnknown_083000D8, - gUnknown_083000DC, - gUnknown_083000E0, - gUnknown_083000E4, - gUnknown_083000E8, - gUnknown_083000EC, - gUnknown_083000F0, - gUnknown_083000F4, - gUnknown_083000F8, - gUnknown_083000FC, - gUnknown_08300100, - gUnknown_08300104, - gUnknown_08300108, - gUnknown_0830010C, - gUnknown_08300110, - gUnknown_08300114, - gUnknown_08300118, - gUnknown_0830011C, - gUnknown_08300120, - gUnknown_08300124, - gUnknown_08300128, - gUnknown_0830012C, - gUnknown_08300130, - gUnknown_08300134, - gUnknown_08300138, - gUnknown_0830013C, - gUnknown_08300140, - gUnknown_08300144, - gUnknown_08300148, - gUnknown_0830014C, - gUnknown_08300150, - gUnknown_08300154, - gUnknown_08300158, - gUnknown_0830015C, - gUnknown_08300160, - gUnknown_08300164, - gUnknown_08300168, - gUnknown_0830016C, - gUnknown_08300170, - gUnknown_08300174, - gUnknown_08300178, - gUnknown_0830017C, - gUnknown_08300180, - gUnknown_08300184, - gUnknown_08300188, - gUnknown_0830018C, - gUnknown_08300190, - gUnknown_08300194, - gUnknown_08300198, - gUnknown_0830019C, - gUnknown_083001A0, - gUnknown_083001A4, - gUnknown_083001A8, - gUnknown_083001AC, - gUnknown_083001B0, - gUnknown_083001B4, - gUnknown_083001B8, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001BC, - gUnknown_083001C0, - gUnknown_083001C4, - gUnknown_083001C8, - gUnknown_083001CC, - gUnknown_083001D0, - gUnknown_083001D4, - gUnknown_083001E8, - gUnknown_083001EC, - gUnknown_083001FC, - gUnknown_08300200, - gUnknown_0830020C, - gUnknown_08300214, - gUnknown_0830021C, - gUnknown_08300224, - gUnknown_08300230, - gUnknown_0830023C, - gUnknown_08300248, - gUnknown_08300254, - gUnknown_08300260, - gUnknown_08300264, - gUnknown_0830026C, - gUnknown_08300278, - gUnknown_08300280, - gUnknown_08300288, - gUnknown_08300294, - gUnknown_08300298, - gUnknown_0830029C, - gUnknown_083002A0, - gUnknown_083002A8, - gUnknown_083002B0, - gUnknown_083002B8, - gUnknown_083002C0, - gUnknown_083002C4, - gUnknown_083002CC, - gUnknown_083002D8, - gUnknown_083002E4, - gUnknown_083002F0, - gUnknown_08300304, - gUnknown_08300308, - gUnknown_08300310, - gUnknown_08300318, - gUnknown_0830032C, - gUnknown_08300334, - gUnknown_0830033C, - gUnknown_08300344, - gUnknown_08300348, - gUnknown_08300354, - gUnknown_08300358, - gUnknown_0830035C, - gUnknown_08300368, - gUnknown_0830036C, - gUnknown_08300370, - gUnknown_0830037C, - gUnknown_08300388, - gUnknown_08300394, - gUnknown_083003A0, - gUnknown_083003A8, - gUnknown_083003B0, - gUnknown_083003B8, - gUnknown_083003C0, - gUnknown_083003C8, - gUnknown_083003D4, - gUnknown_083003DC, - gUnknown_083003E8, - gUnknown_083003F0, - gUnknown_083003F8, - gUnknown_08300400, - gUnknown_0830040C, - gUnknown_08300410, - gUnknown_08300414, - gUnknown_08300418, - gUnknown_0830041C, - gUnknown_08300420, - gUnknown_08300424, - gUnknown_08300438, - gUnknown_08300444, - gUnknown_0830044C, - gUnknown_08300454, - gUnknown_0830045C, - gUnknown_08300464, - gUnknown_0830046C, - gUnknown_08300474, - gUnknown_08300480, - gUnknown_08300488, - gUnknown_08300494, - gUnknown_083004A0, - gUnknown_083004AC, - gUnknown_083004B0, - gUnknown_083004B8, - gUnknown_083004C0, - gUnknown_083004C8, - gUnknown_083004D0, - gUnknown_083004D8, - gUnknown_083004E0, - gUnknown_083004E4, - gUnknown_083004E8, - gUnknown_083004EC, - gUnknown_083004F4, - gUnknown_083004F8, - gUnknown_083004FC, - gUnknown_08300504, - gUnknown_08300510, - gUnknown_08300518, - gUnknown_0830051C, - gUnknown_08300520, - gUnknown_08300524, - gUnknown_0830052C, - gUnknown_08300534, - gUnknown_0830053C, - gUnknown_08300550, - gUnknown_08300558, - gUnknown_08300560, - gUnknown_08300564, - gUnknown_08300568, - gUnknown_0830056C, - gUnknown_08300570, - gUnknown_08300574, - gUnknown_08300578, - gUnknown_0830057C, - gUnknown_08300588, - gUnknown_0830058C, - gUnknown_08300598, - gUnknown_0830059C, - gUnknown_083005A0, - gUnknown_083005A4, - gUnknown_083005AC, - gUnknown_083005B4, - gUnknown_083005C0, - gUnknown_083005C4, - gUnknown_083005C8, - gUnknown_083005D4, - gUnknown_083005D8, - gUnknown_083005DC, - gUnknown_083005E4, - gUnknown_083005E8, - gUnknown_083005EC, - gUnknown_083005EC, - gUnknown_083005F0, - gUnknown_083005F4, - gUnknown_083005F8, - gUnknown_083005FC, - gUnknown_08300600, - gUnknown_08300604, - gUnknown_08300608, - gUnknown_0830060C, - gUnknown_08300610, - gUnknown_08300614, - gUnknown_08300618, - gUnknown_0830061C, - gUnknown_08300620, - gUnknown_08300624, - gUnknown_08300628, - gUnknown_0830062C, - gUnknown_08300630, - gUnknown_08300634, - gUnknown_08300638, - gUnknown_0830063C, - gUnknown_08300640, - gUnknown_08300644, - gUnknown_08300648, - gUnknown_0830064C, - gUnknown_08300650, - gUnknown_08300654, -}; +static const union AnimCmd *const sUnknownAnims_DEOXYS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_CHIMECHO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_EGG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_D[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_E[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_F[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_G[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_H[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_I[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_J[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_K[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_L[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_M[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_N[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_O[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_P[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_Q[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_R[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_S[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_T[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_U[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_V[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_W[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_X[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_Y[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_Z[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_EMARK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnknownAnims_UNOWN_QMARK[] = {sAnim_GeneralFrame0}; + +#define ANIM_CMD(name) [SPECIES_##name] = sUnknownAnims_##name +#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims + +static const union AnimCmd *const *const sUnknownAnimsTable[] = +{ + ANIM_CMD(NONE), + ANIM_CMD(BULBASAUR), + ANIM_CMD(IVYSAUR), + ANIM_CMD(VENUSAUR), + ANIM_CMD(CHARMANDER), + ANIM_CMD(CHARMELEON), + ANIM_CMD(CHARIZARD), + ANIM_CMD(SQUIRTLE), + ANIM_CMD(WARTORTLE), + ANIM_CMD(BLASTOISE), + ANIM_CMD(CATERPIE), + ANIM_CMD(METAPOD), + ANIM_CMD(BUTTERFREE), + ANIM_CMD(WEEDLE), + ANIM_CMD(KAKUNA), + ANIM_CMD(BEEDRILL), + ANIM_CMD(PIDGEY), + ANIM_CMD(PIDGEOTTO), + ANIM_CMD(PIDGEOT), + ANIM_CMD(RATTATA), + ANIM_CMD(RATICATE), + ANIM_CMD(SPEAROW), + ANIM_CMD(FEAROW), + ANIM_CMD(EKANS), + ANIM_CMD(ARBOK), + ANIM_CMD(PIKACHU), + ANIM_CMD(RAICHU), + ANIM_CMD(SANDSHREW), + ANIM_CMD(SANDSLASH), + ANIM_CMD(NIDORAN_F), + ANIM_CMD(NIDORINA), + ANIM_CMD(NIDOQUEEN), + ANIM_CMD(NIDORAN_M), + ANIM_CMD(NIDORINO), + ANIM_CMD(NIDOKING), + ANIM_CMD(CLEFAIRY), + ANIM_CMD(CLEFABLE), + ANIM_CMD(VULPIX), + ANIM_CMD(NINETALES), + ANIM_CMD(JIGGLYPUFF), + ANIM_CMD(WIGGLYTUFF), + ANIM_CMD(ZUBAT), + ANIM_CMD(GOLBAT), + ANIM_CMD(ODDISH), + ANIM_CMD(GLOOM), + ANIM_CMD(VILEPLUME), + ANIM_CMD(PARAS), + ANIM_CMD(PARASECT), + ANIM_CMD(VENONAT), + ANIM_CMD(VENOMOTH), + ANIM_CMD(DIGLETT), + ANIM_CMD(DUGTRIO), + ANIM_CMD(MEOWTH), + ANIM_CMD(PERSIAN), + ANIM_CMD(PSYDUCK), + ANIM_CMD(GOLDUCK), + ANIM_CMD(MANKEY), + ANIM_CMD(PRIMEAPE), + ANIM_CMD(GROWLITHE), + ANIM_CMD(ARCANINE), + ANIM_CMD(POLIWAG), + ANIM_CMD(POLIWHIRL), + ANIM_CMD(POLIWRATH), + ANIM_CMD(ABRA), + ANIM_CMD(KADABRA), + ANIM_CMD(ALAKAZAM), + ANIM_CMD(MACHOP), + ANIM_CMD(MACHOKE), + ANIM_CMD(MACHAMP), + ANIM_CMD(BELLSPROUT), + ANIM_CMD(WEEPINBELL), + ANIM_CMD(VICTREEBEL), + ANIM_CMD(TENTACOOL), + ANIM_CMD(TENTACRUEL), + ANIM_CMD(GEODUDE), + ANIM_CMD(GRAVELER), + ANIM_CMD(GOLEM), + ANIM_CMD(PONYTA), + ANIM_CMD(RAPIDASH), + ANIM_CMD(SLOWPOKE), + ANIM_CMD(SLOWBRO), + ANIM_CMD(MAGNEMITE), + ANIM_CMD(MAGNETON), + ANIM_CMD(FARFETCHD), + ANIM_CMD(DODUO), + ANIM_CMD(DODRIO), + ANIM_CMD(SEEL), + ANIM_CMD(DEWGONG), + ANIM_CMD(GRIMER), + ANIM_CMD(MUK), + ANIM_CMD(SHELLDER), + ANIM_CMD(CLOYSTER), + ANIM_CMD(GASTLY), + ANIM_CMD(HAUNTER), + ANIM_CMD(GENGAR), + ANIM_CMD(ONIX), + ANIM_CMD(DROWZEE), + ANIM_CMD(HYPNO), + ANIM_CMD(KRABBY), + ANIM_CMD(KINGLER), + ANIM_CMD(VOLTORB), + ANIM_CMD(ELECTRODE), + ANIM_CMD(EXEGGCUTE), + ANIM_CMD(EXEGGUTOR), + ANIM_CMD(CUBONE), + ANIM_CMD(MAROWAK), + ANIM_CMD(HITMONLEE), + ANIM_CMD(HITMONCHAN), + ANIM_CMD(LICKITUNG), + ANIM_CMD(KOFFING), + ANIM_CMD(WEEZING), + ANIM_CMD(RHYHORN), + ANIM_CMD(RHYDON), + ANIM_CMD(CHANSEY), + ANIM_CMD(TANGELA), + ANIM_CMD(KANGASKHAN), + ANIM_CMD(HORSEA), + ANIM_CMD(SEADRA), + ANIM_CMD(GOLDEEN), + ANIM_CMD(SEAKING), + ANIM_CMD(STARYU), + ANIM_CMD(STARMIE), + ANIM_CMD(MR_MIME), + ANIM_CMD(SCYTHER), + ANIM_CMD(JYNX), + ANIM_CMD(ELECTABUZZ), + ANIM_CMD(MAGMAR), + ANIM_CMD(PINSIR), + ANIM_CMD(TAUROS), + ANIM_CMD(MAGIKARP), + ANIM_CMD(GYARADOS), + ANIM_CMD(LAPRAS), + ANIM_CMD(DITTO), + ANIM_CMD(EEVEE), + ANIM_CMD(VAPOREON), + ANIM_CMD(JOLTEON), + ANIM_CMD(FLAREON), + ANIM_CMD(PORYGON), + ANIM_CMD(OMANYTE), + ANIM_CMD(OMASTAR), + ANIM_CMD(KABUTO), + ANIM_CMD(KABUTOPS), + ANIM_CMD(AERODACTYL), + ANIM_CMD(SNORLAX), + ANIM_CMD(ARTICUNO), + ANIM_CMD(ZAPDOS), + ANIM_CMD(MOLTRES), + ANIM_CMD(DRATINI), + ANIM_CMD(DRAGONAIR), + ANIM_CMD(DRAGONITE), + ANIM_CMD(MEWTWO), + ANIM_CMD(MEW), + ANIM_CMD(CHIKORITA), + ANIM_CMD(BAYLEEF), + ANIM_CMD(MEGANIUM), + ANIM_CMD(CYNDAQUIL), + ANIM_CMD(QUILAVA), + ANIM_CMD(TYPHLOSION), + ANIM_CMD(TOTODILE), + ANIM_CMD(CROCONAW), + ANIM_CMD(FERALIGATR), + ANIM_CMD(SENTRET), + ANIM_CMD(FURRET), + ANIM_CMD(HOOTHOOT), + ANIM_CMD(NOCTOWL), + ANIM_CMD(LEDYBA), + ANIM_CMD(LEDIAN), + ANIM_CMD(SPINARAK), + ANIM_CMD(ARIADOS), + ANIM_CMD(CROBAT), + ANIM_CMD(CHINCHOU), + ANIM_CMD(LANTURN), + ANIM_CMD(PICHU), + ANIM_CMD(CLEFFA), + ANIM_CMD(IGGLYBUFF), + ANIM_CMD(TOGEPI), + ANIM_CMD(TOGETIC), + ANIM_CMD(NATU), + ANIM_CMD(XATU), + ANIM_CMD(MAREEP), + ANIM_CMD(FLAAFFY), + ANIM_CMD(AMPHAROS), + ANIM_CMD(BELLOSSOM), + ANIM_CMD(MARILL), + ANIM_CMD(AZUMARILL), + ANIM_CMD(SUDOWOODO), + ANIM_CMD(POLITOED), + ANIM_CMD(HOPPIP), + ANIM_CMD(SKIPLOOM), + ANIM_CMD(JUMPLUFF), + ANIM_CMD(AIPOM), + ANIM_CMD(SUNKERN), + ANIM_CMD(SUNFLORA), + ANIM_CMD(YANMA), + ANIM_CMD(WOOPER), + ANIM_CMD(QUAGSIRE), + ANIM_CMD(ESPEON), + ANIM_CMD(UMBREON), + ANIM_CMD(MURKROW), + ANIM_CMD(SLOWKING), + ANIM_CMD(MISDREAVUS), + ANIM_CMD(UNOWN), + ANIM_CMD(WOBBUFFET), + ANIM_CMD(GIRAFARIG), + ANIM_CMD(PINECO), + ANIM_CMD(FORRETRESS), + ANIM_CMD(DUNSPARCE), + ANIM_CMD(GLIGAR), + ANIM_CMD(STEELIX), + ANIM_CMD(SNUBBULL), + ANIM_CMD(GRANBULL), + ANIM_CMD(QWILFISH), + ANIM_CMD(SCIZOR), + ANIM_CMD(SHUCKLE), + ANIM_CMD(HERACROSS), + ANIM_CMD(SNEASEL), + ANIM_CMD(TEDDIURSA), + ANIM_CMD(URSARING), + ANIM_CMD(SLUGMA), + ANIM_CMD(MAGCARGO), + ANIM_CMD(SWINUB), + ANIM_CMD(PILOSWINE), + ANIM_CMD(CORSOLA), + ANIM_CMD(REMORAID), + ANIM_CMD(OCTILLERY), + ANIM_CMD(DELIBIRD), + ANIM_CMD(MANTINE), + ANIM_CMD(SKARMORY), + ANIM_CMD(HOUNDOUR), + ANIM_CMD(HOUNDOOM), + ANIM_CMD(KINGDRA), + ANIM_CMD(PHANPY), + ANIM_CMD(DONPHAN), + ANIM_CMD(PORYGON2), + ANIM_CMD(STANTLER), + ANIM_CMD(SMEARGLE), + ANIM_CMD(TYROGUE), + ANIM_CMD(HITMONTOP), + ANIM_CMD(SMOOCHUM), + ANIM_CMD(ELEKID), + ANIM_CMD(MAGBY), + ANIM_CMD(MILTANK), + ANIM_CMD(BLISSEY), + ANIM_CMD(RAIKOU), + ANIM_CMD(ENTEI), + ANIM_CMD(SUICUNE), + ANIM_CMD(LARVITAR), + ANIM_CMD(PUPITAR), + ANIM_CMD(TYRANITAR), + ANIM_CMD(LUGIA), + ANIM_CMD(HO_OH), + ANIM_CMD(CELEBI), + ANIM_CMD_FULL(OLD_UNOWN_B, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_C, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_D, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_E, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_F, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_G, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_H, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_I, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_J, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_K, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_L, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_M, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_N, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_O, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_P, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_Q, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_R, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_S, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_T, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_U, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_V, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_W, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_X, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_Y, sUnknownAnims_OLD_UNOWN), + ANIM_CMD_FULL(OLD_UNOWN_Z, sUnknownAnims_OLD_UNOWN), + ANIM_CMD(TREECKO), + ANIM_CMD(GROVYLE), + ANIM_CMD(SCEPTILE), + ANIM_CMD(TORCHIC), + ANIM_CMD(COMBUSKEN), + ANIM_CMD(BLAZIKEN), + ANIM_CMD(MUDKIP), + ANIM_CMD(MARSHTOMP), + ANIM_CMD(SWAMPERT), + ANIM_CMD(POOCHYENA), + ANIM_CMD(MIGHTYENA), + ANIM_CMD(ZIGZAGOON), + ANIM_CMD(LINOONE), + ANIM_CMD(WURMPLE), + ANIM_CMD(SILCOON), + ANIM_CMD(BEAUTIFLY), + ANIM_CMD(CASCOON), + ANIM_CMD(DUSTOX), + ANIM_CMD(LOTAD), + ANIM_CMD(LOMBRE), + ANIM_CMD(LUDICOLO), + ANIM_CMD(SEEDOT), + ANIM_CMD(NUZLEAF), + ANIM_CMD(SHIFTRY), + ANIM_CMD(NINCADA), + ANIM_CMD(NINJASK), + ANIM_CMD(SHEDINJA), + ANIM_CMD(TAILLOW), + ANIM_CMD(SWELLOW), + ANIM_CMD(SHROOMISH), + ANIM_CMD(BRELOOM), + ANIM_CMD(SPINDA), + ANIM_CMD(WINGULL), + ANIM_CMD(PELIPPER), + ANIM_CMD(SURSKIT), + ANIM_CMD(MASQUERAIN), + ANIM_CMD(WAILMER), + ANIM_CMD(WAILORD), + ANIM_CMD(SKITTY), + ANIM_CMD(DELCATTY), + ANIM_CMD(KECLEON), + ANIM_CMD(BALTOY), + ANIM_CMD(CLAYDOL), + ANIM_CMD(NOSEPASS), + ANIM_CMD(TORKOAL), + ANIM_CMD(SABLEYE), + ANIM_CMD(BARBOACH), + ANIM_CMD(WHISCASH), + ANIM_CMD(LUVDISC), + ANIM_CMD(CORPHISH), + ANIM_CMD(CRAWDAUNT), + ANIM_CMD(FEEBAS), + ANIM_CMD(MILOTIC), + ANIM_CMD(CARVANHA), + ANIM_CMD(SHARPEDO), + ANIM_CMD(TRAPINCH), + ANIM_CMD(VIBRAVA), + ANIM_CMD(FLYGON), + ANIM_CMD(MAKUHITA), + ANIM_CMD(HARIYAMA), + ANIM_CMD(ELECTRIKE), + ANIM_CMD(MANECTRIC), + ANIM_CMD(NUMEL), + ANIM_CMD(CAMERUPT), + ANIM_CMD(SPHEAL), + ANIM_CMD(SEALEO), + ANIM_CMD(WALREIN), + ANIM_CMD(CACNEA), + ANIM_CMD(CACTURNE), + ANIM_CMD(SNORUNT), + ANIM_CMD(GLALIE), + ANIM_CMD(LUNATONE), + ANIM_CMD(SOLROCK), + ANIM_CMD(AZURILL), + ANIM_CMD(SPOINK), + ANIM_CMD(GRUMPIG), + ANIM_CMD(PLUSLE), + ANIM_CMD(MINUN), + ANIM_CMD(MAWILE), + ANIM_CMD(MEDITITE), + ANIM_CMD(MEDICHAM), + ANIM_CMD(SWABLU), + ANIM_CMD(ALTARIA), + ANIM_CMD(WYNAUT), + ANIM_CMD(DUSKULL), + ANIM_CMD(DUSCLOPS), + ANIM_CMD(ROSELIA), + ANIM_CMD(SLAKOTH), + ANIM_CMD(VIGOROTH), + ANIM_CMD(SLAKING), + ANIM_CMD(GULPIN), + ANIM_CMD(SWALOT), + ANIM_CMD(TROPIUS), + ANIM_CMD(WHISMUR), + ANIM_CMD(LOUDRED), + ANIM_CMD(EXPLOUD), + ANIM_CMD(CLAMPERL), + ANIM_CMD(HUNTAIL), + ANIM_CMD(GOREBYSS), + ANIM_CMD(ABSOL), + ANIM_CMD(SHUPPET), + ANIM_CMD(BANETTE), + ANIM_CMD(SEVIPER), + ANIM_CMD(ZANGOOSE), + ANIM_CMD(RELICANTH), + ANIM_CMD(ARON), + ANIM_CMD(LAIRON), + ANIM_CMD(AGGRON), + ANIM_CMD(CASTFORM), + ANIM_CMD(VOLBEAT), + ANIM_CMD(ILLUMISE), + ANIM_CMD(LILEEP), + ANIM_CMD(CRADILY), + ANIM_CMD(ANORITH), + ANIM_CMD(ARMALDO), + ANIM_CMD(RALTS), + ANIM_CMD(KIRLIA), + ANIM_CMD(GARDEVOIR), + ANIM_CMD(BAGON), + ANIM_CMD(SHELGON), + ANIM_CMD(SALAMENCE), + ANIM_CMD(BELDUM), + ANIM_CMD(METANG), + ANIM_CMD(METAGROSS), + ANIM_CMD(REGIROCK), + ANIM_CMD(REGICE), + ANIM_CMD(REGISTEEL), + ANIM_CMD(KYOGRE), + ANIM_CMD(GROUDON), + ANIM_CMD(RAYQUAZA), + ANIM_CMD(LATIAS), + ANIM_CMD(LATIOS), + ANIM_CMD(JIRACHI), + ANIM_CMD(DEOXYS), + ANIM_CMD(CHIMECHO), + ANIM_CMD(EGG), + ANIM_CMD_FULL(UNOWN_B, sUnknownAnims_EGG), + ANIM_CMD(UNOWN_C), + ANIM_CMD(UNOWN_D), + ANIM_CMD(UNOWN_E), + ANIM_CMD(UNOWN_F), + ANIM_CMD(UNOWN_G), + ANIM_CMD(UNOWN_H), + ANIM_CMD(UNOWN_I), + ANIM_CMD(UNOWN_J), + ANIM_CMD(UNOWN_K), + ANIM_CMD(UNOWN_L), + ANIM_CMD(UNOWN_M), + ANIM_CMD(UNOWN_N), + ANIM_CMD(UNOWN_O), + ANIM_CMD(UNOWN_P), + ANIM_CMD(UNOWN_Q), + ANIM_CMD(UNOWN_R), + ANIM_CMD(UNOWN_S), + ANIM_CMD(UNOWN_T), + ANIM_CMD(UNOWN_U), + ANIM_CMD(UNOWN_V), + ANIM_CMD(UNOWN_W), + ANIM_CMD(UNOWN_X), + ANIM_CMD(UNOWN_Y), + ANIM_CMD(UNOWN_Z), + ANIM_CMD(UNOWN_EMARK), + ANIM_CMD(UNOWN_QMARK), +}; + +#undef ANIM_CMD +#undef ANIM_CMD_FULL From 1472a3a7d4f877657ee59d1c84e794d146bb6851 Mon Sep 17 00:00:00 2001 From: brain_face Date: Sun, 12 Apr 2020 14:38:18 +0200 Subject: [PATCH 08/19] Renamed sub_808B980 -> PlayerWheelieInPlace --- include/field_player_avatar.h | 2 +- src/bike.c | 4 ++-- src/field_player_avatar.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 1dbe171bc..0a39a0895 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -52,7 +52,7 @@ u8 GetPlayerAvatarFlags(void); void sub_808B578(void); u8 GetFRLGAvatarGraphicsIdByGender(u8); u8 GetRSAvatarGraphicsIdByGender(u8); -void sub_808B980(u8 direction); +void PlayerWheelieInPlace(u8 direction); void sub_808B9BC(u8 direction); void sub_808B9A4(u8 direction); void sub_808C1B4(u8 direction); diff --git a/src/bike.c b/src/bike.c index 15857778c..45598e83c 100644 --- a/src/bike.c +++ b/src/bike.c @@ -696,7 +696,7 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) if (MetatileBehavior_IsBumpySlope(playerObjEvent->currentMetatileBehavior)) PlayerIdleWheelie(direction); else - sub_808B980(direction); //hit wall? + PlayerWheelieInPlace(direction); //hit wall? } return; } @@ -730,7 +730,7 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) if (MetatileBehavior_IsBumpySlope(playerObjEvent->currentMetatileBehavior)) PlayerIdleWheelie(direction); else - sub_808B980(direction); //hit wall? + PlayerWheelieInPlace(direction); //hit wall? } return; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 35bbb1e03..40086eab7 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1079,7 +1079,7 @@ void PlayerAcroTurnJump(u8 direction) PlayerSetAnimId(GetJumpInPlaceTurnAroundMovementAction(direction), 1); } -void sub_808B980(u8 direction) +void PlayerWheelieInPlace(u8 direction) { PlaySE(SE_WALL_HIT); PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), 2); From 1be48a61c1a20b5c9087c1a68346c5efe33685c8 Mon Sep 17 00:00:00 2001 From: brain_face Date: Sun, 12 Apr 2020 15:31:11 +0200 Subject: [PATCH 09/19] Renamed sub_808B9BC -> PlayerWheelieMove --- include/field_player_avatar.h | 2 +- src/bike.c | 2 +- src/field_player_avatar.c | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 0a39a0895..45e0a6676 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -53,7 +53,7 @@ void sub_808B578(void); u8 GetFRLGAvatarGraphicsIdByGender(u8); u8 GetRSAvatarGraphicsIdByGender(u8); void PlayerWheelieInPlace(u8 direction); -void sub_808B9BC(u8 direction); +void PlayerWheelieMove(u8 direction); void sub_808B9A4(u8 direction); void sub_808C1B4(u8 direction); void sub_808B9D4(u8 direction); diff --git a/src/bike.c b/src/bike.c index 45598e83c..711c18cd7 100644 --- a/src/bike.c +++ b/src/bike.c @@ -700,7 +700,7 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) } return; } - sub_808B9BC(direction); + PlayerWheelieMove(direction); gPlayerAvatar.runningState = MOVING; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 40086eab7..4baf0c64f 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -261,7 +261,7 @@ static const u8 sRSAvatarGfxIds[] = {OBJ_EVENT_GFX_LINK_RS_BRENDAN, OBJ_EVENT_GF static const u8 sPlayerAvatarGfxToStateFlag[2][5][2] = { - [MALE] = + [MALE] = { {OBJ_EVENT_GFX_BRENDAN_NORMAL, PLAYER_AVATAR_FLAG_ON_FOOT}, {OBJ_EVENT_GFX_BRENDAN_MACH_BIKE, PLAYER_AVATAR_FLAG_MACH_BIKE}, @@ -269,7 +269,7 @@ static const u8 sPlayerAvatarGfxToStateFlag[2][5][2] = {OBJ_EVENT_GFX_BRENDAN_SURFING, PLAYER_AVATAR_FLAG_SURFING}, {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, PLAYER_AVATAR_FLAG_UNDERWATER}, }, - [FEMALE] = + [FEMALE] = { {OBJ_EVENT_GFX_MAY_NORMAL, PLAYER_AVATAR_FLAG_ON_FOOT}, {OBJ_EVENT_GFX_MAY_MACH_BIKE, PLAYER_AVATAR_FLAG_MACH_BIKE}, @@ -1090,7 +1090,7 @@ void sub_808B9A4(u8 direction) PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), 2); } -void sub_808B9BC(u8 direction) +void PlayerWheelieMove(u8 direction) { PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), 2); } From ce2fe10bec6c83c108ddf3034ecfb09beee5c198 Mon Sep 17 00:00:00 2001 From: brain_face Date: Sun, 12 Apr 2020 15:35:38 +0200 Subject: [PATCH 10/19] Renamed sub_808B9A4 -> PlayerPopWheelieWhileMoving --- include/field_player_avatar.h | 2 +- src/bike.c | 2 +- src/field_player_avatar.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 45e0a6676..b79aed4ff 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -54,7 +54,7 @@ u8 GetFRLGAvatarGraphicsIdByGender(u8); u8 GetRSAvatarGraphicsIdByGender(u8); void PlayerWheelieInPlace(u8 direction); void PlayerWheelieMove(u8 direction); -void sub_808B9A4(u8 direction); +void PlayerPopWheelieWhileMoving(u8 direction); void sub_808C1B4(u8 direction); void sub_808B9D4(u8 direction); void sub_808D194(void); diff --git a/src/bike.c b/src/bike.c index 711c18cd7..6f758f803 100644 --- a/src/bike.c +++ b/src/bike.c @@ -734,7 +734,7 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) } return; } - sub_808B9A4(direction); + PlayerPopWheelieWhileMoving(direction); gPlayerAvatar.runningState = MOVING; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 4baf0c64f..fd17b0807 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1085,7 +1085,7 @@ void PlayerWheelieInPlace(u8 direction) PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), 2); } -void sub_808B9A4(u8 direction) +void PlayerPopWheelieWhileMoving(u8 direction) { PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), 2); } From 007a03803122b2605f089106c110a2f85e53f79d Mon Sep 17 00:00:00 2001 From: brain_face Date: Sun, 12 Apr 2020 15:43:45 +0200 Subject: [PATCH 11/19] Renamed sub_808B9D4 -> PlayerEndWheelieWhileMoving --- include/field_player_avatar.h | 2 +- src/bike.c | 2 +- src/field_player_avatar.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index b79aed4ff..12f41c0f8 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -56,7 +56,7 @@ void PlayerWheelieInPlace(u8 direction); void PlayerWheelieMove(u8 direction); void PlayerPopWheelieWhileMoving(u8 direction); void sub_808C1B4(u8 direction); -void sub_808B9D4(u8 direction); +void PlayerEndWheelieWhileMoving(u8 direction); void sub_808D194(void); void sub_808D1C8(void); bool32 sub_808D1B4(void); diff --git a/src/bike.c b/src/bike.c index 6f758f803..ebf2c7a50 100644 --- a/src/bike.c +++ b/src/bike.c @@ -757,7 +757,7 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) PlayerEndWheelie(direction); return; } - sub_808B9D4(direction); + PlayerEndWheelieWhileMoving(direction); } void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index fd17b0807..9fef51bec 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1095,7 +1095,7 @@ void PlayerWheelieMove(u8 direction) PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), 2); } -void sub_808B9D4(u8 direction) +void PlayerEndWheelieWhileMoving(u8 direction) { PlayerSetAnimId(GetAcroEndWheelieMoveDirectionMovementAction(direction), 2); } From 9abda59bd1e08ede1f6fce18d2f2f2bb230327f6 Mon Sep 17 00:00:00 2001 From: brain_face Date: Sun, 12 Apr 2020 16:22:03 +0200 Subject: [PATCH 12/19] Renamed sub_808C1B4 -> PlayerUseAcroBikeOnBumpySlope --- include/field_player_avatar.h | 2 +- src/bike.c | 2 +- src/field_player_avatar.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 12f41c0f8..bcee339d5 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -55,7 +55,7 @@ u8 GetRSAvatarGraphicsIdByGender(u8); void PlayerWheelieInPlace(u8 direction); void PlayerWheelieMove(u8 direction); void PlayerPopWheelieWhileMoving(u8 direction); -void sub_808C1B4(u8 direction); +void PlayerUseAcroBikeOnBumpySlope(u8 direction); void PlayerEndWheelieWhileMoving(u8 direction); void sub_808D194(void); void sub_808D1C8(void); diff --git a/src/bike.c b/src/bike.c index ebf2c7a50..e66d6b6e1 100644 --- a/src/bike.c +++ b/src/bike.c @@ -1049,7 +1049,7 @@ void Bike_HandleBumpySlopeJump(void) if (MetatileBehavior_IsBumpySlope(tileBehavior)) { gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; - sub_808C1B4(GetPlayerMovementDirection()); + PlayerUseAcroBikeOnBumpySlope(GetPlayerMovementDirection()); } } } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 9fef51bec..6d44f4b51 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1415,7 +1415,7 @@ void sub_808C15C(u8 direction) StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingDirectionAnimNum(direction)); } -void sub_808C1B4(u8 direction) +void PlayerUseAcroBikeOnBumpySlope(u8 direction) { ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetAcroWheelieDirectionAnimNum(direction)); From d478156ad9297bdf520822c42863854095ad63a2 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 12 Apr 2020 13:04:05 -0400 Subject: [PATCH 13/19] Split stormy_water png for kyogre/groudon --- .../sootopolis/anim/stormy_water/0.png | Bin 1135 -> 0 bytes .../anim/stormy_water/0_groudon.png | Bin 0 -> 8139 bytes .../sootopolis/anim/stormy_water/0_kyogre.png | Bin 0 -> 4925 bytes .../sootopolis/anim/stormy_water/1.png | Bin 1155 -> 0 bytes .../anim/stormy_water/1_groudon.png | Bin 0 -> 8059 bytes .../sootopolis/anim/stormy_water/1_kyogre.png | Bin 0 -> 5182 bytes .../sootopolis/anim/stormy_water/2.png | Bin 1155 -> 0 bytes .../anim/stormy_water/2_groudon.png | Bin 0 -> 8049 bytes .../sootopolis/anim/stormy_water/2_kyogre.png | Bin 0 -> 5239 bytes .../sootopolis/anim/stormy_water/3.png | Bin 1112 -> 0 bytes .../anim/stormy_water/3_groudon.png | Bin 0 -> 7962 bytes .../sootopolis/anim/stormy_water/3_kyogre.png | Bin 0 -> 5050 bytes .../sootopolis/anim/stormy_water/4.png | Bin 1124 -> 0 bytes .../anim/stormy_water/4_groudon.png | Bin 0 -> 7959 bytes .../sootopolis/anim/stormy_water/4_kyogre.png | Bin 0 -> 4904 bytes .../sootopolis/anim/stormy_water/5.png | Bin 1149 -> 0 bytes .../anim/stormy_water/5_groudon.png | Bin 0 -> 7961 bytes .../sootopolis/anim/stormy_water/5_kyogre.png | Bin 0 -> 5420 bytes .../sootopolis/anim/stormy_water/6.png | Bin 1097 -> 0 bytes .../anim/stormy_water/6_groudon.png | Bin 0 -> 8050 bytes .../sootopolis/anim/stormy_water/6_kyogre.png | Bin 0 -> 4644 bytes .../sootopolis/anim/stormy_water/7.png | Bin 1093 -> 0 bytes .../anim/stormy_water/7_groudon.png | Bin 0 -> 8061 bytes .../sootopolis/anim/stormy_water/7_kyogre.png | Bin 0 -> 4658 bytes graphics_file_rules.mk | 34 ++++++++++++++++++ 25 files changed, 34 insertions(+) delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/0.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/0_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/0_kyogre.png delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/1.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/1_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/1_kyogre.png delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/2.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/2_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/2_kyogre.png delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/3.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/3_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/3_kyogre.png delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/4.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/4_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/4_kyogre.png delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/5.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/5_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/5_kyogre.png delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/6.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/6_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/6_kyogre.png delete mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/7.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/7_groudon.png create mode 100644 data/tilesets/secondary/sootopolis/anim/stormy_water/7_kyogre.png diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/0.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/0.png deleted file mode 100644 index cfeefd8829fb6c2881d2af9cab21b89e0dd9200d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1135 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 literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/0_kyogre.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/0_kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6f8e5e64600f3b52edb3ca957fbac10991392f GIT binary patch literal 4925 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 literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/1.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/1.png deleted file mode 100644 index db8984832ca61ebf418f7a9e817f1e088b33a369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1155 zcmV-}1bq96P)##H_DVtCN;$zNT@DlXP}%f;5Ag2vNf^z5Ty!<)O8{cd{;?XC93$ua`BNB{973D(d{{nkjBU=t@*%masy63g`IP)}wFXf> zCBOD~(34NhlpYU0$Qm(R@Zen5d=(cwIFmJ}d7Tf7c?4YN!vfqL4f5b5k;U~IutXMv zJUGdkDSwL(_5Z+!wM_C_c|Yr?SG9A$M#1egM8>c zF&BL3zfwIu)X9$+aMO(e`=LMT0sXSkhV1={nr0nBPu(=nL?ncFdMrpc4WIb#df8Bs zd#?)bed?VoCg)agd__t^m(9lB;j5+gDXouzgyo8)Hr_k$XWk1hwIY@4NoQgd8u-?N z&HED5Y2~I^=}Bt>29#ErPctal5s&n*452hffZi%B0a7MAB2*^*ee@9;yP*_LtX9gX z4p2yy`*a;*2)6K!ENQYbEn0nK&u$O-7AF*X9C2L{YC839WqhmSCY&to=hDU(I! zoMFIdX|=JqZe0iz`*<4;;R3K`z=~2LYqXS7WXCGR#9IIgrNK4}x|Q0>@fkpKnxnA7 z#aN{{I=wNulx?8!qVHp=S3*f9B%hgXP!ctZdes5o!3ym`M=xnR_Mju!0sBTs1|+B? zX-O6rXr>$3m&)hT8EXp3*9`zMq+kczZIQba74T>wO_K-+EBxJp)ZT1qx=|TOlVwVh zGEK`U_?T{RAAU-{oEC1j$q<16qayD|+!mWcig+QSq)cuyW+>U;)*K@muOW*>ga%)< zC{4O8kReKU-?k?=ZbK1(z^ssV3gUoX)U=JmCYlvrC-w*`T%87Ba_ZjpWl+-4WJQHQ zg5duoJ^=Oi*Q0snv|-9dLm%|*;{;{HrrNO%XAj7SCu-R+XyBD<)hFPMx9}$&{{m%B VXxFm>Dh&Vt002ovPDHLkV1l;fC^!HB diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/1_groudon.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/1_groudon.png new file mode 100644 index 0000000000000000000000000000000000000000..e59bdf747487f9cc1997ad7c6e1e522148bda8ab GIT binary patch literal 8059 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 JPDHLkV1luA#dZJy literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/1_kyogre.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/1_kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..9e7e1ab5ad6ba946317a7bdabb71641636ddcf3b GIT binary patch literal 5182 zcmV-E6v69>P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3*tcH=sXh5us}y##S4m&5U#-a#+FKTvkcRuadl zS4mak$TA09;Nk+J%>Vn}CI7=$GR}$*DaR7y!Iv+-*vgB1oL}c}bNKypfBD;6{QY!Y z-2Dy9CH>=eAbG(7Z6Nb8@cwc-v%bFFmu~|(dtNuUzopzh zSN+3wZvSn+4SO5>`nOLQV+6*-Ms_;m4t{2x#hw2v|2;o3A~*4q*TK1cg^8qYzjHz?S^=<(e1hkm+S5WHT$$8bAM@{-{{fQ9^3}z^ z`TiJaEd|^dHD*6;#k#EeG|N!r^e1-#h*>wAhHc;dEg!J{`BGpV2!?Iu%m(Yx&LLVb ze|*broE`Ut!^%46sU_!9N$O0SZ zBH(1JbMu*G_PsXP^D@)|5Wz*4fTp+#Sl$QxC;5yI)!>4c5JC(o-A;pwZP9@dsvd}%-S^OAPd)e2>#)NO!hgh(WaLpsoo3=n)6X#DOf%0i>%!NTTYiNVS6X?MRX zq56!Pxghr%HFHBv5%c@L^anLAr*t2}D4hhw48*KAAf6NfB`3w~$i{oC$SGz=u>?i1 zpk{)CGmIhzf_@qsmifT$4{|SYli+`aoBa+sQRw~!a-z`Pko%0=7pRT8dDv}$Gz!(G zhg%TaNX$GIff&kajZaRy>M$$X)nZz``B9o%qx6}a-ZyLQKF7EmTkb9Q)P{tXZGxQi zO6jYyJ~KKH^f;OcHVx-`8Ev)6IE)6zw&8=$z%oPf1`D?(letowW%aN^?X`_&vA`NL z)fH=qvjTZg`v^jI9msjg{gb5Gd!%)~uw#4tP*IVJ;qtNbX4{|VC^iOPT^hj*Xs1?!)?r^h z)7NSNP+~2K-7I#8S#gf$Fh_H0X}vN+$VDfMQztW7CrgCL0`Wi7w~|{PEjl+D3i~EC zVPUG6xN35>djithQD>!`SYO6ux$lrYz-z%W)# z3rdZ7HGVPG3{_$WQAL&|ZC?r+aL>SuZroBE+$}UZn`*HKUzYDU55}Il|Fy6Kej5xv z2@g#Z2JWd#Ks7urqS>l@Hhaf7R8<66dz3MA_q8|RxtK85b%WI7y#&omNaYz*0y!?i zcY6@-7{cjpcw4jaSm9f5lh5u}g3V(Es0L=MWurQFn9YF!LapJ!$afpdZ;V{$j6^{k zS%b0>(`ITgMT{tAayiAs#Tg#u1|n-UxYvZ z67Z*DW=MDwLBQ5rhS(BxqP%6>$Nv26eZ&b3&uk%VIJPaK&`shtgmqn!$}oIstb!Gw zBRfV`QW~ZZCr_XE&u##*kwKi&U}gmiRMpd`>8Ua>4!?D0sc@eU#0KKC)ZufzEKA60 z6?&T!NcO=)~WBU}UA`*AE5l4jI}XzsyFQx)gq@E3PE&4)!#>jAYwe=HKu z#KCpsu}5|W>KMnwnPnAqC^b=ZO?gdOjsY^<)YE68{cLGZjzed^_Kx?RLtcBw`_3V+ zz2kl7kk{VvzH`WH?|9!i5n|I|=qk!8O9?d$t%4?*mGq=GE_o0 zHo~#D(#dFeE89ejmx)ZyJM;?KS0gzOzXsAOVG7b;m>r>Lw;!G3V2wk6u00Yn<`I}P zdzL>--y5|11GiSgPtE?ngl69Yo#%MBYK<9YEwAMBV{J-a+IU5D3RJhN|Gy zRqj$Qv)JRZYqB>%H*tZq7;RtRN zOhLKi0jpv%qLS*QwufwvQw0T!7jD5AA_eHpYiZGqIyt9sE>nGo~K4HkyWojutV`}^qkC~+N=CHa1 z5_2(6i^dVbopi~RTb!7otP?Sn!9?auMCBEvPl(nO9US58IIcjT8j?K5)V`r}gW6yF zVZ;h*wydWS^VKiB8@&m{L8^;IQ>$BAq4)f}Y)bW{1(*ieU8e1f2jygy@l{(f(zeDq z3*UN*hLaG~2Oxy){{}{QM*9T&CQ!?$R^p$Lz8l9xn~uSvp!{UvCPfL!)5^@sj(YqUU!Q;Q=? z`Ji=^gO7Hfr0!%yL5t&I>;*)W$qfy1^{CJJ3IDUV0-Fe@lyng~K^Gw+;GbXvxxyr> z>$VU`&}zD?QEM<0i9qK=5VvTH)2`TV2iU*{+6YHb@;@-Hma-=L^z%l&`*N4Ev)6s2 z|6!loG0sY-B<$FMXho^i4D8V?{iSCs6 zBBpl=PrRX8p!zzUwPe}a*IBd4AhQGwNekO>t-@t+sbkxW8OSd?fDt}f1s|eoS1h`` zoqy0OyFDb&Vm~gDzvjK!gJ!;_s-aPWw4`+hnsHc?)6ouJAwmlQ`(dcYj37h$HP=j~ z_D9xDn(_nXT)Wg6{v%Jx?Zej08Ox^_7@HN_$%>b?=E{PY#h- zzsXyVX;C6-j=qHo(a+qL#iO-t+6uI30aoIc`r0^f+x)xa=jQ%Ed2-{tnx-A6jG!va zNQv2DkM*fld~D`SJ_kQ3TPT^bjqO;XbtN_8ZjNhllk_=F*Ea0y+L2ePMl8jKSE3hl z)z5$GKpXXO=K!N8R}Zb$YyU%gwF8lZoJNwZWl?#FimIv(+TD{uN}BOQ-`@-!%B9H` zhV)+cQ=-Fpu?bmK#Q^MDwwdv5A5pjKY;w0&!ukL!8v?4r8h)|E{g^yQQ8)dr3{b#PL;r8RFH zWs^4D7OT_8K`xj-$vfPQN?EQA74Kq@aW{RO1*HKs`ZOeq9IF}WT*z}U$oa(dE-9bD(l{X7z#&{r-?raoD276K*m zOw)&;`6P4?p_NGNU*^D)L+4;I6LX!>O%^eks5RCMeTY?G)xR%E8Td=Aen0ex^=bnc zOWT~(lW3Cj`H{BFwL3DO*XaZr4zOa(*TR+Z@@XOF%E;QN`9sO_ij#v%xYimAzT+7E z^O|Adv%?`zEsnt67&v)2^SUB($N~?GUGSwn;WX>)k2APDXzw!c{J&{uXg5RtMLR>+ zEdQdNp%co#XlH0QL;giOL%SLBFWMQ}&5-}r&PbH*#}-?HA=W;zp!%K=zx1EsJF0UH zWoGGz+i7%aV^|dnj)@mdXvE0Q)a5+ukj>dvZQ9mM)v@SG)xfVpt+P3jdS43&qfcyb z)4Zrk^f=v;oR+Dj+g@Ca#g1{*>`St5CD;IUcj(xeDAj2#w^DdKI^chwYbDee{eBvZ zIs+YSpnV r`S|`VU!wUU{smM)ZgnxbJ+hB6HW9F<0&2P{DaN5K^rN`zI*(*$bTP z$9>8@>#)tIUFs2`O}TIGRIUl=Z+9w}t^V~+<(vF^-RX~b%8NAnt6j?Xfc|cm(tlJD z@8K!$%f#0^70MN-M;}xMjJYua1Qn9JbWBt1~>Gr{0-wgEK3K;|A zR^n=1B3hE3MfPk~pRzB?$MZ-`K6P90P(Q%yVRjOd2HJ49VyxD5UpP3*5gW{JuQo<< zVGToZS<{JJR;67ut)#3+Dy>lCVdm!De!PY=-Z*E^Ny4Zh!v$c6g0ya!G8MH;cU%1U zde3`p7*0`0<%C$v@Qs7Y=n$MbE1Uog#Vjs-rCrl@lT3My(bXdMj+Cy$Xo__Dmf04n z{2{tAa~nF=*4;iTdZBL!EWQxys?}wS^*TcC4U%!qhtM;TXo8BA?)c2TWFHSD`-O65 zm8L4a&2Hd2WJ@Q~HM?q*gS+eq;tLYVx-<$i^WQNtU+RwIZ}iF|NsC0|8u?eVyy0Sz4l_H z-cpOjN^`6L007q$);RzG00Cl4M??UK1szBL000SaNLh0L04^f{04^f|c%?sf00007 zbV*G`2jm0{5H$**m12|t00C}EL_t(I%dM0_a)U4oMK#ls6SaG0sIz9KvDe;Mr)*B( zk_!ZL19OH-hGan4o-CTgd}M^sC(i~y%rVf92cOFrMnBNR9MbT&C}RktpTb1xJVqa7 z40IggMCmkQ_#I>nbR1@?H%A`hO~ydEKQrCJ-*hfwPVf^waY{vlmoZQ;_bb)ChQNK@ zWel%=noFmgM$`}Ocb8A-=!(&1tL^4?gFK_$UY{8aQcapsQtg`XfqV<22 zIAZsNH6F-jgEb!51=e^tTSmUdgZ&2{pw0tBTjPP3a8u(Ut(+PU%hD_Ju&&-R50B+v s;=w*Qm^=?+i#hNhcPYVxeRcc$1D)$t-~wfct^fc407*qoM6N<$f;r_76aWAK literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/2.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/2.png deleted file mode 100644 index aaaabb7b4e418ddd69404c9d86e0bf0e5ad6df21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1155 zcmV-}1bq96P)##H_DVtCN;$p6bU}%y$2_ZM)g--ZsxW-gnPg{J(jAfnv-1?m2te z?b`O|dfUFPS<`mU*>hBE*6rJ7{rs|PyXOqy;PdCUZC|%*?7QdepXZns*4u82efONb zuHk2|dELD1y60?{e8#ndqI=H%@49|?_*U1|@asX|otdvFz*5)WPvr?@@V%m8G@Qxl z(GE?h0{cFf2Lu##{nzl}qdertihKI{Q6?ABXZ=w1Nw$9(#>yV6J~@qmz#1reB$s+m zyyKvK5`ah4%z5=o0P6cdF|S_9U3z>7vG!hh$8CJPuVU?eG6GO@YEF;5%dWXARjjN} z0?^?>N8U11Iy^X&x7pQ49-PWQvoAe7IFYw}SD*8t#)V(?@!(xfv+G_S93=xT@gV^& z@Bxe&T;{{{7w{pw%!fEv7x-|S2Jdq|Fd)0chr{fC#)sQ9oS*aIIR2mT;pBnn<-_R{ z)5nMNS8CAZ!@2oaEgrJ8rXP)UcTIcjv&L9*H*;#5#j!~TbJIK#kr2U~p&-*V{Kb3d zSwm$Jf-XY{dGN9voqECNbJ7wvH5mqvUn5P(X>mxTp3O-b8-fpE5`qZQXwrol?OhD& z2CJNToRd0%pX1bB8W!Q+mTEWH2U;G^Y$GS>>%I zGNvf}K1#kabhDVEP4lFYk^xGIeH6I(F=D{%NpgRK5!Pwkg=BvdqXVtV1aLNZKSXSF zYhObsgjBf|BV>sphUjkaZXesnKW|l~d;*Xcut{rO1jGmom?#+mGZcp(Varg&YS@#K zrSje~U@&vWI$XCY1)6=h4UcpISTJBtIgztQN-5N#3$gG7K%)%U=0LZ~I5|847%p>A z&v7wMYtGIrZ6Re!6j97gZ1r4d$%N!@#!IwBPoiD#0f^v)37}(;v>FD`5$u3}D-$xx7PA!qpi7M#t$*FN2nrMsq3! z3IzX0@d22=zaGsKmkn1gIy$qb#|g%UU8S|CPacr7Cu-I(sOObR<|FXJTlkx<{{VSe VO*1`9JZ=C0002ovPDHLkV1gsPBzyn> diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/2_groudon.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/2_groudon.png new file mode 100644 index 0000000000000000000000000000000000000000..0d59d5e16a8874aad2aeaa811e4745034b173872 GIT binary patch literal 8049 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 literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/2_kyogre.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/2_kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..71ce73e8bbcfb90206941636c5a4bcc709731b6e GIT binary patch literal 5239 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 Qy#N3J07*qoM6N<$f>$q$ApigX literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/3_kyogre.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/3_kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..a305f6ab085fc96a10f5ae31d5c72520413739b5 GIT binary patch literal 5050 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 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/4_groudon.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/4_groudon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4618ab9cdd4080a09820fbdd2a314a217765b08 GIT binary patch literal 7959 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 P00000NkvXXu0mjfkG3OJ diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/5_groudon.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/5_groudon.png new file mode 100644 index 0000000000000000000000000000000000000000..4e59ead20f1a302c6e7fe87e128d031da5a7bd5e GIT binary patch literal 7961 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 P00000NkvXXu0mjfHq&v= literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/5_kyogre.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/5_kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..f3e24ef7bcb3e8ca85600f83d7f776a2f03e7fab GIT binary patch literal 5420 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 P00000NkvXXu0mjfuzLJ- diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/6_groudon.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/6_groudon.png new file mode 100644 index 0000000000000000000000000000000000000000..1aea2dc7b273283e91b857bfba233236bf552f61 GIT binary patch literal 8050 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 AMgRZ+ literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/6_kyogre.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/6_kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..2d7dc677f5ff37b271b3b4e03b13a9ab7699a795 GIT binary patch literal 4644 zcmV+<65H*GP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+Rd6-cIME^008UoP+!$G^&n?Vh~b^??v(X#Ag zzmKx+u_X!w6WK&W0#}Xy{m)eY!;eqNDd%GfIfR2Bmt8i6H|f|v`>#IS`n`VK`4yj^ zt}A={!f;7GoEO44#}}^qj~n7SldjL#Rcz-x>6}R4Ctg2Ro-FUrap|1MntffLpH)8Z zEAC-A=RecVY0t^8pIyWm-7}vx$_%UR!S5tbvHM@)pX0Z-hC%%1y|KOTP`d^cxLbB?{b;sTxu z>Ri;#h3g#yE3UNbw!ka$&+|U6SLT&iVk2T5A5>mV>8uUjp4#cIi=KL{zfCtxbY_^y zUt^lF>sqqWWYesKz{yKb6A43CHW8CX)GU|H-4?x`o7eN2PCU75MjFjz62(t1_3Gkp zUiXRSlz?k3&TQLP*kvTAF+(CJzZpe9^gMm)mw(qw-NX9vBZ0L<&@VS97FdqDr>I_k z&_TF@@Cb6+L z5S(P>+1wNL8f(1Smw^@n;cc*y&`>A@%Q;W}M3=~+;;nbedmnuC$!A}J4KDZ)LJWdY zCEDnsk0HjGVvZ%*Z&9h*GMlwz}$TsIjJ+ zYiXoUbIrHVVoNQz(oMIW^6#NX)l<*C3_VDt;f5b!#F0iGWs+;tPB;AwGtM;gEcd9L zQGJe@zC`YQ)btrOiI`jC;z!iD9OG>YEpXx`W<<<5O~j)_K)^|2b|mebk;qBRj%+9j zZ-|=q5}d9jVnomlZT!^t*nLFqZQPW1{}ea#RpgX}?!OT^C80Yb_c?AaqSnj8VY>n( zRVY3^>;%|6kDkHKSpq|S=xrV`_ZmlN!S+&ZsUzhA*rZmg&Jl0S40hQVX6vcN>b*J& zu4tj;-c04X#fWTYzyJWN*FHz}DLa4Uo{ZN67utH{ae!ztPj0jN;M97&U5_7;$Ggy~ zFSCX)0gLHk&o%1VV&?mKl*&TQww~|P=zff7eOJx*oEw4bGew4)I65iKmpFL#P_;=V zxzVC)tge+tQrV{QW}ms*JXuiALp@uF*MmH>b$Q-Mv)V8$j<$S1$hbP1pVM_K-)mOT z+X$7As%kCq`PSXpx{&d6ux2DigDXT=Y|;svidKM z6QcLb=wHmJ?o-}pOz-`riJANCE%o89zj;f2xC?Kk!gA&@8S2PkJ3KL$v@Si6Lo1g? z&MxNc(`Y6p+wkSIAu3BIWP6Ec*VV9+K@Q3DSYIFl5gH~*XER00s?L#1oWoWhYgVnt zs3YZW`_0#1d)lyKFln^lyJj>P(E75-Dvd?XQ1exn5~Bej!ZbC;R>fIT)1)LdH!?gRlnXI*S{JxvN8KwR}}gHsPGYG-jnKiCR~VaDy1D~&~R#$ph;o} z(5SF{KVjLgtyS;LeXtgB(}xdZfy<1ggK>#8!CyQp4y*F|FsZiV#3L!Qg-7H(cvMGq z#msVyV!9cyiZc?evhzpMN8+z!8nY(TBc^}SHlrjn@5$-7jfH=&Yyn4SO=2SbPf+yUT6DV0tr zG+$6i*~l=(I7IU~F0Y(s+#pRDXFH#Zha17#Sv0&Rv|7l7ehjMI$L___YEM>&v zZW^}NBymsV4m2BTDZl`e1Mw_I3O7iecyPt6DdbaxMG%6J2zEF)2yTX*Fj5;}h?0?^ zjXEcFyL`xtTe=nD@0KkTa5Xqq-OG1ZZ*`dZn`RAB=Cx~rlA=ry&I!_ruH*Ir zX0LS2dPN2RU;&QEw}$Lk4C;%YJ`^t|c~dAC-C0~S;PLdw+%|*RVzkeIDr;ZPkSFVa znLLnXW(hdFr=dz;0DYQKLzkgP@@9Zp5U&JE*~OS)ryMZDGc}|Q)=a8ye_Mih31m;z zckrxRJ_{o(6sJzRDT-9c+*9QPYlY+odL`28M9ETF1gSLLSRkJ@CgTBn#)F4QM0mpT z5vvQ%J(qn+9{l&Hr(m*2r;Q{m@X0r~c*1MgL+Do-*eLY{Xtk_o&H&XWJwRxb?$9)- zG4DFTEbTF7Q}oe8%;2s%sH*D5)*`0Yy0eK@iZ3dRWyscwryF#~jD{>PD7I*YGbeb+ z$g$QvMSHnU)3-oy#c`pi>+uXq)|aGLpR#`CyvIEz)t*_JF{nQm1|kBkXQdMiAvsKK zAPC3`wdST~J%q$;8OI|{op~-^gLpM0s4GsuL`VYFJF-Ur3ZmwxmI@hqVDN`j6(6s+ndfPZXUI9GF zLkwvmeFb^c1N0OT6D3J@juqT0qZYatF@a1F;bLhTSOuiJ9Dt6d$w5QrF zwFt3v5xG!
ME?tpPLV;borM$oPv%U21w*BDJ`(k5x~kR4}X)y2}}jW3G$G`a@* zgB5i&9zn}x$Rfa^mP{#53MQr{jxfbngc!sg@W#EAl+=<=j@Brw;JA=()MueI%W9_H z0%!3Z$szSm+GX$s44{8AspJc?=3Qi(qmMjvID>Wk6&_o?!`xrZC)sd

(xw90l#QhJeS zt-uIq>;cvk*SaI>QKO@s@FRFSM6r>@W2`t(bCDb*>6>ivOyOlR#Rc6M5?zs#m zqC}ZfALuJ(q&qa(RGiwas~Y*6?yX_Fh*tvg1w|@T9w<_pd@}El9;drz3v{+(Cz+N> z!%zL5>_N#+q*uaJ-Cbx*nvT_WOC4oWMat-*QxYjaPo`bQKKdoJ7(xq^ZmK)19Psy^ zTli*3T=FWQnm5fgzoZ43*#y;>u}WHVlD(6&CFt(RzIe(C51<^uDZSIM^G{PJcOz8 zChaPF1~i1xM34CM2^BC#g@2@_LTA@g)prxx3oKhmCd%LwmOVk4`U92;lx@m!sjEBv z#fHt9CE49b_}xg<)ksWfBs$ApsjWp#$NA7QhN`NT5jh%qjVu-J<(>sMK45yH|18Bm z)qV<^g7=GOP!@~*)X(Ved-hX5qrdOjPyLMkzGpv0eUhlB!l0%BexN-r`kuNCJf&D&Qnsl#+x+g*R-11{P%XZw_MwsSXhXp@LBXaZ zgsbqte{`@%1oJ>?r)PApQLYAygd2LVxXKC^_&;pxaR1uYDUPCV@A>CKKU=UrGSHoW zZU|t6eww+^&y{`DZ|UdCKI*shb7dd(Tl%@OkNPeBT-itcmVU16qkc<2SN2iArJpDE z$up^7WG$=E2vfy+Aog?f^C1kPlT$Ol^BJKTRys#TK2umEL#iPSpF7ZFS+3TiOewzauL?2JG& z387b0AHiWnKdrD&Amwl_hmn$?m$TVP@u~E4?e|9c^{fOB&Ho!1VIk_bD)uU3)lXHd zkdjW}7o-d9yr5lm z>H2&R5#2==O^G!3i5$Cb14_&7R#oYJfH0j(=)E;9WyL7+D+6xBH35u*_!F;m<692E zT7`qb?!3R+2%F+$g4Fw>J#RUgc>#cCx9$<#OK{2H9qzoYYOa9010&ac5) z{h=Xx0%!H_==>U-)xV?jYj9S7Xo#M`S^YaYzuuBlFPoysDzyheDX?B9UdJaPivKOP zW!c*$n?u{`U(#8*eR7rT?#-k0=CZZhyUC>J?4+xpb&Lyq0{*$kB~XNm`qB8O+Q z04BXJJ8~fI0!*cWphG4i6KwZ9Cw&5Vlx#)mF6}3aXrwA-oL9+G!9WBUC1K~PniS>i zR_`Ozk|L3%(hVR9gn_L|1U3B?hRu=^DM|fL89HZj!tTZFgSvdkxuTI{)HMfrjN=DB zakBBp6Ovm?b#BY^W3hd}bq_94Pd?G-ToyXFKwfp<@4KBIR=;pDAZtpFkv#F?AgFM< zQP-Af^b+RL_EAQ+g5K+-7Gr>W5GGOtf_Sq)Z8*p6|366K96jiV0gTjxV1Alqbuy2x z{P5(>?{czz^Sp#fVIvtUhR)M5NEyG6t6%2Ux^ek`d*AFcTP4olGaa{R_3s(B`*8xm zI@+Q9)%|40?vtHGXL5e(ss`{Y=;sguP}MBDS#E(cZ%3o^el)7psI}-pO5zFaQ7mFi=cXMRUcZbG`Or zq~2PK#Y%guL1L6SQiK2h|NsC0bG`OrtnPEY_F|;oQj5h(bF2UW0M`@NIRF3v0b)x> zL;#2d9Y_EG010qNS#tmYE+YT{E+YYWr9XB6000McNliru5J0+FJazg+B0X<1X zK~y-)t&~A-gD?<9M@ry4mC^&S2zwTVwI!%8nH(Y9p!5QvoT2_6Q_SG8vZy8J&)A=V zJdI7$;>PnaVIr0}`QQ0IVj`9~jnlVVxjiru%bd8-e8WU6bNU(mTm3*Rb6UQ9O&*9v zPRl%Q3y4Kd%QLEpSmgBTDB9LqJG|GcHoNWea;@9W?Zg^cN;_Px{AjFZ+jrx$#>QS( zN9R{Q+M|Z=kOc8ROk#KhDx15#|E82F!Z^8@P=GJ_*dlm z0fu}(n1AR8%J)M!S1OAt7*rN8P_7@=v#YTPr&sTX?f9oz>@J7|0~22{2?pYpk_^nN a*WWK#QeO&kFxQ&^0000##H_DVtCN;$yBul{LU>^ii# z>jwLDj1c;2L{Y@ zz!re}dT9RzJyiGgQ0i)44^IU!uZLXY_w+E-?i?4NOL5NY;ZpuHTwFa6lN?;VLW?O5 zZeOXzn1i3rT}JrB@;nA_lV*WK!y`iNv?$ni#c< zG1f6ix4Mpk&wJ7mKDAlKfPW)Rtm!apq}%r-jg2wHxQS6jX*B7^tj-}8T|#anIDFiq z2cyFpGqWlo5I`HPVy)ohMBM7%6}FNFfIMkT0n%0t2(4s%$T_;?k5nUxH(FbL1~{pk zSRcB)1@B@YPlmj#UGZ<5EjejZ2JDIB)*dWsC#;K2J`G1w(y0(E0~UL4 ztjBd5CqVXa8v)w|;J|>MY9eoqlv1dHg?#V=08s{N^N`!tc)7d+7(V8r>v1t&Yu=qX z+D6Knd)9>$%5o>)<;mHH`%Yx0A%pOM948pIxQpQ2z4O76_NoJm?R^~;{xsa zi1<>+Mh5GxlYHF(5JMa%IGtP*YA_H{LWWiu(DfLeAnIsOv_5JD(I}-QX`70okYjzs zeZ)1z?b?OSQDFxHipsiQa9JFk6!}8LmXtgyRw(&j54=YdULuc!2m`$sv9> zp_C^VZlVmp#=MYz4dFmuluF@nh}83SVvXR!)foU*m+CDqgO-+7Jvo5`LjSA$0JJ|} zkMzpNMkt>H-T2Gn1ZUz zaB^>EX>4U6ba`-PAZ2)IW&i+q+SR*RaveL+r1_3j^b!&?upEqLy@OhQe-0!kiMsYz zS-+GhiHCXeAb}X%Jp!Ov|LgzV=KtYOt~Hntb4fL&hd-f)>KZS~bN}4$_6g_z^C!G- z@$--C#(%uwxTGK63u(RgH?GI859D_w+kaj+dA#G4cOd&Y@cHBQWW9dxEAK$w-Rt)K z+0^%QEqq(f`_GMc*mv+he-0UA%*c4&8MnOk5C0cE#ovF8e}Vt4cid#XKUZ|!`}(`> z%;(ELj5q#ayQjT(_@AaQPkL`if7s}~ZsQ-<{ioO5j~UsIm+t2q&fE2T|MSgud(X1> zx~pp;VX0)^MSYm?yyC`=DgF6a;w$qn@;aZd%2#2D1CLE?(D@q1R_n0#w!u!@?6&KC zA9gUs;FimLcWy94T`NAj>V}sKg1+o_*;hY}FZgNTHP2=DITw4LThH@`Ej)Qz?sS&H z@a5lM=C_OgCtsff?Jb8}D`SppE9T`C(@aC2)BoIsL+pNS8jpR?m-%$-*B?37Q2`xRUM_}Oz`e1dt?+2;8UfQfi^WHQ#{fhSoXZL&{xE?bKo3;t=$-1*=- z9oSw~RvOV{@=E53vhODegPQcJ6@dLS&;RI{n2*4i2mZ4BM`bmNZJ zy6e7&9((G!mtK1tgwF^gjx_QpqmDM+^po_TX=XFatg|h<2&ENPTxsQ1R$XlqYuoRz z<4!y8vg>Z2UVFXz(`)t*&;7U8?CUjoES&rDm)E$Q^T!ZYa1!M+Jm!MM<5?aMILT*E zu^~8lPCk38BPpW8Yc|R`)5>FbFf8lhwx7QH^4x#=&BXA(>4mF5cJwsLUirP%57`>1z->554P5sVhnxuxx3vp@2*!&dqh)4@^&vD z$BuCbHFr;&5BD)^=dI!ESeao+PTPFW$u(PZNN#O@3bCCDn|`nRFY`w5K1sTF=$oR$^LwWSPnYm*@LrP{ja9v7xmP_8Aa(Tr zBFX_~o*xzu!`S6KbH~}4iD3RC6PtV8cuX4PUiA17TjsixN}gstI1T$MQ5QQR^5 zF2s!e-9PVY&srJ4p9iyo6}cP>#?INS<3YGPx#fq|F8{d)E9wKm?^WaX|8P2I>V5nBNOAP;~CQSxeJUe zu+$H~Iby}FF>HDW-x*o5|FFm3?q|xQ?Yw5iwQKE^2JhJfpJMw$hVM0Cua@im9P@8G zm|vq~#${WaWwcy;!@Q}ivI+DSEs=XxHA}}ub0vPnyv8cBkCiMT6iaWUbNAi?>61yb zPTmZwlXWY%Gue^vWb@i*vJ5bchA1;bH(&zDRl2o6PqdK3LT^O=29o5yl4kt*{Ui0v zAG!CLdhwqgo4=-{`IeK@Vi*{A1JQ;2WW^u@rUxUPAPw(mP1|1wJnPc|ePV1}ya0(V z>-$`Zi5n7NXFpMagJVPY#659s&wicMS!J%UtM7fU*vyGp%ShApShtHlx86Gj1#?%( z2{bBE9}KL0mvzDv1YOJ-Nmp#}1=MnUDZWdBP7BXqBHsmq*LIl{5+shf+%nJ(Z;teh;_lcgAs~4%1 zc*@5Z#XGsT-k3%j7#hEfokvXGNXzJcpgvYbz!b}8N&pmCfqeGYjOE3jx|(LM1b(jPEzJM zL|^ed!a$~a1`pvGrRgybc8Yciu-DR@4#;H0LZcKQNb+RtLpA%Q8oZ`4!8UxYgya%o z*l!3vFgqCm`rtK7+}Uvx1dv_Jc?NvEGIh#EB#2T~I%IyNYFAPN6rqiHql&0lC^Qyl zk0rYm$KFruAom#&;0Z;g6JoDp<8`itEK7iZOapiUg)CG&DrW4yR4C?T^T}l*`=oOe zA`f?&qly~On{CH28jFUS`_UxTf*hKW*R;{6xk)(Af{j+a1T01a_ra$MU*S{dSFAaE z6r0w`e1xUr#Zv!?rD3(XD#qqx0~k7Z-q*?K1L<4&42W?%j1}8|k7r^J7<=bNPGNH5 z(9M4c8?n6}KWkj7YRR3cP)8LmXEY#I!3((tXcM5N@|Qa9(@8`n80IhrwkS)q7MDKW zy=ZN&AxWo!h#4VATLp;pJQjbzmpw5U5*yTT3+)Ue_N+N9GOscRJ3gYV3&)I1{EC5) zw(o-&*HWNKWlY)0pU5~YGU8>C%Z!iS7mLjNbc235UfWN_jG$%_c2)~CDQ_8;v1}1g zG65Kccm|V5F$U|SG%6NsD}A)Z%$RByfpzL(e@5)Simj2yjXc1}F^?)x!#qf%tILiI zG2eB_3gkuu*9$Um5!K97^4=jAs4oO{DqR%|zfUM(^ELcPH10n&)Oe$tC*0#%?Qm zc?fK;>fvbQ-lbGoGG*EDp0{0hiAdiH>`g8l+A&L7jav$NgsiN)D6gPv>M`MLkYpIr zw$uy#jb1FFttQJ&tx+NuJ81#;7| zN|ZVR26yIU;3Q;uQf#=Shy+iOJ4fw|gJCz$9?k5CX9j>MkYLc>wQ3U;Yj09`qS|BhUvLXVj` zJ3l1hv#8{}1QNlr6^2yM#J-i-H=P1)YJF2wXCc^mpd`R1MI|9-AtWArf-zM-99Tk$ zU0AwG#ar`=gzPFB#4ZZ%9TBi-n}O`Z^`MRv3ULu%)W$AaOo3i1)kU%tUCA`17zz9g zN@(U3MJmj?9ckXLtWWu>dJxUOD$AZ~+4TVAII!6Op$=-Qlu(3J3;(UpNQShTctDE7 zc}b~@YGbCxUS4xk%T{_T7Owud`U(xsAjCjmJ!nxD>il3Fxg(Jv6jSJ7gRZEe3QrL5 z7V>YWGNmhkFNs`VfzyHbhx=AdtzXUfhh!W^o^62fkHmTN20&!8wqM@!Ck%6kC&=rYOa6#390!lvpmE0P66wwc-m*q@ zE=gHYBl!&q>H~rf&Qly^r5JT(ZZ6<#X(q2aYN9hGOi+bga*IC0j!pL4-1ZGn(&I8XD-dLw_RTXySi=>2V z5GVrTuCYT!C-wenRGE`O7!WGxz8x?Q`KVf}a&c%rxv7;g(|A6%n_3l$YxK?v*RDR9-s-2M*gLDovHjUy0W%3`L9%_*o6KK3eVk89N z;%fgyVQuFeH4=&Qi4Xvj2Gu`t;q?j=k-}rZuw{xd;!;oZs6&g#q=TEaoheMJMnhE{ zx+QV;O$kT;ZTKtOWtNZCVx$(=fU=A#0LMv;Y9i;SG@ z-_@?^$QWjNrLHQ@Q=p>@N_et*>$gbXw@5#*J=BR+>3z%Ne#T>IDv!NTL@mfcb+A>R zv{Q%SN~TG)5T-}65(tMJPPLL{DDnN{A0zacsCh)h3@vW+duAO!jsOtE5J~%nMJxbFR#PQh* zkmNgPDj8tZPs#9i)V><>@7DD#i8~}q)VUj7F++GB+XS_o>;%|=!X3ly7MO_3fCP}h z$$RcE?{%u;s7MXB7wAQ<;$BRA>ng_rt;%%(B7tXHRk50u0Uc~d_^l)Ry&;PO%MANA zNvip5$V+!dl@Qc;Qgmw4i1E9?9?wVo7B7g!OUYqKmy_jWNHNPLjZKcBX)35|Q3B~A zd3}*Qe;|2VXh6)L+zsF}g{`LYG=IhX+u!j*mVFKm>@%m+$befH1YBSNY60qC?mZUh zCSMcW>fL@8@9>Cw_hahY6Si+p*sG5rWq|mia4!WmfN2qwZdr#>;Uoe!y-{`7mEU#w zv#zD?jJtXH*yEN@0c);;1$2%GwfXl6)c8~=DM96+Fb^-t=_8w6CQj|aY)62dR&~n= zygvo&vw*I25#alDXz3e|S%$5i@lB&d+tg~2m;pyIL!f>R)riK;3H($bnRq3qkIZm_Mk(pcxR zVxHPm^8G~*@c2Wuql)~_$*2g@oEXWbw@&Y;PA6&})oeTer6u_(-7OeW0f{lg!fVmZ zC;#BTroFdtZ}i`1>s&7W53%s#mH7p*>}pSZrahgqsm-WE0h9a?oXsyV_yz^W*X2aB zN>i%fC9x*$dV`RtOxFoFNf_yY(Pu-x1&QOp6wrV>80v%Z9rQ&&eofdUGnXDc>>}m}&BT8OK?q`K(*jN>#0t_^P3iX6+8!EhR3|y6hLRN#; zR*$MhafQ1R63%vEersYXPgud(5dn`xx5%!4ag?M(l4jMc3uO??0VJyt^&*Dhs`MpZaapzt>otIF~6=EBga7N!pz*&4HM!iA$`IIP5~DyHrEI<@w!Dd-46Fh40Y^tnoJMy3Q$F zSaScC_Gj-RGUQV0f~WyqK!=)`=RA8yKMHj8?gh%Bj0Yx_^WVw{lKSGr1xmqWEYrqe z0E;>%!dLAupA`MF58C&1@%-JT=}OKHCb_#uXWuDbBvlL9yiiJ^B}7n1??AFcp>ezs+uegu z0bIdN)_7%>SECi3ReT7#i0U)pXfhrqU@iX?!qzSAEGpZo+CmO=csKE-=FyNAHPR|6 zbe+LsUe2FC^NOlEwcooL(Gp%pjY(yl+N`Rf!Ed!2agIN@S`M!2sb|+rI`$Y{0tEmQ zR^gdW3Gweh4n7G9sRc=v(GYvVQOe9Jnhuh-VdUEoF4lZ>(n91;uY&@S84w1nElBYE zcDCblPsAsdf8Q^xt>Wzd5KBw}lKL7ePo3Dj$HW=$l6O1f*yZB`vx# z=fFb7zOd720}q{c=mKYml})0Hh$a?4Q6Q9mC4;AljHIE5UMGbY*4ODQXhCu<< z58a&B1bWY`uHJ+==L%M&vB>@xln?0QD%NtW#w_C*srx@R_`nC+xyDueMRD$y_M4oKYe#&V;o>K_a2-1g5Eib&)LQm(^SO@zPjM$U8=Ty#q`}4{pheEQK zPVD{@n-4Sxd=tD1SWm?fusdGk3FtKO*}LoY^E}8s4x%dWZd`n)9N!{g*VX=VW~;fH zwJCI96YNk+&!5&du`NHPdoW0w!MAz4PILRAH1IjNYdcdudetlZPlu=^vrlTC7vNzB z=cy+QfWKzo$+k9{SC;<52#^4a`fclYY~NPn;(I_-s}v0C#1 z2qvanPRwDdLEF^hb?0=?Z9o}q@}~HATUMQOZG9fgT_7y>0|j*u@CCFFJTpH4O|sbw z5|y}#DFr*I6s>lUXO3IRNZD-1OWHb%b!x*EO}$&2fI4A`OqpkQq}6vO;@fjJEHWhe zAwR!m92jc;+9+GM{T5K|iE^>OQMqdVc=)$xyEL_N(wNayxJDP$wt~&k*%W6rzdOvo zDMw~IZH#Zqaxw}O*YCEC*j->>Mg$7XmQ`-kAc~@{1l_3^Z zzp&O)wJj&fb$h2sF7-|i?MZUA#<0ofv-RnTBU1Ha#}q~$SPy0<&M(O!i*B#(^pMZ# z!?Q$aM7ReADMWKOUx!Nw(&!N^6P{eER$WaxZBH4Ex26R%<1LHxB)$JAddyeV!(Hm% ze6(+Fd8S5xIA zA2vt=mif*Uas0y_nD5i~TJzkjd~987~Ef)3x)Y;ux?F#XaA4ag6$bz4~GQsEbub zKk<)EndjY>>ADvwt8v}~mFD9_Wq}K{MLg_t8iluT$tqm@t!94eRBds5Y>=sMfj&}) zP1Ke4VWf7>B*;tgRNlp(j3`B?GoLb=5D(RwD7Too*KZ%7kc^Ha=&X;INK!H?yX8-! zQV6A!n8(GpM|Q&KOLA--SyXW}Oz#(D55st!iE%oFv$G@lEHwo>fwG9S1NP%BcW$@q z=3aht&p61iE!T?P_pSoEHN><^tKZ6`(@*-NQ0i5RnB*m0priLh%HKV$_^{GIFh1K> zq{JN3rxlph`64i$;tJC)mHZrbL?F-F-eCD4F5M7GQ4Z zqkWhRN8UXY2X>H?`8KXq9Z_1TQ=2W+3U8K4w32(Z zN#%w0XG>8b+^?P+{UYQhFm3Y{E#1hs_1u2JJpF=M4t(y<2I%QEQqQ20Z`(D*bF_S$ z19M5~aLR~P3&js2fPrUo4`QQr{XPaLb`M+zwRxI5Ea=}Yd#Kqw{v$fH-S|ew{D_Y4 zV!bR&1;oRetz9XA1-^`DzO1*@AW2n+sWjc&%23`Oefgwsu&Lm9bxV3r-NcFH zNlwE_ZoCbr{L$mZ-Zq@Wmy}gh3qFuRRfma?87dOYKbuYuA8^DVN=zS1&wux*jD8I) z0La?Dg#fm-rAS%D`QyBJtU5<|2~;hpuT#+=259RHg$*@CjEf(LYkv+cBOixOR{uEp zvOXGXF|>1}9fkT3Ac#d5t?6oSSM4Z`{2N+g%pbyBx_q2NO|U-JtBb`0ITXivxFreq zmLgrJ@V-&x(wPTsJYED$2i@Hj^17`)Cp3-tq+@$7RyjK~-!?Glq;y9;rwhMgPmf78cE;qhTbbUWWcogAv zR=C?L@0nLpWa07))C4Gw z&vu5k4Wzv7In961jsIGcmPwU`@JEf1O}@k)2|1N|C`XXEszsFP13HqSx<@+zc{H%`6dp@J+w*hh} zt57rWVf`8uQf+9b`j=Feeoa4yH@}bn4v!9+;uG6ON_M8{?r{tEck{&j?4BSVyU!7t z(QkhPJeVu<{XbhSM{ydRBn8oH)Y;q?Aivn(EtOKv?)S$o_eq>FQEb6QebK|!pPivR!si*t*tq~7*QLEcI^#Y!=( zN-2~|DN>8YN^`6L003J_FhKwS00Cl4M??UK1szBL000SaNLh0L04^f{04^f|c%?sf z00007bV*G`2jm0{5dbGfxt3r600MzYL_t(I%k5OVuG=sS&6HiVfX<=}WR@7f@Tiy{ zlF8n$f#^G0PyX8;%E^7TOZO@uS1?r|8UOp>)ih|&fm}dFZQK!lzdsG*2g@5 zGuQeiBF<^ys}ru(zW8vxR7t&RNUGXtp)`DE!RM<4g3aHqTJUFL?d0(aWL{Pwj;clV zrs|Y9Na%TZQk>@s-|UQDCtQU?8S%u!K>>om!E5JXG)H#2Uml^<7l8JFM}R`~FGTR9 zm*!)xd6N!KGKUbu6ObtM+CAnLLQYyF3rnUh9rmf8BvGslu!!+?8C49N3fmJR7$qRg zy8)8DDlv*M_kDSK>2{XOaXF=^kj zF(yyRml6$dUNXmwc5`wl_NyBO;R5h5z$%?cj!Z<(zpBs@KL98cLv0yyn>f?;6M!wv z^Sq)lIRuN2x7ZUMfx-)4TB%nT$OLKMj2lW4Zp|K^0C>ob6>?OP{i={7)B*nJ$N(o) zQkW#8fpOfxPeFSsF~>yKZUDp}$sFu^>Pv?TC`O27Xn=Xe?G90E+-2N?hiJSHBq7#A zQSdQt=!cG?)0oO_^N7GfQBC(}8;dQGYYlOec-p)vRPv99#fZVHl97mG=!M-ByFDR8 zl2$V=)mI7U%dYbV|bOlTbgFuYIiu^9qI8CFRS2}1uvTLAZu z?NQ$>ZBXS#^u>NGCm5?y9p^EBS|DFm)KU%fmo0Ue-+`z9=iB)W23Hd3(KUI200000 LNkvXXu0mjfyNafM literal 0 HcmV?d00001 diff --git a/data/tilesets/secondary/sootopolis/anim/stormy_water/7_kyogre.png b/data/tilesets/secondary/sootopolis/anim/stormy_water/7_kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..691af34b6770f8ee2e3541241360737677ed3407 GIT binary patch literal 4658 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 ZtXFKK2O93JcsVVSih_oGy{tvV{{ZYo<4*tp literal 0 HcmV?d00001 diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 79c910ea2..fc4d623fb 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -86,6 +86,40 @@ $(TILESETGFXDIR)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png $(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 328 +SOOTOPOLISANIMDIR := $(TILESETGFXDIR)/secondary/sootopolis/anim + +$(SOOTOPOLISANIMDIR)/stormy_water/0.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/0_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp + @cat $^ >$@ + +$(SOOTOPOLISANIMDIR)/stormy_water/1.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/1_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp + @cat $^ >$@ + +$(SOOTOPOLISANIMDIR)/stormy_water/2.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/2_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp + @cat $^ >$@ + +$(SOOTOPOLISANIMDIR)/stormy_water/3.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/3_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp + @cat $^ >$@ + +$(SOOTOPOLISANIMDIR)/stormy_water/4.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/4_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp + @cat $^ >$@ + +$(SOOTOPOLISANIMDIR)/stormy_water/5.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/5_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp + @cat $^ >$@ + +$(SOOTOPOLISANIMDIR)/stormy_water/6.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/6_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp + @cat $^ >$@ + +$(SOOTOPOLISANIMDIR)/stormy_water/7.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/7_kyogre.4bpp \ + $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp + @cat $^ >$@ + $(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 508 From 715e0d7f64ac6cf980d212608768392083659d8b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 12 Apr 2020 13:13:02 -0400 Subject: [PATCH 14/19] Fix indentation in graphics_file_rules.mk --- graphics_file_rules.mk | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index fc4d623fb..c53033f4c 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -89,35 +89,35 @@ $(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png SOOTOPOLISANIMDIR := $(TILESETGFXDIR)/secondary/sootopolis/anim $(SOOTOPOLISANIMDIR)/stormy_water/0.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/0_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/1.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/1_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/2.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/2_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/3.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/3_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/4.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/4_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/5.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/5_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/6.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/6_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/7.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/7_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp @cat $^ >$@ $(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png @@ -391,9 +391,9 @@ $(INTERFACEGFXDIR)/hp_numbers.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \ @cat $^ >$@ $(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \ - $(UNUSEDGFXDIR)/yellow_frame.bin \ - $(UNUSEDGFXDIR)/green_frame.bin \ - $(UNUSEDGFXDIR)/blank_frame.bin + $(UNUSEDGFXDIR)/yellow_frame.bin \ + $(UNUSEDGFXDIR)/green_frame.bin \ + $(UNUSEDGFXDIR)/blank_frame.bin @cat $^ >$@ $(UNUSEDGFXDIR)/color_frames.4bpp: %.4bpp: %.png From dde4a0416c8dfb1177d04a309edd74546fb9c5fe Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 13 Apr 2020 08:42:31 -0400 Subject: [PATCH 15/19] Label GCN link flags field --- .../scripts.inc | 2 +- data/specials.inc | 2 +- include/global.h | 2 +- include/save_location.h | 1 - src/new_game.c | 2 +- src/save_location.c | 21 ++++++++++--------- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index 4ebc03c8c..b9ce0c809 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -584,7 +584,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivePokedex:: @ 81FA3AC message LittlerootTown_ProfessorBirchsLab_Text_ReceivedPokedex waitfanfare setflag FLAG_SYS_POKEDEX_GET - special sub_81AFDA0 @ sets flags that are never read + special SetUnlockedPokedexFlags setflag FLAG_RECEIVED_POKEDEX_FROM_BIRCH setvar VAR_CABLE_CLUB_TUTORIAL_STATE, 1 return diff --git a/data/specials.inc b/data/specials.inc index fb2e8fe75..97cc3c782 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -504,7 +504,7 @@ gSpecials:: @ 81DBA64 def_special GetMartEmployeeObjectEventId def_special sub_80A08CC def_special Unused_SetWeatherSunny - def_special sub_81AFDA0 + def_special SetUnlockedPokedexFlags def_special IsTrainerRegistered def_special ShouldDoBrailleRegicePuzzle def_special EnableNationalPokedex diff --git a/include/global.h b/include/global.h index e3c8fee55..bcf3e6486 100644 --- a/include/global.h +++ b/include/global.h @@ -465,7 +465,7 @@ struct SaveBlock2 /*0x90*/ u8 filler_90[0x8]; /*0x98*/ struct Time localTimeOffset; /*0xA0*/ struct Time lastBerryTreeUpdate; - /*0xA8*/ u32 field_A8; // Written to, but never read. + /*0xA8*/ u32 gcnLinkFlags; // Read by Pokemon Colosseum/XD /*0xAC*/ u32 encryptionKey; /*0xB0*/ struct PlayersApprentice playerApprentice; /*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT]; diff --git a/include/save_location.h b/include/save_location.h index 6c2ae0e6b..53f317c57 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -13,7 +13,6 @@ #define CHAMPION_SAVEWARP (1 << 7) void TrySetMapSaveWarpStatus(void); -void sub_81AFDA0(void); void SetChampionSaveWarp(void); #endif // GUARD_SAVE_LOCATION_H diff --git a/src/new_game.c b/src/new_game.c index 464da6414..290c0c2bb 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -162,7 +162,7 @@ void NewGameInitData(void) ClearSav1(); ClearMailData(); gSaveBlock2Ptr->specialSaveWarpFlags = 0; - gSaveBlock2Ptr->field_A8 = 0; + gSaveBlock2Ptr->gcnLinkFlags = 0; InitPlayerTrainerId(); PlayTimeCounter_Reset(); ClearPokedexFlags(); diff --git a/src/save_location.c b/src/save_location.c index 6bf5eceb0..aa56d7b16 100644 --- a/src/save_location.c +++ b/src/save_location.c @@ -118,17 +118,18 @@ void TrySetMapSaveWarpStatus(void) sub_81AFD5C(); } -// Called when receiving the Pokedex -// Only place field_A8 is written (aside from clearing on new game), never read -void sub_81AFDA0(void) +// In FRLG, only 0x1, 0x10, and 0x20 are set when the pokedex is received +// 0x2, 0x4, 0x8, and 0x8000 are instead set by SetPostgameFlags +// These flags are read by Pokemon Colosseum/XD for linking. XD Additionally requires FLAG_SYS_GAME_CLEAR +void SetUnlockedPokedexFlags(void) { - gSaveBlock2Ptr->field_A8 |= 0x8000; - gSaveBlock2Ptr->field_A8 |= 0x1; - gSaveBlock2Ptr->field_A8 |= 0x2; - gSaveBlock2Ptr->field_A8 |= 0x4; - gSaveBlock2Ptr->field_A8 |= 0x10; - gSaveBlock2Ptr->field_A8 |= 0x20; - gSaveBlock2Ptr->field_A8 |= 0x8; + gSaveBlock2Ptr->gcnLinkFlags |= 0x8000; + gSaveBlock2Ptr->gcnLinkFlags |= 0x1; + gSaveBlock2Ptr->gcnLinkFlags |= 0x2; + gSaveBlock2Ptr->gcnLinkFlags |= 0x4; + gSaveBlock2Ptr->gcnLinkFlags |= 0x10; + gSaveBlock2Ptr->gcnLinkFlags |= 0x20; + gSaveBlock2Ptr->gcnLinkFlags |= 0x8; } void SetChampionSaveWarp(void) From 0ffe63a23b73aee86ed89b3b014595ddaa7c381d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 13 Apr 2020 12:58:41 -0400 Subject: [PATCH 16/19] Fix decor png dimensions --- graphics/decorations/decor_attract_mat.png | Bin 307 -> 257 bytes graphics/decorations/decor_big_plant.png | Bin 310 -> 276 bytes graphics/decorations/decor_blastoise_doll.png | Bin 371 -> 342 bytes graphics/decorations/decor_blue_brick.png | Bin 226 -> 181 bytes graphics/decorations/decor_blue_tent.png | Bin 321 -> 283 bytes graphics/decorations/decor_breakable_door.png | Bin 274 -> 213 bytes graphics/decorations/decor_brick_desk.png | Bin 270 -> 220 bytes graphics/decorations/decor_camp_desk.png | Bin 265 -> 204 bytes graphics/decorations/decor_charizard_doll.png | Bin 349 -> 311 bytes graphics/decorations/decor_colorful_plant.png | Bin 371 -> 345 bytes graphics/decorations/decor_comfort_desk.png | Bin 320 -> 292 bytes graphics/decorations/decor_fire_blast_mat.png | Bin 287 -> 236 bytes graphics/decorations/decor_fissure_mat.png | Bin 290 -> 241 bytes graphics/decorations/decor_glass_ornament.png | Bin 292 -> 260 bytes graphics/decorations/decor_gorgeous_plant.png | Bin 332 -> 299 bytes graphics/decorations/decor_hard_desk.png | Bin 325 -> 288 bytes graphics/decorations/decor_heavy_desk.png | Bin 268 -> 208 bytes graphics/decorations/decor_lapras_doll.png | Bin 349 -> 304 bytes graphics/decorations/decor_powder_snow_mat.png | Bin 302 -> 264 bytes graphics/decorations/decor_pretty_desk.png | Bin 296 -> 245 bytes graphics/decorations/decor_pretty_flowers.png | Bin 318 -> 266 bytes graphics/decorations/decor_ragged_desk.png | Bin 257 -> 200 bytes graphics/decorations/decor_red_brick.png | Bin 226 -> 181 bytes graphics/decorations/decor_red_plant.png | Bin 300 -> 266 bytes graphics/decorations/decor_red_tent.png | Bin 317 -> 289 bytes graphics/decorations/decor_regice_doll.png | Bin 346 -> 313 bytes graphics/decorations/decor_regirock_doll.png | Bin 331 -> 297 bytes graphics/decorations/decor_registeel_doll.png | Bin 351 -> 314 bytes graphics/decorations/decor_rhydon_doll.png | Bin 367 -> 314 bytes graphics/decorations/decor_sand_ornament.png | Bin 286 -> 252 bytes graphics/decorations/decor_slide.png | Bin 293 -> 245 bytes graphics/decorations/decor_snorlax_doll.png | Bin 337 -> 305 bytes graphics/decorations/decor_solid_board.png | Bin 221 -> 162 bytes graphics/decorations/decor_spikes_mat.png | Bin 302 -> 249 bytes graphics/decorations/decor_stand.png | Bin 264 -> 223 bytes graphics/decorations/decor_surf_mat.png | Bin 298 -> 238 bytes graphics/decorations/decor_thunder_mat.png | Bin 315 -> 270 bytes graphics/decorations/decor_tire.png | Bin 303 -> 266 bytes graphics/decorations/decor_tropical_plant.png | Bin 307 -> 274 bytes graphics/decorations/decor_venusaur_doll.png | Bin 393 -> 352 bytes graphics/decorations/decor_wailmer_doll.png | Bin 320 -> 282 bytes graphics/decorations/decor_yellow_brick.png | Bin 226 -> 181 bytes 42 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/decorations/decor_attract_mat.png b/graphics/decorations/decor_attract_mat.png index 16528d9f393ad2658efd5f61b6796e524b731885..77e077a718875b0bca526511731ce63b144cb7bc 100644 GIT binary patch delta 204 zcmdnY)X1dR8Q|y6%O%Cdz`(%k>ERLtq$NO@g&9Z+MJk-0sAyl`op4Wt@tb~KK=MQCV@_My{D>r{s)4B|Hhn(z2p5S#&MU6 z&mC{0pi{9v4X-Sm=S`WuWa*UYHk~Y4g=LzB<;CTig=H*7f9~83^76WL=dXfHze)La z9tn0&wn+Z2OpR{~b}<}P%GFrs_LaZOKkzVvH3P%nKTZl~KmNT7bRdJLtDnm{r-UW| Dj8979 delta 254 zcmZo<+RUWb8Q|y6%O%Cdz`(%k>ERLtq&a}tgM}GLT2`*SGEvdKp0OmzFPOpM*^M-y z;6_gu#}J9Bp%Warnhiu;j;EH3-kM#}IBEU<)eZ-IzbnZ-a9)=vZo4q@JCCp1Mym;l zM)IF38T+c92YGKwGLcotSHP9mjQ8V*8!?;Ed$s@o002ovPDHLkV1mpeR!#r_ delta 257 zcmV+c0sj7!0=5DniBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc006W}L_t&-m359i4#F@Dg zS;Iw=9fo_gXK5^~Y0(Pn1x_aoS4f0Nlu=4bV9^UHl>%pNhwJ^a!n$mMp2eQko|9}& z&s6@==>^UECNssnj^lX4X&81m*LuLR);)~1&39ij#Xmg&bt00000NkvXX Hu0mjfo_A(U diff --git a/graphics/decorations/decor_blastoise_doll.png b/graphics/decorations/decor_blastoise_doll.png index 00c55f229e4b92e8f120c578cb39af78c3fe081b..a7b0ee6e48a473847a236aa4b38feb2afdf8bafc 100644 GIT binary patch delta 289 zcmV++0p9-e0@eZ{iBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf8j|) zK~xx(UC_U3!!QsAaC^v*E$4sO83G;r0Opd_korW{B<_$d1`pAYA<)Tm^rmcap%A}< z->Ri~kKS3OL%u=Z{Xh~zj`I-M^0J$abMLPJLQJkaPj3NomT@m=KLxAq!f@Mg1hj(N z%NJtybLa%U#p{TVfC?n?1e5PwccawiZGRV}DruVcP^FBj!~;NFV#N}2@fkPIG^frpzHNbd#Ngs>J{9v}7`PY#QEZIivPg`% nSh%!yI=D*7f7q}1tN;803LrXV`axQC00000NkvXXu0mjfgW7^* delta 319 zcmV-F0l@y&0`mePiBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc008kxL_t&-l~vHaPQx%5h2b{?1Dl;RQOZz>As2vL)=DLgSo=4WB~k`5 zFd#8SjM>80AR#rkkh=oGeek)7R5+5K$v*aH7^7u%0bCv@Lj3_=9SX;t(CvmzE61(Y zAx83tPh)NdPFX9#Ob;-RJ2}z5f4O5deD7P~LBM;Li!Q#_LXttgH82~P3y&5ya*<7q zrOL8IW%C1JmcZ8JD^imy?1}7Ik!W8A@D}pO znOQ(!Q diff --git a/graphics/decorations/decor_blue_brick.png b/graphics/decorations/decor_blue_brick.png index 88e0587127b9041f84d2466a96cd15ea91dee8d7..cb187beb105d8fe8559e0df6c649c686bd72bb7c 100644 GIT binary patch delta 127 zcmaFFxRp_{Gr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPDos!PCVtL}F@k!U1*( z)<%Y7fL*S bU|?92D{?7+&9=)xGZ{Qx{an^LB{Ts5*SsT_ delta 173 zcmdnW_=r)lGr-TCmrII^fq{Y7)59eQNOJ(O2MaThw5(itWul^eJ!46bUoeBivm0qZ z!30ki#}J9B$q5c@Jqk`7;*6|K4hI&nu<*DYb93|1F=%9CDG>aj!z6r2!HMN=g-La9 zW5YpKj)Lfx%=H`{0`0;{1%`qZ5(W-Dx|;f$?E;#anwbKI28?{nf8<(jvN1BaN{d`N U>B9FKXcvR0tDnm{W~YQE0PA@!Pyhe` diff --git a/graphics/decorations/decor_blue_tent.png b/graphics/decorations/decor_blue_tent.png index 575b352410675d85ddb97ad49f62c1765868765e..f94a61e368dafa96572eabe9ada8f73525167f58 100644 GIT binary patch delta 230 zcmVPY!ckgD-eD|&utjgov%kuJh?^;0WSUuiNH*v0f z*Af8ahXq03(qB0D)Um;K23ZkN^Mx07*qoM6N<$f^Z5{ZU6uP delta 268 zcmV+n0rUQw0>J_yiBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc006&9L_t&-m2J?m3c@fD2H?xkJwbf}JGp6m0o#=7R-pkOq)^-|)TNW4 zT^t=1$IrEJ|$RXs~*3r8xpLE~GXVPh* zr*#taN8m0@C7F!b;XXrC5i|OiVg?*)uzHY53**}lgNBiQI8!4YSFO48RsubxXX+cc zzJSnSM`B~lNMbDoAx@MtLMgv}hY*$x{(`57u`WVWW0oV<=6s4WknmqgU-kj7Q&Zri S&LLF*0000B_ZB33WYVJC`JVJ^x6W9*&X)J%b|8)Iy`5P8z-}l^?+^=v%@O(x3AGvcYf29B6 zU--s0fGtm|>rDOQ{~VHYWIFCE$ef&+U?4cT`H`igh6A@c1Ji_{)h&((E(7gk@O1Ta JS?83{1OUlHHZTAH delta 221 zcmV<303!d@0g?hCiBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc0059lL_t&-m2JhSSaA6<8q>?KKf2(8Eczl-ckq(xxK# zM+W7Di%*fUo_GK@>&kqC(?vmc-QwsK-vu5c^2iRM_O&ERLtq$NO@g&9Z+MJk-0sAyl4?&;zfA~7{N;Q((1 z%fbf?6Ar&HI(nJ4h1Frs%m9XGJABOMJ$jV+vgxE_s9EZ!jZ3+&Fo^KY%ABUB&~wt! znD?Zm#+(aF0~adrJe$+VG(lWqNqO@@w+-)?m^bZF<9)2)5yH2ap~;1b!Pd;Fq3KJw Q9MEb8Pgg&ebxsLQ05#h=ZU6uP delta 217 zcmcb^*vF*U8Q|y6%O%Cdz`(%k>ERLtq&a}tgM}GLT2`*SGEvdKp0OmzFPOpM*^M-y zV2`JZV~E7m+Wy^wEe1R;*DV`m<0W0rO$}%ezSVSuHGpB`WNio6yHU@I&oD^u`Pg^u z7sK*h0u1WL6N_totykHKXz(10S$5&Pk;#m|=W7qnVdr+4BAd3|(f@Mat1IrA8@>ff z7|z&gYW8D#X1b`JZj07@{rN!~;~v!9uJbvg+3K`)@p}`sx`3xEQ)}O~$r~j&HF*77 RxC!Vm22WQ%mvv4FO#m>&Qs4jp diff --git a/graphics/decorations/decor_camp_desk.png b/graphics/decorations/decor_camp_desk.png index b40429229a2b1b6377837b0d8b768d397c482166..6a1bf68c914896dce25bb93f55926b05fe88d190 100644 GIT binary patch delta 150 zcmeBVI>V^g8Q|y6%O%Cdz`(%k>ERLtq$NO@g&9Z+MJk-0sA!)P?&;zfA~7{N!GX22 zDM5iPY4b{n-3ar7`Rk=$4)!SayBh=GA^x8@5Ck4?cqs~9|8{an^LB{Ts5A&4!W delta 212 zcmV;_04x8@0f_=3iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc004(cL_t&-m35E74Z|=D1L;rS_9qK86V&Jeg*ri_yqia~{|Ke*rcD5a zfDZy8iy+Xo6yP#eAYFyHD={1K^IV03RH@(-CxCJC z7iENAka3>NCO-O(dcsTl)aPh$-mR9PPmX O0000M=#d<3X46n~WZA8oW5KrYA^LIX6I(f_M7mNS^5-3v!|U?ZW*2uwF%EbLlD5@r&gQE)9w z<{33yDeY=OaG)j_rG0%NK-NvnSder*r$p;SEz~Xo-m46iy*jRr`FU4}hv?_Nt5cNN zPEl4}&*#Y6{i16+!Nb}d-8Cn%Hb)O{ZS0|8QqrI6${~K|1-&FPOXRVP=>Px#07*qo IM6N<$f^5fVC;$Ke delta 296 zcmV+@0oVSw0^I^3iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc007%bL_t&-m2J;4Y6CG41<QBg2Pf~y7bMQ-s) z&hCc!3xlC$GGel2se&OM6fSl0e&HQX+lPUd{-jrcYM1TvRg4R;Btl5Vu{A*@GuFHH z4sSI-L9>O*DNaW5*qo}-#3RGF#N}%>!`M6dHs&;Bf5Y`H#_KIUKN1fiyy6_f92$Zk uhfv{LbN_l9tsyLXhddj5y+QvM2K)dT*D_0Yii4T}0000M# zC>QT*hNccxm%-I+^F2#&7~IdzdOF){hIjApzH4pIHsA(#+qJ$=!T<^x4$XHSfRJsN zQFup8=;P~}sq}YFGK%l3V^C%@O-M#du7OQya?<*!cPv#~DypI|l2?LlqF0N>(#Y~8 qAc@AS`F!~Xl5LTIn1j=cuXzHr0bt`a?I=$G00004( delta 319 zcmV-F0l@y*0`mePiBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc008kxL_t&-m0gfAZo)7WhJTN2j#RmD4o*-BZombyv_ecQby~VG#ok~D zO~e6^5Mrew5^EPL2WcXoq5o@_h&O!lv!4FX&p@w~Cd`r;=D;AgKv~zoKF0o3GN>?g zpBDBbe8V=eBSMFZ;I1};WkO`ne@wS;Jk=Mu-FFStO0ZzO`V%QpDo5ba$*E*0dkpW$J)PYl&0c;ncW6Y%ILee6ViBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf3HbI zK~xx(osTgJ!!Qg*;~Q9zhGaJM02X);mAx0-?nT1)=-9DiZrkr<>CmYXwlI47)*ps{ z!g)snIdUG4F;7ON+DK^J3a1N~q~-@#IEJ37f~y)Ma|pbmBN|dMjp>S+49p6!2JEhZ zML4o_jAKd)cJ0!7sBu@D8n<(7McVp5mYY~Hu?H}zR^OJ#jDZ!`EJSQ(yIGd;sxpCBBw(^?3jQ002ovPDHLkV1jn9VHW@Z delta 267 zcmV+m0rdW)0>AB^oN`DLe5^Ya9k905Z+|$J|L}F_0gp0fl z3Op{U%s(%^^krP{W6X*Cu&8YVABD)t+i$+P#Fa(?n#(0wswD*NzKr>d`G)zteVK#?!?yL}F^|goB(7 z20X4`A4MMIytKoinOR~#v&PZQa(C)kqeTssBr;Ac{`=B@(;M0BP~CFbhL4MEGz5jgO1C(cjQ|?WY1hYOILz6~&fHS7t>;48_5=*AsfitGuyBX1qmYXllyQ0w{ nNMD-s500V{-DtV&=6(GD_{Ju9YEVnt00000NkvXXu0mjfP~Kn+ diff --git a/graphics/decorations/decor_glass_ornament.png b/graphics/decorations/decor_glass_ornament.png index fcc895eb9f0b622bdd5f0bf63de4ba3f4b279dca..c85ae769b2edf842c1079b4dda18e65f48265457 100644 GIT binary patch delta 207 zcmV;=05Jcg0)zq~iBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Je~(E- zK~xx(ZIH1F0x=ARdz+($`anX0n{d#yt_}yTH^i(89(NCV^F4z_`g@}OQ$9YDv~lhy zlmDm}x})A4XW}hjW{H3Y%T=ZdA?u-|s)ARNzM7^HIibf5tmy^_l;wiak#cI$L&cmc zjKr%6EZSk(PAp-K8_lf8Cx!yLCC5X>EWUwCR#Vdc1OLkRk)E>^Czbu1ZKwbM002ov JPDHLkV1hkfRKNfL delta 239 zcmZo+TEe8*8Q|y6%O%Cdz`(%k>ERLtq&a}tgM}GLT2`*SGEvdKp0OmzFPOpM*^M-y z;37{K#}J9Bx%~&Z4jBlzEI04xy}~bKRw2xF_sZ(_rt5M^>$t>zFSPwGeJ8i%;wy)H zd?$^Z8{~6&%3V_hdi~D%n9Hbrnqg!9p(b%l;r)ZIk4hslB}A8OtKTbHUp0MqduU#u zfxO`liGaY<87p`dN}n8ct?ZMvXtgVk5lwepYcW&XzI)n_gLXTbPJ3%EjT2P0GY#@& n5lgiQycd1!o%Gg&d#&f|Fse_L*NH6!I+wxI)z4*}Q$iB}_<&b| diff --git a/graphics/decorations/decor_gorgeous_plant.png b/graphics/decorations/decor_gorgeous_plant.png index dc8639c65719314c01888a632ea76484553f2fbc..ed8947ebdf44c00376744864be5bda13d5327651 100644 GIT binary patch delta 246 zcmVWciBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf3`_P zK~xx(WsW@#fPmm4^NL=&wTFTl)l0Nf$52NJGf1+9q$&O&UgwXxMpxgd*1U#8fX zZ|6s;KLEbo%(HoHSxn+1GeuKCLxN-E1sNhyoDAm2yd&Il77g8!W?3BPVrO`$C2h)F z3|R?Dr0Ya5w8Dsbe=t<8 delta 279 zcmV+y0qFj#0?Yy-iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc007EKL_t&-m1U4YN<%RahQHh(g9Qa$HD17(yaUvv;QqDHYq)B+1xs_5 z;>NXZ-0G#AKo{-vhxzy?1Nk$7e+nHp-Kf`W^k%U0OvKAfFc-;8&n~I*tm$!jS?qY~ zNZk$#r;UCPtS$*DSHfH!mJ*>@ZGl;7J-7B32;(>mEDxI%wY5rqc`KC7A=6x}kGnP8 zzQU?nq!x9gc|_IQY&p{M0&35dINkE$8sTCt$DQzTx4-8{5ESnTahjO8>U-+ dU*j?i{s7odDaQUjcbWhI002ovPDHLkV1lQRdSn0q diff --git a/graphics/decorations/decor_hard_desk.png b/graphics/decorations/decor_hard_desk.png index aa0c7feeacea2b5796fb4adb9e3876d9c0625b8f..b85b098f98af55e49981a59dd69f968441c02a2d 100644 GIT binary patch delta 235 zcmV07S^PlFm>87DWIHYha3r;h4R+5BCp1l(!6r4l8)` z=u1=qx^ipla}^9MV6eLxSvu|KL9oI(Jw4qOR0<5Wb3;=%@uI$iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc006^DL_t&-m0gd)4uUWcM2CZ(B}P7=MDH>sd;l1)Di*I|0zZKMzq6GC zv4@x0?sj$xEKZUNTPIOa$RlcCoqrZnX?6je3nNJ9P?0rQd#WTCbNxneM}fH{3&9sp z;9-!dhF3Rx@rsy)TRAr(EJie)X2=SDs!u^C{96I!AnnA4uf5(-&ZB9byguy(9tNC6RZukNU W{3PPt$u!RZ0000ERLtq$NO@g&9Z+MJk-0sAyjh?djqeA~7{NL4nzT z>rf*D^Wu-2ObkvKu@#C*H#drQJWk?a)pPI@>)G7n!`F3DW15yOFKe@gs>1Ux----Y z+*3YqKw-1=qceBe9nXCeW7u8S&A{d^aHuih2m^yuwf4l22X}u1tz+bP0l+XkK D))_H| delta 215 zcmcb>*u$jQ8Q|y6%O%Cdz`(%k>ERLtq&a}tgM}GLT2`*SGEvdKp0OmzFPOpM*^M-y zV3((hV~E7miv`rX1B9MN5}1^iWGyJ}|AFiE+Yi9|mj2O+q=98B>HV+`D}H zw4_8z88_43m%0qf4ey+FnV&i^d{n3lh}-Ml;8^h8ae-nqO9IQXLWW}v+7pF8*%<(x O#o+1c=d#Wzp$Py~;zt|+ diff --git a/graphics/decorations/decor_lapras_doll.png b/graphics/decorations/decor_lapras_doll.png index 517553a4a9fdda370ac01ffc620164080ff1fddb..8a98a6cf43ed2d4b94c7445ccb368119e0562f9b 100644 GIT binary patch delta 251 zcmVlwtnmX8IOV_S=Q62(09>C@^jDV2dQ`Z1Je0P6``D6?`ZtMBJ;f zfGfBlo%vx%aCd<>aC^Zx^+W8`L}C=|8AYh$FCL{XEWMUj6H=F75xUDyId zWFvB-q#G*cPn3%G*%&6vUVKqxevcHJR#Qwgz*0k1ap;k3hfCL;&|XgsZsG8cX*kT_ z!}l7VcRmjN#oO65f?Oli8ljBF{aUhu7&&P>sdB31sZw*3(ye%3;gi{cnYZ|1{=zwg uKMc$`d-3SkviixX5jiOx34ARuCduydn=@<*jx$yO0000 zK~xx(b&$&qgFp;K;m9pWRIpYW@L=V9Y|U(3mF3mb2;Wi9DYI!}0`mm**=-WPQkVA>mzICL_t&-m35Fo4uUWcMTaFjNqT}dUZ9`GH32VRZ=fe=VB;-t#dZBt zs+NV5@X}$L`8-7Gdhux%!hnY{ifo=I6Hw+|x5_e2NdWX>t#twqNU&!J?hjPURz*_u zCn5}lyYOw)zMbJ1fk-f;8AIK+PqRiEl=V#egFMw-k0&$05U02)er?pL&)>0mYBg6B z%iTAdA8I$!^}D6|X7l_Hs(WhWhL2_Xnjh;8=!q&r|2}nx00000NkvXXu0mjftS)8; diff --git a/graphics/decorations/decor_pretty_desk.png b/graphics/decorations/decor_pretty_desk.png index 5be05ebcbfb8e625a5b9a0f97281a7265f12b91e..69d439cfeb617782bb928daaa70929ead4bc5c06 100644 GIT binary patch delta 192 zcmZ3%^p#PuGr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPIA>!PCVtL}F@kf&;5K z>p=&xBhPBndD!0TFp00i_>zopr01dxM!~g&Q delta 243 zcmV*L_t&-m2HqQ4gxU@1UCCr_{*a)CtAZ%= zhFd$LAh5;AvMt+dpy@sUz6#*pS+V^@Wh7o>>l!Esg-uF3Bnp{A5s59=`qqTh8<0-{ zI4CSSM#Y|JLwne^uM2Ew2is tHMGO5!#_!7Ng}Pzd?6+Vc%J)dSO9EjLV7;A6#W1I002ovPDHLkV1kq}U&;Ug diff --git a/graphics/decorations/decor_pretty_flowers.png b/graphics/decorations/decor_pretty_flowers.png index b9fc0f5de24e131df4f635e4bf2d3d4f01b3a0f2..6b7b8565f08d8cac075fa1435fb77b149c4e03fc 100644 GIT binary patch delta 213 zcmV;`04o2!0*V45iBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf0ao@ zK~xx(V_-l7i~@oPj@-lD0tn9gy9f^B|33(o()Zt;gR7LibNL6QQa)Iy*XMbU^el&gcX|r~#4_ zK@jFP(L(V+xKl++!yVzS4l8j_D}~80hNh*3!j*}Jh6W;hCn$*UDpmjhg7Yy^JY1hY P00000NkvXXu0mjf>T6Z= delta 265 zcmV+k0rvii0=@zviBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc006v6L_t&-m2Hnb4uU`wgooZ@H__-y@Ge%?6ssqY-b4>zw`)hYcQM|; zzy%xno6|_ z5JG~YH_bXbe5RWQJJ#$l_c1-~*4Q35d&nS=m`Ulw;hc^3*yqH)ds@8!eI_wctkT&` P00000NkvXXu0mjfTgqzV diff --git a/graphics/decorations/decor_ragged_desk.png b/graphics/decorations/decor_ragged_desk.png index 953c1862fe2ee90edd627a560563e8f29950c609..1bb800267f76c3700cd904a51277d7903e1c0cd4 100644 GIT binary patch delta 146 zcmZoD&e8Q|y6%O%Cdz`(%k>ERLtq$NO@g&9Z+MJk-0sA!)N?CIhdA~7{NL4lp) z5F<15;!bW63vL4gEotY*i40p)4_#WIu(hGlP=t?5;zn@dn+;5CZALRTl`L>RdRpT+ delta 204 zcmX@X*vO>V8Q|y6%O%Cdz`(%k>ERLtq&a}tgM}GLT2`*SGEvdKp0OmzFPOpM*^M-y zV7;e{V~E7m+Wx(~tp+?T`d72xb}`;#YvDb?mB{SF&AaBjs$iE$-8zf8Pd=+lS4>)U zh*$Bz-@W=TmoDQFu?f8--FG?g#_Od^yz(xmu!$!h$zK*)G`YvgXK&8bJ1UzieW#{e z=6Vz3T>e36`-xPow`V2iE6M+vcJmN>fA54?z1@%f{*|hy|J*oj8qh5ap00i_>zopr E0Bg}tYybcN diff --git a/graphics/decorations/decor_red_brick.png b/graphics/decorations/decor_red_brick.png index 3481044ddeca9ad4ae0660ce7ac760dd2097dd07..249ad8f7ae3fe2944e6dd8b05785926ad462a9c3 100644 GIT binary patch delta 127 zcmaFFxRp_{Gr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPDos!PCVtL}F@k!U1*( z)<%Y7fL*S bU|?92D{?7+&9=)xGZ{Qx{an^LB{Ts5*SsT_ delta 173 zcmdnW_=r)lGr-TCmrII^fq{Y7)59eQNOJ(O2MaThw5(itWul^eJ!46bUoeBivm0qZ z!30ki#}J9B$q5c@Jqk`7;*6|K4hI&nu<*DYb93|1F=%9CDG>aj!z6r2!HMN=g-La9 zW5YpKj)Lfx%=H`{0`0;{1%`qZ5(W-Dx|;f$?E;#anwbKI28?{nf8<(jvN1BaN{d`N U>B9FKXcvR0tDnm{W~YQE0PA@!Pyhe` diff --git a/graphics/decorations/decor_red_plant.png b/graphics/decorations/decor_red_plant.png index c12e656f7a498b3dd961c1273e20ee21aa212723..7f3792c97cf4fd05f339491853df85c2fa654c64 100644 GIT binary patch delta 213 zcmZ3()WxLO8Q|y6%O%Cdz`(%k>ERLtq$NO@g&9Z+MJk-0sAyk5)zif>L}F@k!U2Y+ zCXXEDREz$=n>UYmFdPdsDhz8XbeZEj$5&>djN$|%R}J?YE;moy6j*lL^Qb55vUbNK zrbk5c&R#LDW?Cp_IIaAc%-le}Q1wW|^z`2@GZ>Al@=Ff!Owf4$LLvpp?eh0ZHR{#R&bYEX|02iI9vC37j@6oh;hTW66aSewE1*jm NJYD@<);T3K0RVCZOvC^H delta 247 zcmVJT2p3jmARBSOIC6XXB@002ovPDHLkV1hmNS{?uZ diff --git a/graphics/decorations/decor_red_tent.png b/graphics/decorations/decor_red_tent.png index 22e435691ce33c3c507181063a2833dec72d321e..a70d9bc0a8448f8e33d64bea3160fc35d3e97aad 100644 GIT binary patch delta 236 zcmdnXw2(=$Gr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPIABji-xah{V+7gagbH ztOp$!&IrD(W@pi7Iyk4J{C(QFn(ymG*PMEM_w=VvmG7e*UPaj6^EEGAS94v6;Ymlu z9^*27!@BE_IG%7+?jPjH&jfdd&l#s?%0F-r43Z(x|hT*%n+_$DJ; z@Bx{%k_u(dl?>cdMI|g6oh;nc)+wmBS!g#~=n3?3cRZGo;(FB5*2ZD5Vby_@IZO^J kQyz11G6}GYaTG8xsGbgr{92Y~4fFtmr>mdKI;Vst03r8N&j0`b delta 264 zcmV+j0r&o)0=)tuiBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc006s5L_t&-m5tCb3c@fH2H=;WdxLrcJGp6k0o#=7R-pk8QYh{%#HEv< zT^t;Hvby99{;vTkPX5D39)$me5X~YaSasm+Fdaa^ESYa4LJlF<_m19m{iJ)GUP$GY zn%@h-cml3vnvf}&J>~^UMarmOUOI5JVDliISK8N4i>8%+Ib#uzYqs1Rhd|948G8fQ z7Z55MNbKSaXpk90L4*^PjF8g5en9At3<*lhbPY5xrsPvn_&Pa#0`dVulTumFmJ0&_ O0000i0=WVqiBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf5b^d zK~xx(U68>FgD?z+_2SuJ+xL)k-ixXCg7NIo_60WZh30!M5ii>hg?xm3ZBteMS?{B% zhZ>sxD$8mf-DrJVq`3_?c#&y4zTD@*N*}LTd5nIh|hT%2NnCB zm}lBmzDILPK9)qVvx&@1b`~%TT17sYCKiKBG9p7^5wOo2vUb2JEZ_uc#4NC(syp<7 zIT7j;y5k*6dD8JxLCy*>tH73=0Dy}^&3ap9Iq4Swu0=rmyQME7u{KJnk0wC?0000< KMNUMnLSTY37HXpa delta 293 zcmV+=0owk#0@?y0iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc007uYL_t&-l~s^UZiFxlM!#%WCmO;%MoHNt40|NZIwMFf&`NWm;hz0c zDoyLflNJ9wIl$jAKuImI_a4YA(JUR`Z}+R7DthA@eB4HlA<7+llz<>IVyt-g{mevL z5~eOB`Uw*f=2tTbV!Fdo1$dr^5P(QX2C3*jF%a~(v_mCzL@1Cy!}r$TG?#ys|b z9F)GiB#2*$SuNIKtH>6c>nJuM@SqTh=NCme6NNC`0yuY_kn7Sxb-_@|-+?V|KA)W`R~ruiQQ zpI57?g^P#VX4&kwwiapEo_wD+fj;e6=q{I3eLj%LLQVpM{3@mRp^ntXB(dhGw$5^) zV#Cuma`rUxXauxha}F`iRx0hfN_<8Rzyhev5+gg(0^lujh)Axg*&(mX#ICAgHX)xh uRds{xyG1jcx#9N delta 278 zcmV+x0qOp!0?Ps+iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc007BJL_t&-m0gcP3WG2ZMSpIPKqB=x!oHYen zv`}a9$T0K&`~c@Nj%Z(eY%6ftkss#`>&0S;+QBDD2u0oqBJu3zs@wXq)oI!7EL`5$ zx2vbsqMSFBnVv77?!?dl!FLp=Y=~4!fv})O3UZPjIgb} c>}S4^J3U5*j} zFgt@0pbTm(r@7sG1H>*XbY%xc0|N~*Xr+k&xD=@A{3#;Xe9Nz1T|YI?L~get00000 LNkvXXu0mjf<-%zf delta 299 zcmV+`0o4Aw0^b55iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc007-dL_t&-l}(S$ii1E9gv(3zYNL+N5hjqc%z!VjKWEu&dkQF;nNwcV zyv|lfc1a&T8oH?J0$%6Mu-FoaA`%U8Xmr0H<|5(yC?5Vi5=oaG{q;IxR2^T;p1Yq6 zJ#p%Y7)wBZoW;0zpq3j^@l>Rhf3b8y(g)ziJ0Llu-?j(7%(=CUqw0Vz>5R3_4Hl6K z!a@A3CVWU;LIQE3f?v@tZ#v%6SMET!xHoI`PZh>9(Vg=POnAxB37r#F>&ueVywg3PC07*qoM6N<$0fJlEepLVf diff --git a/graphics/decorations/decor_rhydon_doll.png b/graphics/decorations/decor_rhydon_doll.png index ac4714c355746f8810b510e7a692f1e0392bf4d1..2937d372f2c4c56bacd890c51ab4274ed09769ee 100644 GIT binary patch delta 261 zcmV+g0s8*$0=fbriBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf5k~e zK~xx(Wsb25f>0EOy_2hk(gQT~06l@X-=c=#l1FDjZ8gcHrL`KH!Z9c)pEA40i0BMI z=i?kce#7`1@m<$e&$4sgO{hQx)9y#b@M6_LiaGq4!2upOz|v4kJa5uxgSptuuJ3X7~_B$nq>lDM<-g zh==^11oC%E@4~jkj9?f_LPCQde@+m*7-Gf;OG8vxyr>zU*H*7ADqc?TI+u5ALPn6P znxa*G!=~$MsA_@s{L|p+@G-uKJmXh`lB+y1tm%~6Fi{p=Vex2E+Dz`eDV-{NAzXCn ze$^if><^y}X8lo+oWDJ?{!8)Lb@A;h7|+M0e38(m16Uhm(d{$-0jc3J5&6*J>jMA) N002ovPDHLkV1modi2DEl diff --git a/graphics/decorations/decor_sand_ornament.png b/graphics/decorations/decor_sand_ornament.png index 9eafc86440ec95cce0fa4ce905fe3550ff5d210b..d94673c96aac608df3e5089ec646a84df321a174 100644 GIT binary patch delta 199 zcmbQo^oLQgGr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPIA>-P6S}L}F@k!U2ZN zPNo90X!mS|Ig>963UWTZ%x_tQZVb_I0CnZxeMGg82T&t_t=RCf5@!|`v z$2+E|b{(=jr>Cc9(C4AS;b7URP^K_t@+1unjTu~iT)m8j(;?G0?y8HtFl5#?vEgjhQua_sU7 zB~anvlVe4G29E1QUZf=FWn8-$ksmU&{$WuKgGEy`1=_Ce(T|P)-xCu!PCVtL}F@kf&;Tn zx&y;0%kO+Fd=4sdyBQikOLIKu^mxSC^Et%RQ}kTrmv?uSS)Om?j*+~vp*)~({=EAy zLszREN)?c?wYRlsFMM`p=B0vjZ|+(z-FW(pWwFq~LPlnHj^j6uc%D3ZLqKiun>9?+ s3kw4a3y*0vFKKra;9^BUR-BG?{ZZ#t2T38z2@|M8zS} zvZ0)T@5WR@fcV4Hi)Gnzh$IE$#xgL*Par))2_cJQyI0kkVoH(XV3YJQ(it!hVEh6M z<>tc8rh$cL>}NaV9ok(33~(CoM!pPmI+kMn1xP$J?EV5nEu;Nmr1A;Vft#+fWLKuf qvlg3b3X#4o&^9kK&09?^<$IqMicsLHrpLSh00000IaJF*0FrvLUN99+|xA>K{JA_X@8-{e}R<&aES4NkRon& zB^u7oq$^(5Y`SEz5-3nYb~zV#QoaQ=gcH#&fMo0@By}y5N8w!$S!1r`bYqu(Gr8 z0Lt3f30}to_~QBl`-+cA2wyV5C(e)=a;u_YYSj`CHlMu_zAsOu|Es*gth$4+&L#59OP?#u)L0000*VDx@L}F@kf&+6; zlLEujjvY%F7BaLb%S_^FG3fI&65vzj+w?qOPp^bP0 Hl+XkKWF8$X delta 167 zcmZ3)c$ZPJGr-TCmrII^fq{Y7)59eQNOJ(O2MaThw5(itWul^eEn`WLUoeBivm0qZ z!Dvqx#}J9B$q5ZiZUTx-N-c$gJUmSf2Odm%H0hAQB$-KP5+>y|IXYZvFVdQ&MBb@0Cdtcj{pDw diff --git a/graphics/decorations/decor_spikes_mat.png b/graphics/decorations/decor_spikes_mat.png index 67f023a0a5c8ef20efdcf2f906ecae0e611b272c..a69b003e7b07e971119274b76d97d9f0c2c1fe24 100644 GIT binary patch delta 196 zcmZ3-^pjDsGr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPIA>#nZ(xL}F@kf&)7@ zE35c{n~HjRjRA7W9UC`p^i*h3PI{A*^Cm}$VOl|%Sy`c3Ss6>=v{@{>OSf3I&(LF7 zZS+!OeTE_1%Ew$~-)7vqXm|LgCD)Rp7K<0{S)_FHhTsvy%>4O=d-t-QV{8)BG4iMi v@NwSAew9@t&$-ZaReeB>RF@Rn4Mv90JgZZ!ZgUO;9me44>gTe~DWM4f-1bC* delta 249 zcmVfeiBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc0068>L_t&-l~s^24#F@H1ecbINc`l?1JGHBHi|1+8h#KzAj1AZQig(m za$X~dSMtiERLtq$NO@g&9Z+MJk-0sAylG<>}%WA~7{NL4m#C zeOnW+!?}Is0Ux9^KAyYrZlfW`{@Vu*{EhIJRLT2tg6~A-_aAqylOLDAe`An3;p?8} zW?r5iSy@@*Mg|W~1B0^n_cm64J9pQ?i$P~|*0oci1(J>m4JQ~RnRpDk(ij+wCI^1L T>lR@Sw4K4z)z4*}Q$iB}F~2^4 delta 211 zcmV;^04)FC0f+)2iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc004$bL_t&-m5q%t3IZ_{1t)cycm{h5)8~8vPoSP)w@Rr5Jd7!Ye+J*~ zA}o?3Q$5IJKJ@Ul!pjVAG2z?k*ww1Q1TD&2SKlk>^@BVsoZqRa+-xgvH1C2MFLsJmtcG_67TrQS%Ze1X%z8 N002ovPDHLkV1hCxQxgCH diff --git a/graphics/decorations/decor_surf_mat.png b/graphics/decorations/decor_surf_mat.png index d74cb97bb951238e731ba18577f5230c92fdbd93..f85498e66279fc45b1e6aaba68c357f3d2fc7baa 100644 GIT binary patch delta 185 zcmZ3*^o~)nGr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPIA>($mE;L}F@kf&+U~ zQxj7`S!7g{;*{eN)4m^hAF0@)ob_FTV}9dOiQr~mM+3nlg8kK8ZRZ_>l==^zlAFzF z*>hCwT*8Ymj!Tc27}q)Y_Gkw5ao72287*hYnw70M%a-R+orj)7p>(svq}7i9Dy7&z j^LP0N9%is+VAy`hZb}CKq+L6Ju3_+W^>bP0l+XkK(D^=+ delta 245 zcmV@g@ruX#Mt)%!=p`@EC;4D9em_H*?v`K3)xbR z=1lW5<8-7IH(j&BITV+z$=RJ#OX<}$lcWBcOr=+!Smhd)IQMJ12}>`kHZE*9*f+0` vZzM#*CeIJirx&^W!RlTn5;ma>AM&l9^6);CXzXv-00000NkvXXu0mjf1g>PY diff --git a/graphics/decorations/decor_thunder_mat.png b/graphics/decorations/decor_thunder_mat.png index 1c5c56e332eb5f415a253384250666829a8fddfe..82a1787f69ab36c484b30388d012589bc7f42bab 100644 GIT binary patch delta 217 zcmV;~04D#t0*(S9iBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf0;={ zK~xx(ZICez!ypVr)3IA~ft<#XI6#qDGt{CBr?3%YyYzk;urhIm0!b^m>YsS}eDlpP z{OUQ5kMB8@vK({@f>@RvCh_R8T)L5wBgfm?;3Zpjb`xo-36q7{#Zd2^gU<bn`8H2vRW z M07*qoM6N<$f=^Cun*aa+ diff --git a/graphics/decorations/decor_tire.png b/graphics/decorations/decor_tire.png index e394ebbd401f02ba167b8d4e970bd9c1d01898fb..5625323561d822df16c575f89a2f1c3cbcaf9bb1 100644 GIT binary patch delta 213 zcmV;`04o2l0*V45iBL{Q4GJ0x0000DNk~Le0000O0000O1Oos701{as%aI{Jf0ao@ zK~xx(jgLVN0wD}V;ReituxH}|2zmj>Jz>jHIDU4bN+$hLNTd#9!5yyKpCLB=E*27qDPPC`+8IQMc9gw^+HV?o8P_RQl zQY46%=GV{@sI&qlJkGGx33N2WD;et02TbLr*Q!1c7{C P00000NkvXXu0mjf1yoc= delta 250 zcmVclu+Lk8Q@BD~R zv>)<#5ctCj&U^pl}zZ8(-GUhp}9Wj%+_!iq~hLP|4b!3Uk@+R@_sXiM?aGq5lD7AXP-c90UyW0e71$ z&D1$)x9>e?U>>&SYMpoEw)_yrB0q|aYTx@OUqfFl(}wNgw*UYD07*qoM6N<$g32vt ABLDyZ diff --git a/graphics/decorations/decor_tropical_plant.png b/graphics/decorations/decor_tropical_plant.png index 12e43df476dc0d249ce1cbd3d78d5bcbe2b17c2c..f674d6418b1a12f3bfffedef5de37ea5e10ffe56 100644 GIT binary patch delta 221 zcmdnYG>J*EGr-TCmrII^fq{Y7)59eQNK1e)3p0=uic~l~QPIABuBVG*h{V+71PAse z=^d;OWjb$KODE)Zsxmfzpvw4QX99HHIA!lFBxOj7;(4xLVS9XCC zN7J`&=3KN)HoL-bGSb*8+^?l*hx)lWnmZZO`VXAD*<(;GA+cz?(oWqQqVLSy!qcY< z%rJ7hEO0$RqW!9h$rVcm<7Ijgo+m}}8Zt684izi8x%CzBE#72w$dApjMe7X%L#3*^ V7srI9RX`Urc)I$ztaD0e0syd;PI3SM delta 254 zcmVWBp5#voSwp@9}V`|AEme_~!f~RwL7~fks60|iMnzS?% zj2puYgr4iGn0g~4VZ`&^MT`i>R2mC!O^?pG1Y!)-IKL=MQ%lsO$+RllGx^Xi73m+L(1Q|(?4dw2heRNN=~1k+5i9m07*qoM6N<$ Ef)eg!p#T5? diff --git a/graphics/decorations/decor_venusaur_doll.png b/graphics/decorations/decor_venusaur_doll.png index 57fbdd93acacecd590c2d36b5a209c2e23ff5171..ca6bbea76100d2ce84113c15cb4b80ced91fdb22 100644 GIT binary patch delta 300 zcmV+{0n`481KFnTe<%%irjSxrPy$WvXjzbvlo@RSr0HIy0Skb!zFu{V zz^_fmOzd|}A!`0i2djCcmA??RK;ck@6AYs_JVuDKn+4&i=N)nV443=^ZxV-yDjr&B yL>%H^(6`X{eAcpI!RhsYH5j75QEd`Ph-v@;002ovPDHLk0$_rq8iE7> delta 341 zcmV-b0jmDs0*M15iBL{Q4GJ0x0000DNk~Le000080000;1Oos706BT7)R7@Se*tt- zPE!Ct=GbNc009R{L_t&-l}(SaYQsPfL`Rj2G`C=Ed@=b7|A6t@g47nO4d&9?AVpQ!SNC}juoqw`A@?i`R-9|*b;F300000NkvXXu0mjfow$)l diff --git a/graphics/decorations/decor_wailmer_doll.png b/graphics/decorations/decor_wailmer_doll.png index ceedfa6fb097f30c6519a15a6a893d082aa5524e..b5d723bc83de4658b21620bc5721c9428ff67895 100644 GIT binary patch delta 229 zcmVDx0^+zOg4pb7E?|&W09OT7CkB*BaRbVL)QO}) z^rSfgRRJlmmJ}BO2F4KgG$1c6t;7|`aRG8bpadl2=AI^&mX?@Sk^_;iAbyaZ2?QHq fz7qrj{9yqA-fuciDFy5+00000NkvXXu0mjfGBsBX delta 267 zcmV+m0rdWw0>AAL*S bU|?92D{?7+&9=)xGZ{Qx{an^LB{Ts5*SsT_ delta 173 zcmdnW_=r)lGr-TCmrII^fq{Y7)59eQNOJ(O2MaThw5(itWul^eJ!46bUoeBivm0qZ z!30ki#}J9B$q5c@Jqk`7;*6|K4hI&nu<*DYb93|1F=%9CDG>aj!z6r2!HMN=g-La9 zW5YpKj)Lfx%=H`{0`0;{1%`qZ5(W-Dx|;f$?E;#anwbKI28?{nf8<(jvN1BaN{d`N U>B9FKXcvR0tDnm{W~YQE0PA@!Pyhe` From 96958ba5e9a6c4248ecc7a0b4913555aac448729 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 13 Apr 2020 13:04:22 -0400 Subject: [PATCH 17/19] Drop unnecessary decor prefix --- ...{decor_attract_mat.png => attract_mat.png} | Bin .../{decor_big_plant.png => big_plant.png} | Bin ..._blastoise_doll.png => blastoise_doll.png} | Bin .../{decor_blue_brick.png => blue_brick.png} | Bin .../{decor_blue_tent.png => blue_tent.png} | Bin ..._breakable_door.png => breakable_door.png} | Bin .../{decor_brick_desk.png => brick_desk.png} | Bin .../{decor_camp_desk.png => camp_desk.png} | Bin ..._charizard_doll.png => charizard_doll.png} | Bin ..._colorful_plant.png => colorful_plant.png} | Bin ...ecor_comfort_desk.png => comfort_desk.png} | Bin ..._fire_blast_mat.png => fire_blast_mat.png} | Bin ...{decor_fissure_mat.png => fissure_mat.png} | Bin ..._glass_ornament.png => glass_ornament.png} | Bin ..._gorgeous_plant.png => gorgeous_plant.png} | Bin .../{decor_hard_desk.png => hard_desk.png} | Bin .../{decor_heavy_desk.png => heavy_desk.png} | Bin ...{decor_lapras_doll.png => lapras_doll.png} | Bin ...owder_snow_mat.png => powder_snow_mat.png} | Bin ...{decor_pretty_desk.png => pretty_desk.png} | Bin ..._pretty_flowers.png => pretty_flowers.png} | Bin ...{decor_ragged_desk.png => ragged_desk.png} | Bin .../{decor_red_brick.png => red_brick.png} | Bin .../{decor_red_plant.png => red_plant.png} | Bin .../{decor_red_tent.png => red_tent.png} | Bin ...{decor_regice_doll.png => regice_doll.png} | Bin ...or_regirock_doll.png => regirock_doll.png} | Bin ..._registeel_doll.png => registeel_doll.png} | Bin ...{decor_rhydon_doll.png => rhydon_doll.png} | Bin ...or_sand_ornament.png => sand_ornament.png} | Bin .../{decor_slide.png => slide.png} | Bin ...ecor_snorlax_doll.png => snorlax_doll.png} | Bin ...{decor_solid_board.png => solid_board.png} | Bin .../{decor_spikes_mat.png => spikes_mat.png} | Bin .../{decor_stand.png => stand.png} | Bin .../{decor_surf_mat.png => surf_mat.png} | Bin ...{decor_thunder_mat.png => thunder_mat.png} | Bin .../decorations/{decor_tire.png => tire.png} | Bin ..._tropical_plant.png => tropical_plant.png} | Bin ...or_venusaur_doll.png => venusaur_doll.png} | Bin ...ecor_wailmer_doll.png => wailmer_doll.png} | Bin ...ecor_yellow_brick.png => yellow_brick.png} | Bin src/data/graphics/decorations.h | 168 +++++++++--------- 43 files changed, 84 insertions(+), 84 deletions(-) rename graphics/decorations/{decor_attract_mat.png => attract_mat.png} (100%) rename graphics/decorations/{decor_big_plant.png => big_plant.png} (100%) rename graphics/decorations/{decor_blastoise_doll.png => blastoise_doll.png} (100%) rename graphics/decorations/{decor_blue_brick.png => blue_brick.png} (100%) rename graphics/decorations/{decor_blue_tent.png => blue_tent.png} (100%) rename graphics/decorations/{decor_breakable_door.png => breakable_door.png} (100%) rename graphics/decorations/{decor_brick_desk.png => brick_desk.png} (100%) rename graphics/decorations/{decor_camp_desk.png => camp_desk.png} (100%) rename graphics/decorations/{decor_charizard_doll.png => charizard_doll.png} (100%) rename graphics/decorations/{decor_colorful_plant.png => colorful_plant.png} (100%) rename graphics/decorations/{decor_comfort_desk.png => comfort_desk.png} (100%) rename graphics/decorations/{decor_fire_blast_mat.png => fire_blast_mat.png} (100%) rename graphics/decorations/{decor_fissure_mat.png => fissure_mat.png} (100%) rename graphics/decorations/{decor_glass_ornament.png => glass_ornament.png} (100%) rename graphics/decorations/{decor_gorgeous_plant.png => gorgeous_plant.png} (100%) rename graphics/decorations/{decor_hard_desk.png => hard_desk.png} (100%) rename graphics/decorations/{decor_heavy_desk.png => heavy_desk.png} (100%) rename graphics/decorations/{decor_lapras_doll.png => lapras_doll.png} (100%) rename graphics/decorations/{decor_powder_snow_mat.png => powder_snow_mat.png} (100%) rename graphics/decorations/{decor_pretty_desk.png => pretty_desk.png} (100%) rename graphics/decorations/{decor_pretty_flowers.png => pretty_flowers.png} (100%) rename graphics/decorations/{decor_ragged_desk.png => ragged_desk.png} (100%) rename graphics/decorations/{decor_red_brick.png => red_brick.png} (100%) rename graphics/decorations/{decor_red_plant.png => red_plant.png} (100%) rename graphics/decorations/{decor_red_tent.png => red_tent.png} (100%) rename graphics/decorations/{decor_regice_doll.png => regice_doll.png} (100%) rename graphics/decorations/{decor_regirock_doll.png => regirock_doll.png} (100%) rename graphics/decorations/{decor_registeel_doll.png => registeel_doll.png} (100%) rename graphics/decorations/{decor_rhydon_doll.png => rhydon_doll.png} (100%) rename graphics/decorations/{decor_sand_ornament.png => sand_ornament.png} (100%) rename graphics/decorations/{decor_slide.png => slide.png} (100%) rename graphics/decorations/{decor_snorlax_doll.png => snorlax_doll.png} (100%) rename graphics/decorations/{decor_solid_board.png => solid_board.png} (100%) rename graphics/decorations/{decor_spikes_mat.png => spikes_mat.png} (100%) rename graphics/decorations/{decor_stand.png => stand.png} (100%) rename graphics/decorations/{decor_surf_mat.png => surf_mat.png} (100%) rename graphics/decorations/{decor_thunder_mat.png => thunder_mat.png} (100%) rename graphics/decorations/{decor_tire.png => tire.png} (100%) rename graphics/decorations/{decor_tropical_plant.png => tropical_plant.png} (100%) rename graphics/decorations/{decor_venusaur_doll.png => venusaur_doll.png} (100%) rename graphics/decorations/{decor_wailmer_doll.png => wailmer_doll.png} (100%) rename graphics/decorations/{decor_yellow_brick.png => yellow_brick.png} (100%) diff --git a/graphics/decorations/decor_attract_mat.png b/graphics/decorations/attract_mat.png similarity index 100% rename from graphics/decorations/decor_attract_mat.png rename to graphics/decorations/attract_mat.png diff --git a/graphics/decorations/decor_big_plant.png b/graphics/decorations/big_plant.png similarity index 100% rename from graphics/decorations/decor_big_plant.png rename to graphics/decorations/big_plant.png diff --git a/graphics/decorations/decor_blastoise_doll.png b/graphics/decorations/blastoise_doll.png similarity index 100% rename from graphics/decorations/decor_blastoise_doll.png rename to graphics/decorations/blastoise_doll.png diff --git a/graphics/decorations/decor_blue_brick.png b/graphics/decorations/blue_brick.png similarity index 100% rename from graphics/decorations/decor_blue_brick.png rename to graphics/decorations/blue_brick.png diff --git a/graphics/decorations/decor_blue_tent.png b/graphics/decorations/blue_tent.png similarity index 100% rename from graphics/decorations/decor_blue_tent.png rename to graphics/decorations/blue_tent.png diff --git a/graphics/decorations/decor_breakable_door.png b/graphics/decorations/breakable_door.png similarity index 100% rename from graphics/decorations/decor_breakable_door.png rename to graphics/decorations/breakable_door.png diff --git a/graphics/decorations/decor_brick_desk.png b/graphics/decorations/brick_desk.png similarity index 100% rename from graphics/decorations/decor_brick_desk.png rename to graphics/decorations/brick_desk.png diff --git a/graphics/decorations/decor_camp_desk.png b/graphics/decorations/camp_desk.png similarity index 100% rename from graphics/decorations/decor_camp_desk.png rename to graphics/decorations/camp_desk.png diff --git a/graphics/decorations/decor_charizard_doll.png b/graphics/decorations/charizard_doll.png similarity index 100% rename from graphics/decorations/decor_charizard_doll.png rename to graphics/decorations/charizard_doll.png diff --git a/graphics/decorations/decor_colorful_plant.png b/graphics/decorations/colorful_plant.png similarity index 100% rename from graphics/decorations/decor_colorful_plant.png rename to graphics/decorations/colorful_plant.png diff --git a/graphics/decorations/decor_comfort_desk.png b/graphics/decorations/comfort_desk.png similarity index 100% rename from graphics/decorations/decor_comfort_desk.png rename to graphics/decorations/comfort_desk.png diff --git a/graphics/decorations/decor_fire_blast_mat.png b/graphics/decorations/fire_blast_mat.png similarity index 100% rename from graphics/decorations/decor_fire_blast_mat.png rename to graphics/decorations/fire_blast_mat.png diff --git a/graphics/decorations/decor_fissure_mat.png b/graphics/decorations/fissure_mat.png similarity index 100% rename from graphics/decorations/decor_fissure_mat.png rename to graphics/decorations/fissure_mat.png diff --git a/graphics/decorations/decor_glass_ornament.png b/graphics/decorations/glass_ornament.png similarity index 100% rename from graphics/decorations/decor_glass_ornament.png rename to graphics/decorations/glass_ornament.png diff --git a/graphics/decorations/decor_gorgeous_plant.png b/graphics/decorations/gorgeous_plant.png similarity index 100% rename from graphics/decorations/decor_gorgeous_plant.png rename to graphics/decorations/gorgeous_plant.png diff --git a/graphics/decorations/decor_hard_desk.png b/graphics/decorations/hard_desk.png similarity index 100% rename from graphics/decorations/decor_hard_desk.png rename to graphics/decorations/hard_desk.png diff --git a/graphics/decorations/decor_heavy_desk.png b/graphics/decorations/heavy_desk.png similarity index 100% rename from graphics/decorations/decor_heavy_desk.png rename to graphics/decorations/heavy_desk.png diff --git a/graphics/decorations/decor_lapras_doll.png b/graphics/decorations/lapras_doll.png similarity index 100% rename from graphics/decorations/decor_lapras_doll.png rename to graphics/decorations/lapras_doll.png diff --git a/graphics/decorations/decor_powder_snow_mat.png b/graphics/decorations/powder_snow_mat.png similarity index 100% rename from graphics/decorations/decor_powder_snow_mat.png rename to graphics/decorations/powder_snow_mat.png diff --git a/graphics/decorations/decor_pretty_desk.png b/graphics/decorations/pretty_desk.png similarity index 100% rename from graphics/decorations/decor_pretty_desk.png rename to graphics/decorations/pretty_desk.png diff --git a/graphics/decorations/decor_pretty_flowers.png b/graphics/decorations/pretty_flowers.png similarity index 100% rename from graphics/decorations/decor_pretty_flowers.png rename to graphics/decorations/pretty_flowers.png diff --git a/graphics/decorations/decor_ragged_desk.png b/graphics/decorations/ragged_desk.png similarity index 100% rename from graphics/decorations/decor_ragged_desk.png rename to graphics/decorations/ragged_desk.png diff --git a/graphics/decorations/decor_red_brick.png b/graphics/decorations/red_brick.png similarity index 100% rename from graphics/decorations/decor_red_brick.png rename to graphics/decorations/red_brick.png diff --git a/graphics/decorations/decor_red_plant.png b/graphics/decorations/red_plant.png similarity index 100% rename from graphics/decorations/decor_red_plant.png rename to graphics/decorations/red_plant.png diff --git a/graphics/decorations/decor_red_tent.png b/graphics/decorations/red_tent.png similarity index 100% rename from graphics/decorations/decor_red_tent.png rename to graphics/decorations/red_tent.png diff --git a/graphics/decorations/decor_regice_doll.png b/graphics/decorations/regice_doll.png similarity index 100% rename from graphics/decorations/decor_regice_doll.png rename to graphics/decorations/regice_doll.png diff --git a/graphics/decorations/decor_regirock_doll.png b/graphics/decorations/regirock_doll.png similarity index 100% rename from graphics/decorations/decor_regirock_doll.png rename to graphics/decorations/regirock_doll.png diff --git a/graphics/decorations/decor_registeel_doll.png b/graphics/decorations/registeel_doll.png similarity index 100% rename from graphics/decorations/decor_registeel_doll.png rename to graphics/decorations/registeel_doll.png diff --git a/graphics/decorations/decor_rhydon_doll.png b/graphics/decorations/rhydon_doll.png similarity index 100% rename from graphics/decorations/decor_rhydon_doll.png rename to graphics/decorations/rhydon_doll.png diff --git a/graphics/decorations/decor_sand_ornament.png b/graphics/decorations/sand_ornament.png similarity index 100% rename from graphics/decorations/decor_sand_ornament.png rename to graphics/decorations/sand_ornament.png diff --git a/graphics/decorations/decor_slide.png b/graphics/decorations/slide.png similarity index 100% rename from graphics/decorations/decor_slide.png rename to graphics/decorations/slide.png diff --git a/graphics/decorations/decor_snorlax_doll.png b/graphics/decorations/snorlax_doll.png similarity index 100% rename from graphics/decorations/decor_snorlax_doll.png rename to graphics/decorations/snorlax_doll.png diff --git a/graphics/decorations/decor_solid_board.png b/graphics/decorations/solid_board.png similarity index 100% rename from graphics/decorations/decor_solid_board.png rename to graphics/decorations/solid_board.png diff --git a/graphics/decorations/decor_spikes_mat.png b/graphics/decorations/spikes_mat.png similarity index 100% rename from graphics/decorations/decor_spikes_mat.png rename to graphics/decorations/spikes_mat.png diff --git a/graphics/decorations/decor_stand.png b/graphics/decorations/stand.png similarity index 100% rename from graphics/decorations/decor_stand.png rename to graphics/decorations/stand.png diff --git a/graphics/decorations/decor_surf_mat.png b/graphics/decorations/surf_mat.png similarity index 100% rename from graphics/decorations/decor_surf_mat.png rename to graphics/decorations/surf_mat.png diff --git a/graphics/decorations/decor_thunder_mat.png b/graphics/decorations/thunder_mat.png similarity index 100% rename from graphics/decorations/decor_thunder_mat.png rename to graphics/decorations/thunder_mat.png diff --git a/graphics/decorations/decor_tire.png b/graphics/decorations/tire.png similarity index 100% rename from graphics/decorations/decor_tire.png rename to graphics/decorations/tire.png diff --git a/graphics/decorations/decor_tropical_plant.png b/graphics/decorations/tropical_plant.png similarity index 100% rename from graphics/decorations/decor_tropical_plant.png rename to graphics/decorations/tropical_plant.png diff --git a/graphics/decorations/decor_venusaur_doll.png b/graphics/decorations/venusaur_doll.png similarity index 100% rename from graphics/decorations/decor_venusaur_doll.png rename to graphics/decorations/venusaur_doll.png diff --git a/graphics/decorations/decor_wailmer_doll.png b/graphics/decorations/wailmer_doll.png similarity index 100% rename from graphics/decorations/decor_wailmer_doll.png rename to graphics/decorations/wailmer_doll.png diff --git a/graphics/decorations/decor_yellow_brick.png b/graphics/decorations/yellow_brick.png similarity index 100% rename from graphics/decorations/decor_yellow_brick.png rename to graphics/decorations/yellow_brick.png diff --git a/src/data/graphics/decorations.h b/src/data/graphics/decorations.h index d8b865fcf..b18c87348 100644 --- a/src/data/graphics/decorations.h +++ b/src/data/graphics/decorations.h @@ -1,125 +1,125 @@ -const u32 gDecorIcon_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz"); -const u32 gDecorIconPalette_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz"); +const u32 gDecorIcon_HeavyDesk[] = INCBIN_U32("graphics/decorations/heavy_desk.4bpp.lz"); +const u32 gDecorIconPalette_HeavyDesk[] = INCBIN_U32("graphics/decorations/heavy_desk.gbapal.lz"); -const u32 gDecorIcon_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz"); -const u32 gDecorIconPalette_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz"); +const u32 gDecorIcon_RaggedDesk[] = INCBIN_U32("graphics/decorations/ragged_desk.4bpp.lz"); +const u32 gDecorIconPalette_RaggedDesk[] = INCBIN_U32("graphics/decorations/ragged_desk.gbapal.lz"); -const u32 gDecorIcon_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz"); -const u32 gDecorIconPalette_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz"); +const u32 gDecorIcon_ComfortDesk[] = INCBIN_U32("graphics/decorations/comfort_desk.4bpp.lz"); +const u32 gDecorIconPalette_ComfortDesk[] = INCBIN_U32("graphics/decorations/comfort_desk.gbapal.lz"); -const u32 gDecorIcon_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz"); -const u32 gDecorIconPalette_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz"); +const u32 gDecorIcon_PrettyDesk[] = INCBIN_U32("graphics/decorations/pretty_desk.4bpp.lz"); +const u32 gDecorIconPalette_PrettyDesk[] = INCBIN_U32("graphics/decorations/pretty_desk.gbapal.lz"); -const u32 gDecorIcon_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz"); -const u32 gDecorIconPalette_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz"); +const u32 gDecorIcon_BrickDesk[] = INCBIN_U32("graphics/decorations/brick_desk.4bpp.lz"); +const u32 gDecorIconPalette_BrickDesk[] = INCBIN_U32("graphics/decorations/brick_desk.gbapal.lz"); -const u32 gDecorIcon_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz"); -const u32 gDecorIconPalette_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz"); +const u32 gDecorIcon_CampDesk[] = INCBIN_U32("graphics/decorations/camp_desk.4bpp.lz"); +const u32 gDecorIconPalette_CampDesk[] = INCBIN_U32("graphics/decorations/camp_desk.gbapal.lz"); -const u32 gDecorIcon_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz"); -const u32 gDecorIconPalette_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz"); +const u32 gDecorIcon_HardDesk[] = INCBIN_U32("graphics/decorations/hard_desk.4bpp.lz"); +const u32 gDecorIconPalette_HardDesk[] = INCBIN_U32("graphics/decorations/hard_desk.gbapal.lz"); -const u32 gDecorIcon_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz"); -const u32 gDecorIconPalette_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz"); +const u32 gDecorIcon_RedPlant[] = INCBIN_U32("graphics/decorations/red_plant.4bpp.lz"); +const u32 gDecorIconPalette_RedPlant[] = INCBIN_U32("graphics/decorations/red_plant.gbapal.lz"); -const u32 gDecorIcon_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz"); -const u32 gDecorIconPalette_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz"); +const u32 gDecorIcon_TropicalPlant[] = INCBIN_U32("graphics/decorations/tropical_plant.4bpp.lz"); +const u32 gDecorIconPalette_TropicalPlant[] = INCBIN_U32("graphics/decorations/tropical_plant.gbapal.lz"); -const u32 gDecorIcon_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz"); -const u32 gDecorIconPalette_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz"); +const u32 gDecorIcon_PrettyFlowers[] = INCBIN_U32("graphics/decorations/pretty_flowers.4bpp.lz"); +const u32 gDecorIconPalette_PrettyFlowers[] = INCBIN_U32("graphics/decorations/pretty_flowers.gbapal.lz"); -const u32 gDecorIcon_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz"); -const u32 gDecorIconPalette_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz"); +const u32 gDecorIcon_ColorfulPlant[] = INCBIN_U32("graphics/decorations/colorful_plant.4bpp.lz"); +const u32 gDecorIconPalette_ColorfulPlant[] = INCBIN_U32("graphics/decorations/colorful_plant.gbapal.lz"); -const u32 gDecorIcon_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz"); -const u32 gDecorIconPalette_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz"); +const u32 gDecorIcon_BigPlant[] = INCBIN_U32("graphics/decorations/big_plant.4bpp.lz"); +const u32 gDecorIconPalette_BigPlant[] = INCBIN_U32("graphics/decorations/big_plant.gbapal.lz"); -const u32 gDecorIcon_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz"); -const u32 gDecorIconPalette_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz"); +const u32 gDecorIcon_GorgeousPlant[] = INCBIN_U32("graphics/decorations/gorgeous_plant.4bpp.lz"); +const u32 gDecorIconPalette_GorgeousPlant[] = INCBIN_U32("graphics/decorations/gorgeous_plant.gbapal.lz"); -const u32 gDecorIcon_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz"); -const u32 gDecorIconPalette_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz"); +const u32 gDecorIcon_RedBrick[] = INCBIN_U32("graphics/decorations/red_brick.4bpp.lz"); +const u32 gDecorIconPalette_RedBrick[] = INCBIN_U32("graphics/decorations/red_brick.gbapal.lz"); -const u32 gDecorIcon_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz"); -const u32 gDecorIconPalette_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz"); +const u32 gDecorIcon_YellowBrick[] = INCBIN_U32("graphics/decorations/yellow_brick.4bpp.lz"); +const u32 gDecorIconPalette_YellowBrick[] = INCBIN_U32("graphics/decorations/yellow_brick.gbapal.lz"); -const u32 gDecorIcon_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz"); -const u32 gDecorIconPalette_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz"); +const u32 gDecorIcon_BlueBrick[] = INCBIN_U32("graphics/decorations/blue_brick.4bpp.lz"); +const u32 gDecorIconPalette_BlueBrick[] = INCBIN_U32("graphics/decorations/blue_brick.gbapal.lz"); -const u32 gDecorIcon_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz"); -const u32 gDecorIconPalette_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz"); +const u32 gDecorIcon_RedTent[] = INCBIN_U32("graphics/decorations/red_tent.4bpp.lz"); +const u32 gDecorIconPalette_RedTent[] = INCBIN_U32("graphics/decorations/red_tent.gbapal.lz"); -const u32 gDecorIcon_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz"); -const u32 gDecorIconPalette_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz"); +const u32 gDecorIcon_BlueTent[] = INCBIN_U32("graphics/decorations/blue_tent.4bpp.lz"); +const u32 gDecorIconPalette_BlueTent[] = INCBIN_U32("graphics/decorations/blue_tent.gbapal.lz"); -const u32 gDecorIcon_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz"); -const u32 gDecorIconPalette_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz"); +const u32 gDecorIcon_SolidBoard[] = INCBIN_U32("graphics/decorations/solid_board.4bpp.lz"); +const u32 gDecorIconPalette_SolidBoard[] = INCBIN_U32("graphics/decorations/solid_board.gbapal.lz"); -const u32 gDecorIcon_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz"); -const u32 gDecorIconPalette_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz"); +const u32 gDecorIcon_Slide[] = INCBIN_U32("graphics/decorations/slide.4bpp.lz"); +const u32 gDecorIconPalette_Slide[] = INCBIN_U32("graphics/decorations/slide.gbapal.lz"); -const u32 gDecorIcon_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz"); -const u32 gDecorIconPalette_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz"); +const u32 gDecorIcon_Tire[] = INCBIN_U32("graphics/decorations/tire.4bpp.lz"); +const u32 gDecorIconPalette_Tire[] = INCBIN_U32("graphics/decorations/tire.gbapal.lz"); -const u32 gDecorIcon_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz"); -const u32 gDecorIconPalette_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz"); +const u32 gDecorIcon_Stand[] = INCBIN_U32("graphics/decorations/stand.4bpp.lz"); +const u32 gDecorIconPalette_Stand[] = INCBIN_U32("graphics/decorations/stand.gbapal.lz"); -const u32 gDecorIcon_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz"); -const u32 gDecorIconPalette_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz"); +const u32 gDecorIcon_BreakableDoor[] = INCBIN_U32("graphics/decorations/breakable_door.4bpp.lz"); +const u32 gDecorIconPalette_BreakableDoor[] = INCBIN_U32("graphics/decorations/breakable_door.gbapal.lz"); -const u32 gDecorIcon_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz"); -const u32 gDecorIconPalette_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz"); +const u32 gDecorIcon_SandOrnament[] = INCBIN_U32("graphics/decorations/sand_ornament.4bpp.lz"); +const u32 gDecorIconPalette_SandOrnament[] = INCBIN_U32("graphics/decorations/sand_ornament.gbapal.lz"); -const u32 gDecorIcon_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz"); -const u32 gDecorIconPalette_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz"); +const u32 gDecorIcon_GlassOrnament[] = INCBIN_U32("graphics/decorations/glass_ornament.4bpp.lz"); +const u32 gDecorIconPalette_GlassOrnament[] = INCBIN_U32("graphics/decorations/glass_ornament.gbapal.lz"); -const u32 gDecorIcon_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz"); -const u32 gDecorIconPalette_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz"); +const u32 gDecorIcon_SurfMat[] = INCBIN_U32("graphics/decorations/surf_mat.4bpp.lz"); +const u32 gDecorIconPalette_SurfMat[] = INCBIN_U32("graphics/decorations/surf_mat.gbapal.lz"); -const u32 gDecorIcon_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz"); -const u32 gDecorIconPalette_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz"); +const u32 gDecorIcon_ThunderMat[] = INCBIN_U32("graphics/decorations/thunder_mat.4bpp.lz"); +const u32 gDecorIconPalette_ThunderMat[] = INCBIN_U32("graphics/decorations/thunder_mat.gbapal.lz"); -const u32 gDecorIcon_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz"); -const u32 gDecorIconPalette_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz"); +const u32 gDecorIcon_FireBlastMat[] = INCBIN_U32("graphics/decorations/fire_blast_mat.4bpp.lz"); +const u32 gDecorIconPalette_FireBlastMat[] = INCBIN_U32("graphics/decorations/fire_blast_mat.gbapal.lz"); -const u32 gDecorIcon_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz"); -const u32 gDecorIconPalette_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz"); +const u32 gDecorIcon_PowderSnowMat[] = INCBIN_U32("graphics/decorations/powder_snow_mat.4bpp.lz"); +const u32 gDecorIconPalette_PowderSnowMat[] = INCBIN_U32("graphics/decorations/powder_snow_mat.gbapal.lz"); -const u32 gDecorIcon_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz"); -const u32 gDecorIconPalette_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz"); +const u32 gDecorIcon_AttractMat[] = INCBIN_U32("graphics/decorations/attract_mat.4bpp.lz"); +const u32 gDecorIconPalette_AttractMat[] = INCBIN_U32("graphics/decorations/attract_mat.gbapal.lz"); -const u32 gDecorIcon_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz"); -const u32 gDecorIconPalette_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz"); +const u32 gDecorIcon_FissureMat[] = INCBIN_U32("graphics/decorations/fissure_mat.4bpp.lz"); +const u32 gDecorIconPalette_FissureMat[] = INCBIN_U32("graphics/decorations/fissure_mat.gbapal.lz"); -const u32 gDecorIcon_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz"); -const u32 gDecorIconPalette_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz"); +const u32 gDecorIcon_SpikesMat[] = INCBIN_U32("graphics/decorations/spikes_mat.4bpp.lz"); +const u32 gDecorIconPalette_SpikesMat[] = INCBIN_U32("graphics/decorations/spikes_mat.gbapal.lz"); -const u32 gDecorIcon_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz"); -const u32 gDecorIconPalette_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz"); +const u32 gDecorIcon_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/snorlax_doll.4bpp.lz"); +const u32 gDecorIconPalette_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/snorlax_doll.gbapal.lz"); -const u32 gDecorIcon_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz"); -const u32 gDecorIconPalette_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz"); +const u32 gDecorIcon_RhydonDoll[] = INCBIN_U32("graphics/decorations/rhydon_doll.4bpp.lz"); +const u32 gDecorIconPalette_RhydonDoll[] = INCBIN_U32("graphics/decorations/rhydon_doll.gbapal.lz"); -const u32 gDecorIcon_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz"); -const u32 gDecorIconPalette_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz"); +const u32 gDecorIcon_LaprasDoll[] = INCBIN_U32("graphics/decorations/lapras_doll.4bpp.lz"); +const u32 gDecorIconPalette_LaprasDoll[] = INCBIN_U32("graphics/decorations/lapras_doll.gbapal.lz"); -const u32 gDecorIcon_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz"); -const u32 gDecorIconPalette_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz"); +const u32 gDecorIcon_VenusaurDoll[] = INCBIN_U32("graphics/decorations/venusaur_doll.4bpp.lz"); +const u32 gDecorIconPalette_VenusaurDoll[] = INCBIN_U32("graphics/decorations/venusaur_doll.gbapal.lz"); -const u32 gDecorIcon_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz"); -const u32 gDecorIconPalette_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz"); +const u32 gDecorIcon_CharizardDoll[] = INCBIN_U32("graphics/decorations/charizard_doll.4bpp.lz"); +const u32 gDecorIconPalette_CharizardDoll[] = INCBIN_U32("graphics/decorations/charizard_doll.gbapal.lz"); -const u32 gDecorIcon_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz"); -const u32 gDecorIconPalette_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz"); +const u32 gDecorIcon_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/blastoise_doll.4bpp.lz"); +const u32 gDecorIconPalette_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/blastoise_doll.gbapal.lz"); -const u32 gDecorIcon_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz"); -const u32 gDecorIconPalette_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz"); +const u32 gDecorIcon_WailmerDoll[] = INCBIN_U32("graphics/decorations/wailmer_doll.4bpp.lz"); +const u32 gDecorIconPalette_WailmerDoll[] = INCBIN_U32("graphics/decorations/wailmer_doll.gbapal.lz"); -const u32 gDecorIcon_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz"); -const u32 gDecorIconPalette_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz"); +const u32 gDecorIcon_RegiceDoll[] = INCBIN_U32("graphics/decorations/regice_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegiceDoll[] = INCBIN_U32("graphics/decorations/regice_doll.gbapal.lz"); -const u32 gDecorIcon_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz"); -const u32 gDecorIconPalette_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz"); +const u32 gDecorIcon_RegirockDoll[] = INCBIN_U32("graphics/decorations/regirock_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegirockDoll[] = INCBIN_U32("graphics/decorations/regirock_doll.gbapal.lz"); -const u32 gDecorIcon_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz"); -const u32 gDecorIconPalette_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz"); +const u32 gDecorIcon_RegisteelDoll[] = INCBIN_U32("graphics/decorations/registeel_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegisteelDoll[] = INCBIN_U32("graphics/decorations/registeel_doll.gbapal.lz"); From 8d3b7bd0b1ea64855595b4ebd95c38b615901ffa Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 13 Apr 2020 14:43:50 -0400 Subject: [PATCH 18/19] Use metatile labels for decor gfx --- include/constants/metatile_labels.h | 148 ++++++++- src/data/decoration/tiles.h | 476 ++++++++++++++-------------- src/fldeff_misc.c | 4 +- src/secret_base.c | 22 +- 4 files changed, 384 insertions(+), 266 deletions(-) diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 4bcf47ea8..586107687 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -524,33 +524,64 @@ #define METATILE_SecretBase_MudBall 0x228 #define METATILE_SecretBase_Fence_Horizontal 0x22C #define METATILE_SecretBase_Fence_Vertical 0x233 -#define METATILE_SecretBase_Board_Top 0x234 -#define METATILE_SecretBase_Board_Bottom 0x23C +#define METATILE_SecretBase_SolidBoard_Top 0x234 +#define METATILE_SecretBase_SolidBoard_Bottom 0x23C +#define METATILE_SecretBase_RedTent_TopLeft 0x230 +#define METATILE_SecretBase_RedTent_TopMid 0x231 +#define METATILE_SecretBase_RedTent_TopRight 0x232 +#define METATILE_SecretBase_RedTent_MidLeft 0x238 #define METATILE_SecretBase_RedTent_DoorTop 0x239 +#define METATILE_SecretBase_RedTent_MidRight 0x23A +#define METATILE_SecretBase_RedTent_BottomLeft 0x240 #define METATILE_SecretBase_RedTent_Door 0x241 +#define METATILE_SecretBase_RedTent_BottomRight 0x23B +#define METATILE_SecretBase_BlueTent_TopLeft 0x248 +#define METATILE_SecretBase_BlueTent_TopMid 0x249 +#define METATILE_SecretBase_BlueTent_TopRight 0x268 +#define METATILE_SecretBase_BlueTent_MidLeft 0x250 #define METATILE_SecretBase_BlueTent_DoorTop 0x251 +#define METATILE_SecretBase_BlueTent_MidRight 0x270 +#define METATILE_SecretBase_BlueTent_BottomLeft 0x258 #define METATILE_SecretBase_BlueTent_Door 0x259 -#define METATILE_SecretBase_Slide_Stairs 0x23D -#define METATILE_SecretBase_Slide 0x23E -#define METATILE_SecretBase_Stand_LeftCorner 0x26A -#define METATILE_SecretBase_Stand_RightCorner 0x26D +#define METATILE_SecretBase_BlueTent_BottomRight 0x269 +#define METATILE_SecretBase_Slide_TopLeft 0x235 +#define METATILE_SecretBase_Slide_TopRight 0x236 +#define METATILE_SecretBase_Slide_StairLanding 0x23D +#define METATILE_SecretBase_Slide_SlideTop 0x23E +#define METATILE_SecretBase_Slide_Stairs 0x263 +#define METATILE_SecretBase_Slide_SlideBottom 0x264 +#define METATILE_SecretBase_Slide_MatLeft 0x26F +#define METATILE_SecretBase_Slide_MatRight 0x277 +#define METATILE_SecretBase_Stand_CornerLeft 0x26A +#define METATILE_SecretBase_Stand_MidLeft 0x26B +#define METATILE_SecretBase_Stand_MidRight 0x26C +#define METATILE_SecretBase_Stand_CornerRight 0x26D +#define METATILE_SecretBase_Stand_StairsLeft 0x272 +#define METATILE_SecretBase_Stand_BaseLeft 0x273 +#define METATILE_SecretBase_Stand_BaseRight 0x274 +#define METATILE_SecretBase_Stand_StairsRight 0x275 #define METATILE_SecretBase_BreakableDoor_TopClosed 0x237 #define METATILE_SecretBase_BreakableDoor_BottomClosed 0x23F #define METATILE_SecretBase_BreakableDoor_TopOpen 0x26E #define METATILE_SecretBase_BreakableDoor_BottomOpen 0x276 -#define METATILE_SecretBase_NoteMat_C 0x278 +#define METATILE_SecretBase_GlitterMat 0x260 +#define METATILE_SecretBase_JumpMat 0x261 +#define METATILE_SecretBase_SpinMat 0x262 +#define METATILE_SecretBase_NoteMat_C_Low 0x278 #define METATILE_SecretBase_NoteMat_D 0x279 #define METATILE_SecretBase_NoteMat_E 0x27A #define METATILE_SecretBase_NoteMat_F 0x27B #define METATILE_SecretBase_NoteMat_G 0x27C #define METATILE_SecretBase_NoteMat_A 0x27D #define METATILE_SecretBase_NoteMat_B 0x27E -#define METATILE_SecretBase_NoteMat_C_Sharp 0x2B3 +#define METATILE_SecretBase_NoteMat_C_High 0x2B3 #define METATILE_SecretBase_Tire_TopLeft 0x280 #define METATILE_SecretBase_Tire_TopRight 0x281 #define METATILE_SecretBase_Tire_BottomLeft 0x288 #define METATILE_SecretBase_Tire_BottomRight 0x289 +#define METATILE_SecretBase_GlassOrnament_Top 0x282 #define METATILE_SecretBase_GlassOrnament_Base1 0x28A +#define METATILE_SecretBase_GlassOrnament_TopWall 0x283 #define METATILE_SecretBase_GlassOrnament_Base2 0x28B #define METATILE_SecretBase_SandOrnament_BrokenTop 0x284 #define METATILE_SecretBase_SandOrnament_BrokenBase 0x28C @@ -622,23 +653,41 @@ #define METATILE_SecretBase_RaggedChair 0x2C2 #define METATILE_SecretBase_BrickChair 0x2C8 #define METATILE_SecretBase_CampChair 0x2C9 -#define METATILE_SecretBase_HardChair 0x2Ca +#define METATILE_SecretBase_HardChair 0x2CA +#define METATILE_SecretBase_RedPlant_Top 0x2D0 #define METATILE_SecretBase_RedPlant_Base1 0x2D8 +#define METATILE_SecretBase_RedPlant_TopWall 0x2D1 #define METATILE_SecretBase_RedPlant_Base2 0x2D9 +#define METATILE_SecretBase_TropicalPlant_Top 0x2D2 #define METATILE_SecretBase_TropicalPlant_Base1 0x2DA +#define METATILE_SecretBase_TropicalPlant_TopWall 0x2D3 #define METATILE_SecretBase_TropicalPlant_Base2 0x2DB -#define METATILE_SecretBase_PrettyFlower_Base1 0x2DC -#define METATILE_SecretBase_PrettyFlower_Base2 0x2DD -#define METATILE_SecretBase_ColorfulFlowers_BaseLeft1 0x2E8 -#define METATILE_SecretBase_ColorfulFlowers_BaseRight1 0x2E9 -#define METATILE_SecretBase_ColorfulFlowers_BaseLeft2 0x2EA -#define METATILE_SecretBase_ColorfulFlowers_BaseRight2 0x2EB +#define METATILE_SecretBase_PrettyFlowers_Top 0x2D4 +#define METATILE_SecretBase_PrettyFlowers_Base1 0x2DC +#define METATILE_SecretBase_PrettyFlowers_TopWall 0x2D5 +#define METATILE_SecretBase_PrettyFlowers_Base2 0x2DD +#define METATILE_SecretBase_ColorfulPlant_TopLeft 0x2E0 +#define METATILE_SecretBase_ColorfulPlant_TopRight 0x2E2 +#define METATILE_SecretBase_ColorfulPlant_BaseLeft1 0x2E8 +#define METATILE_SecretBase_ColorfulPlant_BaseRight1 0x2E9 +#define METATILE_SecretBase_ColorfulPlant_TopLeftWall 0x2E1 +#define METATILE_SecretBase_ColorfulPlant_TopRightWall 0x2E3 +#define METATILE_SecretBase_ColorfulPlant_BaseLeft2 0x2EA +#define METATILE_SecretBase_ColorfulPlant_BaseRight2 0x2EB +#define METATILE_SecretBase_BigPlant_TopLeft 0x2E4 +#define METATILE_SecretBase_BigPlant_TopRight 0x2E6 #define METATILE_SecretBase_BigPlant_BaseLeft1 0x2EC #define METATILE_SecretBase_BigPlant_BaseRight1 0x2ED +#define METATILE_SecretBase_BigPlant_TopLeftWall 0x2E5 +#define METATILE_SecretBase_BigPlant_TopRightWall 0x2E6 #define METATILE_SecretBase_BigPlant_BaseLeft2 0x2EE #define METATILE_SecretBase_BigPlant_BaseRight2 0x2EF +#define METATILE_SecretBase_GorgeousPlant_TopLeft 0x2F0 +#define METATILE_SecretBase_GorgeousPlant_TopRight 0x2F2 #define METATILE_SecretBase_GorgeousPlant_BaseLeft1 0x2F8 #define METATILE_SecretBase_GorgeousPlant_BaseRight1 0x2F9 +#define METATILE_SecretBase_GorgeousPlant_TopLeftWall 0x2F1 +#define METATILE_SecretBase_GorgeousPlant_TopRightWall 0x2F3 #define METATILE_SecretBase_GorgeousPlant_BaseLeft2 0x2FA #define METATILE_SecretBase_GorgeousPlant_BaseRight2 0x2FB #define METATILE_SecretBase_TV 0x2F4 @@ -659,12 +708,79 @@ #define METATILE_SecretBase_RedPoster 0x332 #define METATILE_SecretBase_BluePoster 0x333 #define METATILE_SecretBase_CutePoster 0x334 +#define METATILE_SecretBase_SilverShield_Top 0x2D6 #define METATILE_SecretBase_SilverShield_Base1 0x2DE +#define METATILE_SecretBase_SilverShield_TopWall 0x2D7 #define METATILE_SecretBase_SilverShield_Base2 0x2DF +#define METATILE_SecretBase_GoldShield_Top 0x32E #define METATILE_SecretBase_GoldShield_Base1 0x336 +#define METATILE_SecretBase_GoldShield_TopWall 0x32F #define METATILE_SecretBase_GoldShield_Base2 0x337 #define METATILE_SecretBase_RedBalloon 0x338 -#define METATILE_SecretBase_BlueBalloon 0x33c +#define METATILE_SecretBase_BlueBalloon 0x33C #define METATILE_SecretBase_YellowBalloon 0x340 +#define METATILE_SecretBase_SurfMat_TopLeft 0x242 +#define METATILE_SecretBase_SurfMat_TopMid 0x243 +#define METATILE_SecretBase_SurfMat_TopRight 0x244 +#define METATILE_SecretBase_SurfMat_MidLeft 0x24A +#define METATILE_SecretBase_SurfMat_Center 0x24B +#define METATILE_SecretBase_SurfMat_MidRight 0x24C +#define METATILE_SecretBase_SurfMat_BottomLeft 0x252 +#define METATILE_SecretBase_SurfMat_BottomMid 0x253 +#define METATILE_SecretBase_SurfMat_BottomRight 0x254 +#define METATILE_SecretBase_ThunderMat_TopLeft 0x245 +#define METATILE_SecretBase_ThunderMat_TopMid 0x246 +#define METATILE_SecretBase_ThunderMat_TopRight 0x247 +#define METATILE_SecretBase_ThunderMat_MidLeft 0x24D +#define METATILE_SecretBase_ThunderMat_Center 0x24E +#define METATILE_SecretBase_ThunderMat_MidRight 0x24F +#define METATILE_SecretBase_ThunderMat_BottomLeft 0x255 +#define METATILE_SecretBase_ThunderMat_BottomMid 0x256 +#define METATILE_SecretBase_ThunderMat_BottomRight 0x257 +#define METATILE_SecretBase_FireBlastMat_TopLeft 0x25A +#define METATILE_SecretBase_FireBlastMat_TopMid 0x25B +#define METATILE_SecretBase_FireBlastMat_TopRight 0x25C +#define METATILE_SecretBase_FireBlastMat_MidLeft 0x25D +#define METATILE_SecretBase_FireBlastMat_Center 0x25E +#define METATILE_SecretBase_FireBlastMat_MidRight 0x25F +#define METATILE_SecretBase_FireBlastMat_BottomLeft 0x265 +#define METATILE_SecretBase_FireBlastMat_BottomMid 0x266 +#define METATILE_SecretBase_FireBlastMat_BottomRight 0x267 +#define METATILE_SecretBase_PowderSnowMat_TopLeft 0x300 +#define METATILE_SecretBase_PowderSnowMat_TopMid 0x301 +#define METATILE_SecretBase_PowderSnowMat_TopRight 0x302 +#define METATILE_SecretBase_PowderSnowMat_MidLeft 0x308 +#define METATILE_SecretBase_PowderSnowMat_Center 0x309 +#define METATILE_SecretBase_PowderSnowMat_MidRight 0x30A +#define METATILE_SecretBase_PowderSnowMat_BottomLeft 0x310 +#define METATILE_SecretBase_PowderSnowMat_BottomMid 0x311 +#define METATILE_SecretBase_PowderSnowMat_BottomRight 0x312 +#define METATILE_SecretBase_AttractMat_TopLeft 0x303 +#define METATILE_SecretBase_AttractMat_TopMid 0x304 +#define METATILE_SecretBase_AttractMat_TopRight 0x305 +#define METATILE_SecretBase_AttractMat_MidLeft 0x30B +#define METATILE_SecretBase_AttractMat_Center 0x30C +#define METATILE_SecretBase_AttractMat_MidRight 0x30D +#define METATILE_SecretBase_AttractMat_BottomLeft 0x313 +#define METATILE_SecretBase_AttractMat_BottomMid 0x314 +#define METATILE_SecretBase_AttractMat_BottomRight 0x315 +#define METATILE_SecretBase_FissureMat_TopLeft 0x306 +#define METATILE_SecretBase_FissureMat_TopMid 0x307 +#define METATILE_SecretBase_FissureMat_TopRight 0x318 +#define METATILE_SecretBase_FissureMat_MidLeft 0x30E +#define METATILE_SecretBase_FissureMat_Center 0x30F +#define METATILE_SecretBase_FissureMat_MidRight 0x320 +#define METATILE_SecretBase_FissureMat_BottomLeft 0x316 +#define METATILE_SecretBase_FissureMat_BottomMid 0x317 +#define METATILE_SecretBase_FissureMat_BottomRight 0x328 +#define METATILE_SecretBase_SpikesMat_TopLeft 0x319 +#define METATILE_SecretBase_SpikesMat_TopMid 0x31A +#define METATILE_SecretBase_SpikesMat_TopRight 0x31B +#define METATILE_SecretBase_SpikesMat_MidLeft 0x321 +#define METATILE_SecretBase_SpikesMat_Center 0x322 +#define METATILE_SecretBase_SpikesMat_MidRight 0x323 +#define METATILE_SecretBase_SpikesMat_BottomLeft 0x329 +#define METATILE_SecretBase_SpikesMat_BottomMid 0x32A +#define METATILE_SecretBase_SpikesMat_BottomRight 0x32B #endif // GUARD_METATILE_LABELS_H diff --git a/src/data/decoration/tiles.h b/src/data/decoration/tiles.h index f11520511..de5c43575 100644 --- a/src/data/decoration/tiles.h +++ b/src/data/decoration/tiles.h @@ -1,463 +1,465 @@ +#define DECOR_TILE(name) (METATILE_SecretBase_##name - 0x200) + const u16 DecorGfx_SMALL_DESK[] = { - 0x87 + DECOR_TILE(SmallDesk) }; const u16 DecorGfx_POKEMON_DESK[] = { - 0x8F + DECOR_TILE(PokemonDesk) }; const u16 DecorGfx_HEAVY_DESK[] = { - 0x90, - 0x91, - 0x92, - 0x98, - 0x99, - 0x9A + DECOR_TILE(HeavyDesk_TopLeft), + DECOR_TILE(HeavyDesk_TopMid), + DECOR_TILE(HeavyDesk_TopRight), + DECOR_TILE(HeavyDesk_BottomLeft), + DECOR_TILE(HeavyDesk_BottomMid), + DECOR_TILE(HeavyDesk_BottomRight) }; const u16 DecorGfx_RAGGED_DESK[] = { - 0x93, - 0x94, - 0x95, - 0x9B, - 0x9C, - 0x9D + DECOR_TILE(RaggedDesk_TopLeft), + DECOR_TILE(RaggedDesk_TopMid), + DECOR_TILE(RaggedDesk_TopRight), + DECOR_TILE(RaggedDesk_BottomLeft), + DECOR_TILE(RaggedDesk_BottomMid), + DECOR_TILE(RaggedDesk_BottomRight) }; const u16 DecorGfx_COMFORT_DESK[] = { - 0x96, - 0x97, - 0xA3, - 0x9E, - 0x9F, - 0xAB + DECOR_TILE(ComfortDesk_TopLeft), + DECOR_TILE(ComfortDesk_TopMid), + DECOR_TILE(ComfortDesk_TopRight), + DECOR_TILE(ComfortDesk_BottomLeft), + DECOR_TILE(ComfortDesk_BottomMid), + DECOR_TILE(ComfortDesk_BottomRight) }; const u16 DecorGfx_PRETTY_DESK[] = { - 0xBD, - 0xBE, - 0xBF, - 0xC5, - 0xC6, - 0xC7, - 0xCD, - 0xCE, - 0xCF + DECOR_TILE(PrettyDesk_TopLeft), + DECOR_TILE(PrettyDesk_TopMid), + DECOR_TILE(PrettyDesk_TopRight), + DECOR_TILE(PrettyDesk_MidLeft), + DECOR_TILE(PrettyDesk_Center), + DECOR_TILE(PrettyDesk_MidRight), + DECOR_TILE(PrettyDesk_BottomLeft), + DECOR_TILE(PrettyDesk_BottomMid), + DECOR_TILE(PrettyDesk_BottomRight) }; const u16 DecorGfx_BRICK_DESK[] = { - 0xA0, - 0xA1, - 0xA2, - 0xA8, - 0xA9, - 0xAA, - 0xB0, - 0xB1, - 0xB2 + DECOR_TILE(BrickDesk_TopLeft), + DECOR_TILE(BrickDesk_TopMid), + DECOR_TILE(BrickDesk_TopRight), + DECOR_TILE(BrickDesk_MidLeft), + DECOR_TILE(BrickDesk_Center), + DECOR_TILE(BrickDesk_MidRight), + DECOR_TILE(BrickDesk_BottomLeft), + DECOR_TILE(BrickDesk_BottomMid), + DECOR_TILE(BrickDesk_BottomRight) }; const u16 DecorGfx_CAMP_DESK[] = { - 0xA4, - 0xA5, - 0xA6, - 0xAC, - 0xAD, - 0xAE, - 0xB4, - 0xB5, - 0xB6 + DECOR_TILE(CampDesk_TopLeft), + DECOR_TILE(CampDesk_TopMid), + DECOR_TILE(CampDesk_TopRight), + DECOR_TILE(CampDesk_MidLeft), + DECOR_TILE(CampDesk_Center), + DECOR_TILE(CampDesk_MidRight), + DECOR_TILE(CampDesk_BottomLeft), + DECOR_TILE(CampDesk_BottomMid), + DECOR_TILE(CampDesk_BottomRight) }; const u16 DecorGfx_HARD_DESK[] = { - 0xA7, - 0xBB, - 0xBC, - 0xAF, - 0xC3, - 0xC4, - 0xB7, - 0xCB, - 0xCC + DECOR_TILE(HardDesk_TopLeft), + DECOR_TILE(HardDesk_TopMid), + DECOR_TILE(HardDesk_TopRight), + DECOR_TILE(HardDesk_MidLeft), + DECOR_TILE(HardDesk_Center), + DECOR_TILE(HardDesk_MidRight), + DECOR_TILE(HardDesk_BottomLeft), + DECOR_TILE(HardDesk_BottomMid), + DECOR_TILE(HardDesk_BottomRight) }; const u16 DecorGfx_SMALL_CHAIR[] = { - 0xB8 + DECOR_TILE(SmallChair) }; const u16 DecorGfx_POKEMON_CHAIR[] = { - 0xB9 + DECOR_TILE(PokemonChair) }; const u16 DecorGfx_HEAVY_CHAIR[] = { - 0xBA + DECOR_TILE(HeavyChair) }; const u16 DecorGfx_PRETTY_CHAIR[] = { - 0xC0 + DECOR_TILE(PrettyChair) }; const u16 DecorGfx_COMFORT_CHAIR[] = { - 0xC1 + DECOR_TILE(ComfortChair) }; const u16 DecorGfx_RAGGED_CHAIR[] = { - 0xC2 + DECOR_TILE(RaggedChair) }; const u16 DecorGfx_BRICK_CHAIR[] = { - 0xC8 + DECOR_TILE(BrickChair) }; const u16 DecorGfx_CAMP_CHAIR[] = { - 0xC9 + DECOR_TILE(CampChair) }; const u16 DecorGfx_HARD_CHAIR[] = { - 0xCA + DECOR_TILE(HardChair) }; const u16 DecorGfx_RED_PLANT[] = { - 0xD0, - 0xD8 + DECOR_TILE(RedPlant_Top), + DECOR_TILE(RedPlant_Base1) }; const u16 DecorGfx_TROPICAL_PLANT[] = { - 0xD2, - 0xDA + DECOR_TILE(TropicalPlant_Top), + DECOR_TILE(TropicalPlant_Base1) }; const u16 DecorGfx_PRETTY_FLOWERS[] = { - 0xD4, - 0xDC + DECOR_TILE(PrettyFlowers_Top), + DECOR_TILE(PrettyFlowers_Base1) }; const u16 DecorGfx_COLORFUL_PLANT[] = { - 0xE0, - 0xE2, - 0xE8, - 0xE9 + DECOR_TILE(ColorfulPlant_TopLeft), + DECOR_TILE(ColorfulPlant_TopRight), + DECOR_TILE(ColorfulPlant_BaseLeft1), + DECOR_TILE(ColorfulPlant_BaseRight1) }; const u16 DecorGfx_BIG_PLANT[] = { - 0xE4, - 0xE6, - 0xEC, - 0xED + DECOR_TILE(BigPlant_TopLeft), + DECOR_TILE(BigPlant_TopRight), + DECOR_TILE(BigPlant_BaseLeft1), + DECOR_TILE(BigPlant_BaseRight1) }; const u16 DecorGfx_GORGEOUS_PLANT[] = { - 0xF0, - 0xF2, - 0xF8, - 0xF9 + DECOR_TILE(GorgeousPlant_TopLeft), + DECOR_TILE(GorgeousPlant_TopRight), + DECOR_TILE(GorgeousPlant_BaseLeft1), + DECOR_TILE(GorgeousPlant_BaseRight1) }; const u16 DecorGfx_RED_BRICK[] = { - 0x25, - 0x2D + DECOR_TILE(RedBrick_Top), + DECOR_TILE(RedBrick_Bottom) }; const u16 DecorGfx_YELLOW_BRICK[] = { - 0x26, - 0x2E + DECOR_TILE(YellowBrick_Top), + DECOR_TILE(YellowBrick_Bottom) }; const u16 DecorGfx_BLUE_BRICK[] = { - 0x27, - 0x2F + DECOR_TILE(BlueBrick_Top), + DECOR_TILE(BlueBrick_Bottom) }; const u16 DecorGfx_RED_BALLOON[] = { - 0x138 + DECOR_TILE(RedBalloon) }; const u16 DecorGfx_BLUE_BALLOON[] = { - 0x13C + DECOR_TILE(BlueBalloon) }; const u16 DecorGfx_YELLOW_BALLOON[] = { - 0x140 + DECOR_TILE(YellowBalloon) }; const u16 DecorGfx_RED_TENT[] = { - 0x30, - 0x31, - 0x32, - 0x38, - 0x39, - 0x3A, - 0x40, - 0x41, - 0x3B + DECOR_TILE(RedTent_TopLeft), + DECOR_TILE(RedTent_TopMid), + DECOR_TILE(RedTent_TopRight), + DECOR_TILE(RedTent_MidLeft), + DECOR_TILE(RedTent_DoorTop), + DECOR_TILE(RedTent_MidRight), + DECOR_TILE(RedTent_BottomLeft), + DECOR_TILE(RedTent_Door), + DECOR_TILE(RedTent_BottomRight) }; const u16 DecorGfx_BLUE_TENT[] = { - 0x48, - 0x49, - 0x68, - 0x50, - 0x51, - 0x70, - 0x58, - 0x59, - 0x69 + DECOR_TILE(BlueTent_TopLeft), + DECOR_TILE(BlueTent_TopMid), + DECOR_TILE(BlueTent_TopRight), + DECOR_TILE(BlueTent_MidLeft), + DECOR_TILE(BlueTent_DoorTop), + DECOR_TILE(BlueTent_MidRight), + DECOR_TILE(BlueTent_BottomLeft), + DECOR_TILE(BlueTent_Door), + DECOR_TILE(BlueTent_BottomRight) }; const u16 DecorGfx_SOLID_BOARD[] = { - 0x34, - 0x3C + DECOR_TILE(SolidBoard_Top), + DECOR_TILE(SolidBoard_Bottom) }; const u16 DecorGfx_SLIDE[] = { - 0x35, - 0x36, - 0x3D, - 0x3E, - 0x63, - 0x64, - 0x6F, - 0x77 + DECOR_TILE(Slide_TopLeft), + DECOR_TILE(Slide_TopRight), + DECOR_TILE(Slide_StairLanding), + DECOR_TILE(Slide_SlideTop), + DECOR_TILE(Slide_Stairs), + DECOR_TILE(Slide_SlideBottom), + DECOR_TILE(Slide_MatLeft), + DECOR_TILE(Slide_MatRight) }; const u16 DecorGfx_FENCE_LENGTH[] = { - 0x33 + DECOR_TILE(Fence_Vertical) }; const u16 DecorGfx_FENCE_WIDTH[] = { - 0x2C + DECOR_TILE(Fence_Horizontal) }; const u16 DecorGfx_TIRE[] = { - 0x80, - 0x81, - 0x88, - 0x89 + DECOR_TILE(Tire_TopLeft), + DECOR_TILE(Tire_TopRight), + DECOR_TILE(Tire_BottomLeft), + DECOR_TILE(Tire_BottomRight) }; const u16 DecorGfx_STAND[] = { - 0x6A, - 0x6B, - 0x6C, - 0x6D, - 0x72, - 0x73, - 0x74, - 0x75 + DECOR_TILE(Stand_CornerLeft), + DECOR_TILE(Stand_MidLeft), + DECOR_TILE(Stand_MidRight), + DECOR_TILE(Stand_CornerRight), + DECOR_TILE(Stand_StairsLeft), + DECOR_TILE(Stand_BaseLeft), + DECOR_TILE(Stand_BaseRight), + DECOR_TILE(Stand_StairsRight) }; const u16 DecorGfx_MUD_BALL[] = { - 0x28 + DECOR_TILE(MudBall) }; const u16 DecorGfx_BREAKABLE_DOOR[] = { - 0x37, - 0x3F + DECOR_TILE(BreakableDoor_TopClosed), + DECOR_TILE(BreakableDoor_BottomClosed) }; const u16 DecorGfx_SAND_ORNAMENT[] = { - 0x85, - 0x8D + DECOR_TILE(SandOrnament_Top), + DECOR_TILE(SandOrnament_Base1) }; const u16 DecorGfx_SILVER_SHIELD[] = { - 0xD6, - 0xDE + DECOR_TILE(SilverShield_Top), + DECOR_TILE(SilverShield_Base1) }; const u16 DecorGfx_GOLD_SHIELD[] = { - 0x12E, - 0x136 + DECOR_TILE(GoldShield_Top), + DECOR_TILE(GoldShield_Base1) }; const u16 DecorGfx_GLASS_ORNAMENT[] = { - 0x82, - 0x8A + DECOR_TILE(GlassOrnament_Top), + DECOR_TILE(GlassOrnament_Base1) }; const u16 DecorGfx_TV[] = { - 0xF4 + DECOR_TILE(TV) }; const u16 DecorGfx_ROUND_TV[] = { - 0xF5 + DECOR_TILE(RoundTV) }; const u16 DecorGfx_CUTE_TV[] = { - 0xF6 + DECOR_TILE(CuteTV) }; const u16 DecorGfx_GLITTER_MAT[] = { - 0x60 + DECOR_TILE(GlitterMat) }; const u16 DecorGfx_JUMP_MAT[] = { - 0x61 + DECOR_TILE(JumpMat) }; const u16 DecorGfx_SPIN_MAT[] = { - 0x62 + DECOR_TILE(SpinMat) }; const u16 DecorGfx_C_LOW_NOTE_MAT[] = { - 0x78 + DECOR_TILE(NoteMat_C_Low) }; const u16 DecorGfx_D_NOTE_MAT[] = { - 0x79 + DECOR_TILE(NoteMat_D) }; const u16 DecorGfx_E_NOTE_MAT[] = { - 0x7A + DECOR_TILE(NoteMat_E) }; const u16 DecorGfx_F_NOTE_MAT[] = { - 0x7B + DECOR_TILE(NoteMat_F) }; const u16 DecorGfx_G_NOTE_MAT[] = { - 0x7C + DECOR_TILE(NoteMat_G) }; const u16 DecorGfx_A_NOTE_MAT[] = { - 0x7D + DECOR_TILE(NoteMat_A) }; const u16 DecorGfx_B_NOTE_MAT[] = { - 0x7E + DECOR_TILE(NoteMat_B) }; const u16 DecorGfx_C_HIGH_NOTE_MAT[] = { - 0xB3 + DECOR_TILE(NoteMat_C_High) }; const u16 DecorGfx_SURF_MAT[] = { - 0x42, - 0x43, - 0x44, - 0x4A, - 0x4B, - 0x4C, - 0x52, - 0x53, - 0x54 + DECOR_TILE(SurfMat_TopLeft), + DECOR_TILE(SurfMat_TopMid), + DECOR_TILE(SurfMat_TopRight), + DECOR_TILE(SurfMat_MidLeft), + DECOR_TILE(SurfMat_Center), + DECOR_TILE(SurfMat_MidRight), + DECOR_TILE(SurfMat_BottomLeft), + DECOR_TILE(SurfMat_BottomMid), + DECOR_TILE(SurfMat_BottomRight) }; const u16 DecorGfx_THUNDER_MAT[] = { - 0x45, - 0x46, - 0x47, - 0x4D, - 0x4E, - 0x4F, - 0x55, - 0x56, - 0x57 + DECOR_TILE(ThunderMat_TopLeft), + DECOR_TILE(ThunderMat_TopMid), + DECOR_TILE(ThunderMat_TopRight), + DECOR_TILE(ThunderMat_MidLeft), + DECOR_TILE(ThunderMat_Center), + DECOR_TILE(ThunderMat_MidRight), + DECOR_TILE(ThunderMat_BottomLeft), + DECOR_TILE(ThunderMat_BottomMid), + DECOR_TILE(ThunderMat_BottomRight) }; const u16 DecorGfx_FIRE_BLAST_MAT[] = { - 0x5A, - 0x5B, - 0x5C, - 0x5D, - 0x5E, - 0x5F, - 0x65, - 0x66, - 0x67 + DECOR_TILE(FireBlastMat_TopLeft), + DECOR_TILE(FireBlastMat_TopMid), + DECOR_TILE(FireBlastMat_TopRight), + DECOR_TILE(FireBlastMat_MidLeft), + DECOR_TILE(FireBlastMat_Center), + DECOR_TILE(FireBlastMat_MidRight), + DECOR_TILE(FireBlastMat_BottomLeft), + DECOR_TILE(FireBlastMat_BottomMid), + DECOR_TILE(FireBlastMat_BottomRight) }; const u16 DecorGfx_POWDER_SNOW_MAT[] = { - 0x100, - 0x101, - 0x102, - 0x108, - 0x109, - 0x10A, - 0x110, - 0x111, - 0x112 + DECOR_TILE(PowderSnowMat_TopLeft), + DECOR_TILE(PowderSnowMat_TopMid), + DECOR_TILE(PowderSnowMat_TopRight), + DECOR_TILE(PowderSnowMat_MidLeft), + DECOR_TILE(PowderSnowMat_Center), + DECOR_TILE(PowderSnowMat_MidRight), + DECOR_TILE(PowderSnowMat_BottomLeft), + DECOR_TILE(PowderSnowMat_BottomMid), + DECOR_TILE(PowderSnowMat_BottomRight) }; const u16 DecorGfx_ATTRACT_MAT[] = { - 0x103, - 0x104, - 0x105, - 0x10B, - 0x10C, - 0x10D, - 0x113, - 0x114, - 0x115 + DECOR_TILE(AttractMat_TopLeft), + DECOR_TILE(AttractMat_TopMid), + DECOR_TILE(AttractMat_TopRight), + DECOR_TILE(AttractMat_MidLeft), + DECOR_TILE(AttractMat_Center), + DECOR_TILE(AttractMat_MidRight), + DECOR_TILE(AttractMat_BottomLeft), + DECOR_TILE(AttractMat_BottomMid), + DECOR_TILE(AttractMat_BottomRight) }; const u16 DecorGfx_FISSURE_MAT[] = { - 0x106, - 0x107, - 0x118, - 0x10E, - 0x10F, - 0x120, - 0x116, - 0x117, - 0x128 + DECOR_TILE(FissureMat_TopLeft), + DECOR_TILE(FissureMat_TopMid), + DECOR_TILE(FissureMat_TopRight), + DECOR_TILE(FissureMat_MidLeft), + DECOR_TILE(FissureMat_Center), + DECOR_TILE(FissureMat_MidRight), + DECOR_TILE(FissureMat_BottomLeft), + DECOR_TILE(FissureMat_BottomMid), + DECOR_TILE(FissureMat_BottomRight) }; const u16 DecorGfx_SPIKES_MAT[] = { - 0x119, - 0x11A, - 0x11B, - 0x121, - 0x122, - 0x123, - 0x129, - 0x12A, - 0x12B + DECOR_TILE(SpikesMat_TopLeft), + DECOR_TILE(SpikesMat_TopMid), + DECOR_TILE(SpikesMat_TopRight), + DECOR_TILE(SpikesMat_MidLeft), + DECOR_TILE(SpikesMat_Center), + DECOR_TILE(SpikesMat_MidRight), + DECOR_TILE(SpikesMat_BottomLeft), + DECOR_TILE(SpikesMat_BottomMid), + DECOR_TILE(SpikesMat_BottomRight) }; const u16 DecorGfx_BALL_POSTER[] = { - 0x130 + DECOR_TILE(BallPoster) }; const u16 DecorGfx_GREEN_POSTER[] = { - 0x131 + DECOR_TILE(GreenPoster) }; const u16 DecorGfx_RED_POSTER[] = { - 0x132 + DECOR_TILE(RedPoster) }; const u16 DecorGfx_BLUE_POSTER[] = { - 0x133 + DECOR_TILE(BluePoster) }; const u16 DecorGfx_CUTE_POSTER[] = { - 0x134 + DECOR_TILE(CutePoster) }; const u16 DecorGfx_PIKA_POSTER[] = { - 0x11C, - 0x11D + DECOR_TILE(PikaPoster_Left), + DECOR_TILE(PikaPoster_Right) }; const u16 DecorGfx_LONG_POSTER[] = { - 0x11E, - 0x11F + DECOR_TILE(LongPoster_Left), + DECOR_TILE(LongPoster_Right) }; const u16 DecorGfx_SEA_POSTER[] = { - 0x124, - 0x125 + DECOR_TILE(SeaPoster_Left), + DECOR_TILE(SeaPoster_Right) }; const u16 DecorGfx_SKY_POSTER[] = { - 0x126, - 0x127 + DECOR_TILE(SkyPoster_Left), + DECOR_TILE(SkyPoster_Right) }; const u16 DecorGfx_KISS_POSTER[] = { - 0x12C, - 0x12D + DECOR_TILE(KissPoster_Left), + DECOR_TILE(KissPoster_Right) }; const u16 DecorGfx_PICHU_DOLL[] = { diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index def86ab1b..9574ac563 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -948,7 +948,7 @@ static void Task_SecretBaseMusicNoteMatSound(u8 taskId) { switch (gTasks[taskId].tMetatileID) { - case METATILE_SecretBase_NoteMat_C: + case METATILE_SecretBase_NoteMat_C_Low: PlaySE(SE_TOY_C); break; case METATILE_SecretBase_NoteMat_D: @@ -969,7 +969,7 @@ static void Task_SecretBaseMusicNoteMatSound(u8 taskId) case METATILE_SecretBase_NoteMat_B: PlaySE(SE_TOY_B); break; - case METATILE_SecretBase_NoteMat_C_Sharp: + case METATILE_SecretBase_NoteMat_C_High: PlaySE(SE_TOY_C1); break; } diff --git a/src/secret_base.c b/src/secret_base.c index ec48e9b51..24644d0ec 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1176,7 +1176,7 @@ void SecretBasePerStepCallback(u8 taskId) VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); behavior = MapGridGetMetatileBehaviorAt(x, y); tileId = MapGridGetMetatileIdAt(x, y); - if (tileId == METATILE_SecretBase_Board_Top || tileId == METATILE_SecretBase_Board_Bottom) + if (tileId == METATILE_SecretBase_SolidBoard_Top || tileId == METATILE_SecretBase_SolidBoard_Bottom) { if (sInFriendSecretBase == TRUE) { @@ -1204,13 +1204,13 @@ void SecretBasePerStepCallback(u8 taskId) if (sInFriendSecretBase == TRUE) VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TENT); } - else if ((behavior == MB_IMPASSABLE_NORTHEAST && tileId == METATILE_SecretBase_Stand_RightCorner) - || (behavior == MB_IMPASSABLE_NORTHWEST && MapGridGetMetatileIdAt(x, y) == METATILE_SecretBase_Stand_LeftCorner)) + else if ((behavior == MB_IMPASSABLE_NORTHEAST && tileId == METATILE_SecretBase_Stand_CornerRight) + || (behavior == MB_IMPASSABLE_NORTHWEST && MapGridGetMetatileIdAt(x, y) == METATILE_SecretBase_Stand_CornerLeft)) { if (sInFriendSecretBase == TRUE) VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_STAND); } - else if (behavior == MB_IMPASSABLE_WEST_AND_EAST && tileId == METATILE_SecretBase_Slide_Stairs) + else if (behavior == MB_IMPASSABLE_WEST_AND_EAST && tileId == METATILE_SecretBase_Slide_StairLanding) { if (sInFriendSecretBase == TRUE) { @@ -1218,7 +1218,7 @@ void SecretBasePerStepCallback(u8 taskId) VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_DECLINED_SLIDE); } } - else if (behavior == MB_SLIDE_SOUTH && tileId == METATILE_SecretBase_Slide) + else if (behavior == MB_SLIDE_SOUTH && tileId == METATILE_SecretBase_Slide_SlideTop) { if (sInFriendSecretBase == TRUE) { @@ -1846,12 +1846,12 @@ void CheckInteractedWithFriendsFurnitureBottom(void) case METATILE_SecretBase_RedPlant_Base2: case METATILE_SecretBase_TropicalPlant_Base1: case METATILE_SecretBase_TropicalPlant_Base2: - case METATILE_SecretBase_PrettyFlower_Base1: - case METATILE_SecretBase_PrettyFlower_Base2: - case METATILE_SecretBase_ColorfulFlowers_BaseLeft1: - case METATILE_SecretBase_ColorfulFlowers_BaseRight1: - case METATILE_SecretBase_ColorfulFlowers_BaseLeft2: - case METATILE_SecretBase_ColorfulFlowers_BaseRight2: + case METATILE_SecretBase_PrettyFlowers_Base1: + case METATILE_SecretBase_PrettyFlowers_Base2: + case METATILE_SecretBase_ColorfulPlant_BaseLeft1: + case METATILE_SecretBase_ColorfulPlant_BaseRight1: + case METATILE_SecretBase_ColorfulPlant_BaseLeft2: + case METATILE_SecretBase_ColorfulPlant_BaseRight2: case METATILE_SecretBase_BigPlant_BaseLeft1: case METATILE_SecretBase_BigPlant_BaseRight1: case METATILE_SecretBase_BigPlant_BaseLeft2: From 6eefcb1f82dc28cdc626e86fda3a217d21315181 Mon Sep 17 00:00:00 2001 From: AsparagusEduardo Date: Wed, 15 Apr 2020 08:23:24 -0400 Subject: [PATCH 19/19] Using sandstorm weather constant for Sand Veil encounter rate. --- src/wild_encounter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 21f871751..7d20b2476 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -22,6 +22,7 @@ #include "constants/layouts.h" #include "constants/maps.h" #include "constants/species.h" +#include "constants/weather.h" extern const u8 EventScript_RepelWoreOff[]; @@ -492,7 +493,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) encounterRate /= 2; else if (ability == ABILITY_ARENA_TRAP) encounterRate *= 2; - else if (ability == ABILITY_SAND_VEIL && gSaveBlock1Ptr->weather == 8) + else if (ability == ABILITY_SAND_VEIL && gSaveBlock1Ptr->weather == WEATHER_SANDSTORM) encounterRate /= 2; } if (encounterRate > 2880)