diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_anim_80A9C70.c | 176 | ||||
-rw-r--r-- | src/battle_main.c | 6 | ||||
-rw-r--r-- | src/battle_script_commands.c | 4 | ||||
-rw-r--r-- | src/cable_club.c | 4 | ||||
-rw-r--r-- | src/contest.c | 2 | ||||
-rw-r--r-- | src/contest_link_80F57C4.c | 16 | ||||
-rw-r--r-- | src/contest_painting.c | 13 | ||||
-rw-r--r-- | src/contest_painting_effects.c | 19 | ||||
-rw-r--r-- | src/dragon.c | 4 | ||||
-rw-r--r-- | src/evolution_scene.c | 15 | ||||
-rwxr-xr-x | src/item_use.c | 5 | ||||
-rwxr-xr-x | src/party_menu.c | 4 | ||||
-rw-r--r-- | src/pokedex.c | 2 | ||||
-rwxr-xr-x | src/pokedex_cry_screen.c | 5 | ||||
-rw-r--r-- | src/rom_8011DC0.c | 2 | ||||
-rwxr-xr-x | src/trainer_card.c | 1 |
16 files changed, 229 insertions, 49 deletions
diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c index 001f99d7f..1271680e0 100644 --- a/src/battle_anim_80A9C70.c +++ b/src/battle_anim_80A9C70.c @@ -28,6 +28,182 @@ static void sub_80A9E44(struct Sprite *sprite); static void sub_80A9E78(struct Sprite *sprite); // const rom data +static const union AnimCmd sSpriteAnim_853EDE4[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(4, 3), + ANIMCMD_FRAME(8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_853EDF8[] = +{ + sSpriteAnim_853EDE4 +}; + +const struct SpriteTemplate gUnknown_0853EDFC = +{ + .tileTag = ANIM_TAG_UNUSED_ORB, + .paletteTag = ANIM_TAG_UNUSED_ORB, + .oam = &gUnknown_0852490C, + .anims = sSpriteAnimTable_853EDF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8AEC, +}; + +const struct SpriteTemplate gUnknown_0853EE14 = +{ + .tileTag = ANIM_TAG_UNUSED_ORB, + .paletteTag = ANIM_TAG_UNUSED_ORB, + .oam = &gUnknown_0852490C, + .anims = sSpriteAnimTable_853EDF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8A6C, +}; + +static const union AnimCmd sSpriteAnim_853EE2C[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_853EE34[] = +{ + sSpriteAnim_853EE2C +}; + +const struct SpriteTemplate gUnknown_0853EE38 = +{ + .tileTag = ANIM_TAG_WEATHER_BALL, + .paletteTag = ANIM_TAG_WEATHER_BALL, + .oam = &gUnknown_08524914, + .anims = sSpriteAnimTable_853EE34, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8E30, +}; + +const struct SpriteTemplate gUnknown_0853EE50 = +{ + .tileTag = ANIM_TAG_WEATHER_BALL, + .paletteTag = ANIM_TAG_WEATHER_BALL, + .oam = &gUnknown_08524914, + .anims = sSpriteAnimTable_853EE34, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8EE4, +}; + +static const union AnimCmd sSpriteAnim_853EE68[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_853EE80[] = +{ + sSpriteAnim_853EE68 +}; + +const struct SpriteTemplate gUnknown_0853EE84 = +{ + .tileTag = ANIM_TAG_SPARKLE_4, + .paletteTag = ANIM_TAG_SPARKLE_4, + .oam = &gUnknown_08524914, + .anims = sSpriteAnimTable_853EE80, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8B64, +}; + +const struct SpriteTemplate gUnknown_0853EE9C = +{ + .tileTag = ANIM_TAG_UNUSED_MONSTER_FOOT, + .paletteTag = ANIM_TAG_UNUSED_MONSTER_FOOT, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8AEC, +}; + +static const union AnimCmd sSpriteAnim_853EEB4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd sSpriteAnim_853EEBC[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd sSpriteAnim_853EEC4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_853EECC[] = +{ + sSpriteAnim_853EEB4, + sSpriteAnim_853EEBC, + sSpriteAnim_853EEC4 +}; + +const struct SpriteTemplate gUnknown_0853EED8 = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gUnknown_08524914, + .anims = sSpriteAnimTable_853EECC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8AEC, +}; + +static const union AnimCmd sSpriteAnim_853EEF0[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_853EEF8[] = +{ + sSpriteAnim_853EEF0 +}; + +static const union AffineAnimCmd sSpriteAffineAnim_853EEFC[] = +{ + AFFINEANIMCMD_FRAME(96, 96, 0, 0), + AFFINEANIMCMD_FRAME(2, 2, 0, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] = +{ + sSpriteAffineAnim_853EEFC +}; + +const struct SpriteTemplate gUnknown_0853EF18 = +{ + .tileTag = ANIM_TAG_UNUSED_ORB, + .paletteTag = ANIM_TAG_UNUSED_ORB, + .oam = &gUnknown_085249CC, + .anims = sSpriteAnimTable_853EEF8, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_853EEF8, + .callback = sub_80A8A6C, +}; + static const struct Subsprite gUnknown_0853EF30[] = { {.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2}, diff --git a/src/battle_main.c b/src/battle_main.c index 09ea3dfc9..043e75808 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -139,7 +139,7 @@ static void HandleAction_ThrowPokeblock(void); static void HandleAction_GoNear(void); static void HandleAction_SafariZoneRun(void); static void HandleAction_WallyBallThrow(void); -static void HandleAction_Action11(void); +static void HandleAction_TryFinish(void); static void HandleAction_NothingIsFainted(void); static void HandleAction_ActionFinished(void); @@ -553,7 +553,7 @@ static void (* const sTurnActionsFuncsTable[])(void) = [B_ACTION_SAFARI_RUN] = HandleAction_SafariZoneRun, [B_ACTION_WALLY_THROW] = HandleAction_WallyBallThrow, [B_ACTION_EXEC_SCRIPT] = HandleAction_RunBattleScript, - [11] = HandleAction_Action11, // not sure about this one + [B_ACTION_TRY_FINISH] = HandleAction_TryFinish, [B_ACTION_FINISHED] = HandleAction_ActionFinished, [B_ACTION_NOTHING_FAINTED] = HandleAction_NothingIsFainted, }; @@ -5845,7 +5845,7 @@ static void HandleAction_WallyBallThrow(void) gActionsByTurnOrder[1] = B_ACTION_FINISHED; } -static void HandleAction_Action11(void) +static void HandleAction_TryFinish(void) { if (!HandleFaintedMonActions()) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6bbee842e..6023b2c1b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4233,13 +4233,13 @@ static void atk3D_end(void) gMoveResultFlags = 0; gActiveBattler = 0; - gCurrentActionFuncId = 0xB; + gCurrentActionFuncId = B_ACTION_TRY_FINISH; } static void atk3E_end2(void) { gActiveBattler = 0; - gCurrentActionFuncId = 0xB; + gCurrentActionFuncId = B_ACTION_TRY_FINISH; } static void atk3F_end3(void) // pops the main function stack diff --git a/src/cable_club.c b/src/cable_club.c index ce9b9db05..303b0d016 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -27,12 +27,10 @@ #include "task.h" #include "trade.h" #include "trainer_card.h" +#include "party_menu.h" #include "window.h" #include "constants/songs.h" -extern u8 gUnknown_02032298[2]; -extern u8 gSelectedOrderFromParty[]; - static const struct WindowTemplate gUnknown_08550594 = { .bg = 0, .tilemapLeft = 16, diff --git a/src/contest.c b/src/contest.c index b24036f39..cf084e35e 100644 --- a/src/contest.c +++ b/src/contest.c @@ -214,6 +214,8 @@ EWRAM_DATA u8 gHighestRibbonRank = 0; EWRAM_DATA struct ContestResources *gContestResources = NULL; EWRAM_DATA u8 sContestBgCopyFlags = 0; EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0}; +EWRAM_DATA u8 gUnknown_02039F5C = 0; +EWRAM_DATA u8 gUnknown_02039F5D = 0; // IWRAM common vars. u32 gContestRngValue; diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index 721a4f870..381fb34fa 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -3,7 +3,6 @@ #include "bg.h" #include "contest.h" #include "contest_link_80F57C4.h" -#include "contest_painting.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" @@ -67,10 +66,9 @@ struct ContestLink80F57C4 u8 *unkC[4]; }; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; - -extern struct ContestLink80F57C4 *gUnknown_0203A034; +EWRAM_DATA struct ContestLink80F57C4 *gUnknown_0203A034 = NULL; +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct BgTemplate gUnknown_0858D888[4]; extern const struct WindowTemplate gUnknown_0858D898[]; extern const struct CompressedSpriteSheet gUnknown_0858D878[]; @@ -138,7 +136,7 @@ void sub_80F57C4(void) InitBgsFromTemplates(0, gUnknown_0858D888, ARRAY_COUNT(gUnknown_0858D888)); for (i = 0; i < 4; i++) SetBgTilemapBuffer(i, gUnknown_0203A034->unkC[i]); - + InitWindows(gUnknown_0858D898); DeactivateAllTextPrinters(); SetGpuReg(REG_OFFSET_MOSAIC, 0); @@ -720,7 +718,7 @@ static void sub_80F66B4(u8 taskId) { nationalDexNum = SpeciesToNationalPokedexNum(gContestMons[i].species); GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN); - } + } } gTasks[taskId].data[10] = 0; @@ -761,7 +759,7 @@ static void sub_80F67C4(u8 taskId) { if (!(gIsLinkContest & 0x1)) BravoTrainerPokemonProfile_BeforeInterview2(gContestFinalStandings[gContestPlayerMonIndex]); - + BeginHardwarePaletteFade(0xFF, 0, 0, 16, 0); gTasks[taskId].func = sub_80F6820; } @@ -1282,7 +1280,7 @@ static void sub_80F6F68(struct Sprite *sprite) struct Sprite *sprite2 = &gSprites[sprite->data[i]]; sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64; } - + if (sprite->pos1.x == sprite->data[4]) sprite->callback = sub_80F6FDC; } @@ -1348,7 +1346,7 @@ static void sub_80F7144(void) sprite->invisible = 1; for (i = 0; i < 3; i++) gSprites[sprite->data[i]].invisible = 1; - + gBattle_WIN0H = 0; gBattle_WIN0V = 0; SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); diff --git a/src/contest_painting.c b/src/contest_painting.c index 0ed169a77..71a110aa8 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -20,10 +20,11 @@ #include "window.h" #include "constants/rgb.h" -extern u16 (*gUnknown_03006190)[][32]; -extern struct ContestWinner *gUnknown_030061C0; -extern u16 *gContestPaintingMonPalette; -extern struct Unk030061A0 gUnknown_030061A0; +// IWRAM common +u16 (*gUnknown_03006190)[][32]; +struct Unk030061A0 gUnknown_030061A0; +struct ContestWinner *gUnknown_030061C0; +u16 *gContestPaintingMonPalette; // IWRAM bss IWRAM_DATA u8 gContestPaintingState; @@ -103,7 +104,7 @@ const u8 *const gContestRankTextPointers[] = gContestLink, }; -const struct BgTemplate gUnknown_085B07E8[] = +const struct BgTemplate gUnknown_085B07E8[] = { { .bg = 1, @@ -116,7 +117,7 @@ const struct BgTemplate gUnknown_085B07E8[] = }, }; -const struct WindowTemplate gUnknown_085B07EC = +const struct WindowTemplate gUnknown_085B07EC = { .bg = 1, .tilemapLeft = 2, diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c index 187a0f196..142ad7bc9 100644 --- a/src/contest_painting_effects.c +++ b/src/contest_painting_effects.c @@ -3,14 +3,17 @@ #include "contest_painting.h" #include "constants/rgb.h" -extern u8 gUnknown_03006164; -extern u16 (*gUnknown_03006168)[][32]; -extern u8 gUnknown_0300616C; -extern u8 gUnknown_03006170; -extern u8 gUnknown_03006174; -extern u8 gUnknown_03006178; -extern u8 gUnknown_0300617C; -extern u8 gUnknown_03006180; +// IWRAM common +u8 gUnknown_03006164; +u16 (*gUnknown_03006168)[][32]; +u8 gUnknown_0300616C; +u8 gUnknown_03006170; +u8 gUnknown_03006174; +u8 gUnknown_03006178; +u8 gUnknown_0300617C; +u8 gUnknown_03006180; +u16 gUnknown_03006184; +u16 gUnknown_03006188; // this file's functions void sub_8125230(void); diff --git a/src/dragon.c b/src/dragon.c index 4a2ac1c51..9b39a8a30 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -5,8 +5,6 @@ #include "trig.h" #include "constants/rgb.h" -extern u16 gUnknown_0203A100[]; - void sub_8113064(struct Sprite *); void sub_81131B4(struct Sprite *); void sub_8113224(struct Sprite *); @@ -17,6 +15,8 @@ static void sub_81134B8(u8); static void sub_8113574(struct Task *); static void sub_811369C(struct Sprite *); +EWRAM_DATA static u16 gUnknown_0203A100[7] = {0}; + const union AnimCmd gUnknown_08596E60[] = { ANIMCMD_FRAME(0, 4), diff --git a/src/evolution_scene.c b/src/evolution_scene.c index c97e2d10f..4bf7701be 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -9,6 +9,7 @@ #include "evolution_graphics.h" #include "gpu_regs.h" #include "link.h" +#include "link_rfu.h" #include "m4a.h" #include "main.h" #include "menu.h" @@ -16,10 +17,12 @@ #include "palette.h" #include "pokedex.h" #include "pokemon.h" +#include "pokemon_summary_screen.h" #include "scanline_effect.h" #include "sound.h" #include "sprite.h" #include "string_util.h" +#include "strings.h" #include "task.h" #include "text.h" #include "text_window.h" @@ -39,22 +42,18 @@ struct EvoInfo u16 savedPalette[48]; }; +// EWRAM vars static EWRAM_DATA struct EvoInfo *sEvoStructPtr = NULL; static EWRAM_DATA u16 *sEvoMovingBgPtr = NULL; +// IWRAM common +void (*gCB2_AfterEvolution)(void); + #define sEvoCursorPos gBattleCommunication[1] // when learning a new move #define sEvoGraphicsTaskID gBattleCommunication[2] -extern const struct WindowTemplate gUnknown_0833900C; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -// strings -extern const u8 gText_CommunicationStandby5[]; - -extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move); -extern u8 sub_81C1B94(void); -extern void sub_800E084(void); - // this file's functions static void Task_EvolutionScene(u8 taskID); static void Task_TradeEvolutionScene(u8 taskID); diff --git a/src/item_use.c b/src/item_use.c index 6a7f6cec0..0ea5f6acf 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -38,8 +38,6 @@ #include "constants/songs.h" #include "constants/vars.h" -extern void(*gUnknown_0203A0F4)(u8 taskId); -extern void (*gUnknown_03006328)(u8, TaskFunc); extern void unknown_ItemMenu_Confirm(u8 taskId); extern void sub_81C5B14(u8 taskId); extern void ScriptUnfreezeEventObjects(void); @@ -100,6 +98,9 @@ void sub_80FDBEC(void); bool8 sub_80FDE2C(void); void ItemUseOutOfBattle_CannotUse(u8 taskId); +// EWRAM variables +EWRAM_DATA static void(*gUnknown_0203A0F4)(u8 taskId) = NULL; + // .rodata static const MainCallback gUnknown_085920D8[] = diff --git a/src/party_menu.c b/src/party_menu.c index 8193fcf31..15b5d24d8 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -119,6 +119,7 @@ struct Struct203CEDC u8 unkC; }; +// EWRAM vars static EWRAM_DATA struct Struct203CEC4 *gUnknown_0203CEC4 = NULL; EWRAM_DATA struct Struct203CEC8 gUnknown_0203CEC8 = {0}; static EWRAM_DATA struct Struct203CEDC *gUnknown_0203CEDC = NULL; @@ -134,7 +135,8 @@ static EWRAM_DATA u16 gUnknown_0203CEFC = 0; static EWRAM_DATA u16 gUnknown_0203CEFE = 0; // unused EWRAM_DATA u8 gUnknown_0203CF00[3] = {0}; -extern void (*gUnknown_03006328)(u8, TaskFunc); +// IWRAM common +void (*gUnknown_03006328)(u8, TaskFunc); static void reset_brm(void); static void PartyMenuInitCallback(void); diff --git a/src/pokedex.c b/src/pokedex.c index f99a8226a..c47ada5b8 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -30,8 +30,6 @@ #include "constants/songs.h" #include "constants/species.h" -extern u8 gDexCryScreenState; - // EWRAM static EWRAM_DATA struct PokedexView *sPokedexView = NULL; static EWRAM_DATA u16 gUnknown_02039B50 = 0; diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 4a9227b99..c385141d5 100755 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -39,7 +39,10 @@ static void sub_8145824(u8, s16, u8); static void sub_814596C(struct Sprite *); static void sub_8145B24(s8); -extern u8 gDexCryScreenState; +// IWRAM common +u8 gDexCryScreenState; + +// EWRAM vars static EWRAM_DATA struct PokedexCryScreen *sDexCryScreen = NULL; static EWRAM_DATA u8 *sCryWaveformWindowTiledata = NULL; static EWRAM_DATA struct PokedexCryVolumeMeter *sCryVolumeMeter = NULL; diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index c5ad67fbc..9bdd86167 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -189,8 +189,6 @@ extern u16 gUnknown_02022C3C; extern u8 gUnknown_02022C20[]; extern u8 gFieldLinkPlayerCount; extern u8 gUnknown_03005DB4; -extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; -extern u8 gUnknown_02032298[2]; // IWRAM vars IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0; diff --git a/src/trainer_card.c b/src/trainer_card.c index b7bd5cc1d..49a62284f 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -93,6 +93,7 @@ struct TrainerCardData extern u8 sub_80D30A0(u16); // EWRAM +EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; EWRAM_DATA static struct TrainerCardData *sData = NULL; //this file's functions |