From 2e155ddfdb00ae758537c74f7a30f3c7fdddc469 Mon Sep 17 00:00:00 2001 From: Retnuhytnuob <65794339+Retnuhytnuob@users.noreply.github.com> Date: Tue, 12 Aug 2025 07:31:53 -0500 Subject: [PATCH] Stage 1 comprehension naming of functions for main.substate, board processes, and board specific collision (#150) * context marking for some items * Tag State related functions * cleanup * board proc pair names --- asm/rom_11B9C.s | 12 +- asm/rom_4CEA8.s | 30 ++--- data/rom.s | 172 +++++++++++++------------- include/constants/bg_music.h | 2 +- include/functions.h | 200 +++++++++++++++---------------- include/global.h | 6 +- include/main.h | 13 +- src/bonus_field_select.c | 4 +- src/ereader.c | 16 +-- src/field_select.c | 4 +- src/high_scores.c | 34 +++--- src/intro.c | 12 +- src/options.c | 10 +- src/pinball_game_main.c | 225 ++++++++++++++++++----------------- src/pokedex.c | 18 +-- src/rom_11B9C.c | 18 +-- src/rom_1332C.c | 4 +- src/rom_13D24.c | 2 +- src/rom_17634.c | 10 +- src/rom_19028.c | 16 +-- src/rom_19B64.c | 4 +- src/rom_31F6C.c | 6 +- src/rom_356A0.c | 4 +- src/rom_49A34.c | 27 +++-- src/rom_50AD4.c | 2 +- src/rom_50FAC.c | 24 ++-- sym_ewram.txt | 2 +- 27 files changed, 451 insertions(+), 426 deletions(-) diff --git a/asm/rom_11B9C.s b/asm/rom_11B9C.s index 362a815..857ae20 100644 --- a/asm/rom_11B9C.s +++ b/asm/rom_11B9C.s @@ -846,8 +846,8 @@ _08014DFC: .4byte 0x00004E20 _08014E00: .4byte 0xFFFF0000 _08014E04: .4byte 0x0000FFFF - thumb_func_start sub_14E08 -sub_14E08: @ 0x08014E08 + thumb_func_start COLLISION_CHECK_RUBY_14E08 +COLLISION_CHECK_RUBY_14E08: @ 0x08014E08 push {r4, r5, r6, r7, lr} mov r7, sl mov r6, sb @@ -3178,8 +3178,8 @@ _08016082: _08016088: .4byte 0x000002DA _0801608C: .4byte 0x00001388 - thumb_func_start sub_16090 -sub_16090: @ 0x08016090 + thumb_func_start COLLISION_CHECK_SAPPHIRE_16090 +COLLISION_CHECK_SAPPHIRE_16090: @ 0x08016090 push {r4, r5, r6, r7, lr} mov r7, sl mov r6, sb @@ -5348,8 +5348,8 @@ _080171B8: .align 2, 0 _080171C4: .4byte 0x00000306 - thumb_func_start sub_171C8 -sub_171C8: @ 0x080171C8 + thumb_func_start COLLISION_CHECK_DUSCLOPS_171C8 +COLLISION_CHECK_DUSCLOPS_171C8: @ 0x080171C8 push {r4, r5, r6, r7, lr} mov r7, sl mov r6, sb diff --git a/asm/rom_4CEA8.s b/asm/rom_4CEA8.s index 48d5846..f6c2351 100644 --- a/asm/rom_4CEA8.s +++ b/asm/rom_4CEA8.s @@ -8,16 +8,16 @@ .align 2, 0 - thumb_func_start sub_4CEA8 -sub_4CEA8: @ 0x0804CEA8 + thumb_func_start AllBoardProcess_8A_4CEA8 +AllBoardProcess_8A_4CEA8: @ 0x0804CEA8 push {lr} - bl sub_4CEB4 + bl AllBoardProcess_8B_4CEB4 pop {r0} bx r0 - thumb_func_start sub_4CEB4 -sub_4CEB4: @ 0x0804CEB4 + thumb_func_start AllBoardProcess_8B_4CEB4 +AllBoardProcess_8B_4CEB4: @ 0x0804CEB4 push {r4, r5, r6, r7, lr} mov r7, sl mov r6, sb @@ -973,8 +973,8 @@ _0804D6B8: .4byte 0x040000D4 _0804D6BC: .4byte 0x060022C0 _0804D6C0: .4byte 0x80000040 - thumb_func_start sub_4D6C4 -sub_4D6C4: @ 0x0804D6C4 + thumb_func_start AllBoardProcess_2A_4D6C4 +AllBoardProcess_2A_4D6C4: @ 0x0804D6C4 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} @@ -1291,8 +1291,8 @@ _0804D954: .4byte 0x000007FF _0804D958: .4byte 0x000002EA _0804D95C: .4byte 0x000002F6 - thumb_func_start sub_4D960 -sub_4D960: @ 0x0804D960 + thumb_func_start MainBoardProcess_2B_4D960 +MainBoardProcess_2B_4D960: @ 0x0804D960 push {r4, r5, r6, r7, lr} movs r7, #0x80 lsls r7, r7, #5 @@ -1625,8 +1625,8 @@ _0804DBF0: .4byte 0x000002AA _0804DBF4: .4byte 0x00000121 _0804DBF8: .4byte 0x000005FC - thumb_func_start sub_4DBFC -sub_4DBFC: @ 0x0804DBFC + thumb_func_start BonusBoardProcess_2B_4DBFC +BonusBoardProcess_2B_4DBFC: @ 0x0804DBFC push {r4, r5, r6, r7, lr} movs r6, #0x80 lsls r6, r6, #5 @@ -6901,8 +6901,8 @@ _0805083C: .4byte gUnknown_086B0E6C _08050840: .4byte 0x040000D4 _08050844: .4byte 0x80000020 - thumb_func_start sub_50848 -sub_50848: @ 0x08050848 + thumb_func_start RubyBoardProcess_0A_50848 +RubyBoardProcess_0A_50848: @ 0x08050848 push {r4, r5, r6, r7, lr} movs r0, #0 ldr r4, _080508E8 @ =gMain @@ -6997,8 +6997,8 @@ _0805090C: .4byte 0x000027A0 _08050910: .4byte 0x00002ED0 _08050914: .4byte 0x00002858 - thumb_func_start sub_50918 -sub_50918: @ 0x08050918 + thumb_func_start RubyBoardProcess_0B_50918 +RubyBoardProcess_0B_50918: @ 0x08050918 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} diff --git a/data/rom.s b/data/rom.s index 69d3e8d..f9e679b 100644 --- a/data/rom.s +++ b/data/rom.s @@ -687,19 +687,19 @@ Sio32ConnectionData:: @ 0x0805C748 gBonusFieldSelectStateFuncs:: @ 0x0805C750 .4byte LoadBonusFieldSelectGraphics - .4byte sub_2768 - .4byte sub_2990 + .4byte BonusFieldSelect_State1_2768 + .4byte BonusFieldSelect_State2_2990 gEReaderStateFuncs:: @ 0x0805C75C .4byte LoadEReaderGraphics - .4byte sub_2E40 - .4byte sub_2FC0 - .4byte sub_304C - .4byte sub_3208 - .4byte sub_33A0 - .4byte sub_343C - .4byte sub_35C8 - .4byte sub_374C + .4byte Ereader_State1_2E40 + .4byte Ereader_State2_2FC0 + .4byte Ereader_State3_304C + .4byte Ereader_State4_3208 + .4byte Ereader_State5_33A0 + .4byte Ereader_State6_343C + .4byte Ereader_State7_33C8 + .4byte Ereader_State8_374C gDexInfoWindowMiddleRowTiles:: @ 0x0805C780 .2byte 0x00, 0x9A, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 @@ -728,16 +728,16 @@ gDexInfoWindowEmptyTextRowTiles:: @ 0x0805C840 gPokedexStateFuncs:: @ 0x0805C880 .4byte LoadPokedexGraphics @ POKEDEX_STATE_LOAD_GRAPHICS .4byte Pokedex_HandleListInput @ POKEDEX_STATE_HANDLE_LIST_INPUT - .4byte sub_43D4 @ POKEDEX_STATE_2 - .4byte sub_4428 @ POKEDEX_STATE_3 - .4byte sub_4860 @ POKEDEX_STATE_4 - .4byte sub_45A4 @ POKEDEX_STATE_5 + .4byte Pokedex_State2_43D4 @ POKEDEX_STATE_2 + .4byte Pokedex_State3_4428 @ POKEDEX_STATE_3 + .4byte Pokedex_State4_4860 @ POKEDEX_STATE_4 + .4byte Pokedex_State5_45A4 @ POKEDEX_STATE_5 .4byte Pokedex_LinkSetup @ POKEDEX_STATE_LINK_SETUP - .4byte sub_49D0 @ POKEDEX_STATE_7 - .4byte sub_4B34 @ POKEDEX_STATE_8 - .4byte sub_4BB4 @ POKEDEX_STATE_9 - .4byte sub_4B10 @ POKEDEX_STATE_10 - .4byte sub_4C80 @ POKEDEX_STATE_11 + .4byte Pokedex_State7_49D0 @ POKEDEX_STATE_7 + .4byte Pokedex_State8_4B34 @ POKEDEX_STATE_8 + .4byte Pokedex_State9_4BB4 @ POKEDEX_STATE_9 + .4byte Pokedex_State10_4B10 @ POKEDEX_STATE_10 + .4byte Pokedex_State11_4C80 @ POKEDEX_STATE_11 .4byte Pokedex_ReturnToTitle @ POKEDEX_STATE_RETURN_TO_TITLE gPokedexEntries:: @ 0x0805C8B4 @@ -746,15 +746,15 @@ gPokedexEntries:: @ 0x0805C8B4 .align 2, 0 gFieldSelectStateFuncs:: @ 0x080792C0 .4byte LoadFieldSelectGraphics - .4byte sub_8C7C - .4byte sub_8F64 + .4byte FieldSelect_State1_8C7C + .4byte FieldSelect_State2_8F64 gIntroStateFuncs:: @ 0x080792CC - .4byte sub_929C - .4byte sub_9348 - .4byte sub_9370 - .4byte sub_938C - .4byte sub_93D0 + .4byte Intro_State0_929C + .4byte Intro_State1_9348 + .4byte Intro_State2_9370 + .4byte Intro_State3_938C + .4byte Intro_State4_93D0 gIntroSceneFuncs:: @ 0x080792E0 .4byte sub_9498 @@ -826,25 +826,25 @@ gIntroSceneFuncs:: @ 0x080792E0 gHighScoresStateFuncs:: @ 0x080793E8 .4byte LoadHighScoreGraphics - .4byte sub_D20C - .4byte sub_D308 - .4byte sub_D4B8 - .4byte sub_D664 - .4byte sub_D9F8 - .4byte sub_DA20 - .4byte sub_DB70 - .4byte sub_DBF4 - .4byte sub_DB4C - .4byte sub_DCF0 - .4byte sub_DD4C - .4byte sub_E0EC - .4byte sub_E230 - .4byte sub_E390 + .4byte HighScore_State1_D20C + .4byte HighScore_State2_D308 + .4byte HighScore_State3_D4B8 + .4byte HighScore_State4_D664 + .4byte HighScore_State5_D9F8 + .4byte HighScore_State6_DA20 + .4byte HighScore_State7_DB70 + .4byte HighScore_State8_DBF4 + .4byte HighScore_State9_DB4C + .4byte HighScore_State10_DCF0 + .4byte HighScore_State11_DD4C + .4byte HighScore_State12_E0EC + .4byte HighScore_State13_E230 + .4byte HighScore_State14_E390 gIdleHighScoresStateFuncs:: @ 0x08079424 - .4byte sub_DD70 - .4byte sub_DF68 - .4byte sub_E0C4 + .4byte IdleHighScore_State0_DD70 + .4byte IdleHighScore_State1_DF68 + .4byte IdleHighScore_State2_E0C4 gDefaultHighScores:: @ 0x08079430 .incbin "baserom.gba", 0x79430, 0x180 @@ -1185,10 +1185,10 @@ gGravityDeltas_Light:: @ 0x08137910 .2byte 1, 0, 0, 0 gIdlePinballGameStateFuncs:: @ 0x08137918 - .4byte sub_19048 - .4byte sub_19190 - .4byte sub_4ABC8 - .4byte sub_19288 + .4byte PinballGameIdle0_19048 + .4byte PinballGameIdle1_19190 + .4byte PinballGame_State2_4ABC8 @shared with main game mode + .4byte PinballGameIdle3_19288 gUnknown_08137928:: @ 0x08137928 .incbin "baserom.gba", 0x137928, 0x1C @@ -1263,10 +1263,10 @@ gUnknown_08137E00:: @ 0x08137E00 .incbin "baserom.gba", 0x137E00, 0x4 gPinballGameStateFuncs:: @ 0x08137E04 - .4byte sub_49ED4 @ called once upon loading the field - .4byte sub_4AAD8 @ called once every frame while playing - .4byte sub_4ABC8 @ called once on game over (losing all balls) - .4byte sub_4B20C @ called once after game over? + .4byte PinballGame_State0_49ED4 @ called once upon loading the field + .4byte PinballGame_State1_4AAD8 @ called once every frame while playing + .4byte PinballGame_State2_4ABC8 @ called once on game over (losing all balls) + .4byte PinballGame_State3_4B20C @ called once after game over? gUnknown_08137E14:: @ 0x08137E14 .incbin "baserom.gba", 0x137E14, 0x100 @@ -2065,8 +2065,8 @@ gUnknown_08527EFE:: @ 0x08527EFE gOptionsStateFuncs:: @ 0x08527F08 .4byte Options_LoadGraphics .4byte Options_HandleInput - .4byte sub_51C3C - .4byte sub_51C60 + .4byte Options_State2_51C3C + .4byte Options_State3_51C60 gSpeciesRSToCryId:: @ 0x08527F18 .incbin "baserom.gba", 0x527F18, 0x110 @@ -2796,9 +2796,13 @@ gUnknown_086ACDF4:: @ 0x086ACDF4 .2byte 0x0000, 0x00F0, 0x008C, 0x00C8 .2byte 0,0,0,0,0,0,0,0 -gUnknown_086ACE0C:: @ 0x086ACE0C - .4byte sub_14E08, sub_16090, sub_171C8, sub_176B0; - .4byte sub_17F28, sub_18324, sub_187F4, sub_18B50; +@ suspected as board level colision detection logic; one per board; +@ similar contents for boards decompiled. +BoardCollisionFuncts_086ACE0C:: @ 0x086ACE0C + .4byte COLLISION_CHECK_RUBY_14E08, COLLISION_CHECK_SAPPHIRE_16090; + .4byte COLLISION_CHECK_DUSCLOPS_171C8, COLLISION_CHECK_KECLEON_176B0; + .4byte COLLISION_CHECK_KYOGRE_17F28, COLLISION_CHECK_GROUDON_18324; + .4byte COLLISION_CHECK_RAYQUAZA_187F4, COLLISION_CHECK_SPHEAL_18B50; gUnknown_086ACE2C:: @ 0x086ACE2C .incbin "baserom.gba", 0x6ACE2C, 0x34 @@ -3229,34 +3233,34 @@ gMainFieldSpriteGroups:: @ 0x086B02CC gBonusFieldSpriteGroups:: @ 0x086B04AC .incbin "baserom.gba", 0x6B04AC, 0x2D0 -gUnknown_086B077C:: @ 0x086B077C - .4byte sub_47100, sub_47160 - .4byte sub_4D6C4, sub_4D960 - .4byte sub_4D6C4, sub_4DBFC - .4byte sub_19A20, sub_19B10 - .4byte sub_326F4, sub_3276C - .4byte DuskullBonus_Setup, sub_33130 - .4byte sub_35860, sub_35AA4 - .4byte sub_383E4, sub_3869C - .4byte sub_3B120, sub_3B49C - .4byte sub_3E79C, sub_3EB2C - .4byte sub_42E48, sub_43228 - .4byte sub_19304, sub_19490 - .4byte sub_19304, sub_19734 - .4byte sub_11B9C, sub_11C98 - .4byte sub_11B9C, sub_11F88 - .4byte sub_1332C, sub_1333C - .4byte nullsub_19, sub_12524 - .4byte nullsub_19, sub_12BF8 - .4byte sub_4CEA8, sub_4CEB4 - .4byte sub_50848, sub_50918 - .4byte sub_50AD4, sub_50B80 - .4byte sub_50D48, sub_50DB8 - .4byte sub_50DE0, nullsub_20 - .4byte sub_50F04, sub_50FAC - .4byte sub_50FD4, sub_51068 - .4byte sub_51090, sub_51128 - .4byte sub_51150, sub_511F8 +BoardProcPairs_086B077C:: @ 0x086B077C + .4byte AllBoardProcess_1A_47100, AllBoardProcess_1B_47160 + .4byte AllBoardProcess_2A_4D6C4, MainBoardProcess_2B_4D960 + .4byte AllBoardProcess_2A_4D6C4, BonusBoardProcess_2B_4DBFC + .4byte RubyBoardProcess_3A_19A20, RubyBoardProcess_3B_19B10 + .4byte SapphireBoardProcess_3A_326F4, SapphireBoardProcess_3B_3276C + .4byte DuskullBonus_Setup, DusclopsBoardProcess_3B_33130 + .4byte KecleonBoardProcess_3A_35860, KecleonBoardProcess_3B_35AA4 + .4byte KyogreBoardProcess_3A_383E4, KyogreBoardProcess_3B_3869C + .4byte GroudonBoardProcess_3A_3B120, GroudonBoardProcess_3B_3B49C + .4byte RayquazaBoardProcess_3A_3E79C, RayquazaBoardProcess_3B_3EB2C + .4byte SphealBoardProcess_3A_42E48, SphealBoardProcess_3B_43228 + .4byte AllBoardProcess_4A_19304, MainBoardProcess_4B_19490 + .4byte AllBoardProcess_4A_19304, BonusBoardProcess_4B_19734 + .4byte AllBoardProcess_5A_11B9C, MainBoardProcess_5B_11C98 + .4byte AllBoardProcess_5A_11B9C, BonusBoardProcess_5B_11F88 + .4byte AllBoardProcess_6A_4CEA8, AllBoardProcess_6B_1333C + .4byte nullsub_19, MainBoardProcess_7B_12524 + .4byte nullsub_19, BonusBoardProcess_7B_12BF8 + .4byte AllBoardProcess_8A_4CEA8, AllBoardProcess_8B_4CEB4 + .4byte RubyBoardProcess_0A_50848, RubyBoardProcess_0B_50918 + .4byte SapphireBoardProcess_0A_50AD4, SapphireBoardProcess_0B_50B80 + .4byte DusclopsBoardProcess_0A_50D48, DusclopsBoardProcess_0B_50DB8 + .4byte KecleonBoardProcess_0A_50DE0, nullsub_20 + .4byte KyogreBoardProcess_0A_50F04, KyogreBoardProcess_0B_50FAC + .4byte GroudonBoardProcess_0A_50FD4, GroudonBoardProcess_0B_51068 + .4byte RayquazaBoardProcess_0A_51090, RayquazaBoardProcess_0B_51128 + .4byte SphealBoardProcess_0A_51150, SphealBoardProcess_0B_511F8 .4byte nullsub_19, nullsub_19 gUnknown_086B085C:: @ 0x086B085C diff --git a/include/constants/bg_music.h b/include/constants/bg_music.h index 46b0bde..51f8a67 100644 --- a/include/constants/bg_music.h +++ b/include/constants/bg_music.h @@ -281,7 +281,7 @@ #define SE_UNKNOWN_0x147 0x147 // SE174 Peliper drops ball (Same as SE39) #define SE_UNKNOWN_0x148 0x148 // SE175 *Latch* #define SE_UNKNOWN_0x149 0x149 // SE176 *Double Step* -#define SE_UNKNOWN_0x14A 0x14A // SE178 Slots Prize Awarded +#define SE_UNKNOWN_0x14A 0x14A // SE178 High Score Earned #define SE_UNKNOWN_0x14B 0x14B // SE179 Duplicate of 36 #define SE_UNKNOWN_0x14C 0x14C // SE177 *rumble* diff --git a/include/functions.h b/include/functions.h index fa66e6e..71f7dc7 100644 --- a/include/functions.h +++ b/include/functions.h @@ -85,8 +85,8 @@ void SetMatrixScale(s16 xScale, s16 yScale, s16 matrixNum); extern void BonusFieldSelectMain(void); extern void LoadBonusFieldSelectGraphics(void); extern void sub_2710(void); -extern void sub_2768(void); -extern void sub_2990(void); +extern void BonusFieldSelect_State1_2768(void); +extern void BonusFieldSelect_State2_2990(void); extern void sub_29C8(void); // src/ereader.c @@ -94,14 +94,14 @@ extern void sub_29C8(void); extern void EReaderMain(void); extern void LoadEReaderGraphics(void); extern void sub_2DF0(void); -extern void sub_2E40(void); -extern void sub_2FC0(void); -extern void sub_304C(void); -extern void sub_3208(void); -extern void sub_33A0(void); -extern void sub_343C(void); -extern void sub_35C8(void); -extern void sub_374C(void); +extern void Ereader_State1_2E40(void); +extern void Ereader_State2_2FC0(void); +extern void Ereader_State3_304C(void); +extern void Ereader_State4_3208(void); +extern void Ereader_State5_33A0(void); +extern void Ereader_State6_343C(void); +extern void Ereader_State7_33C8(void); +extern void Ereader_State8_374C(void); extern void sub_377C(void); extern void sub_37B4(s8); extern void sub_3828(s8, s8); @@ -117,33 +117,33 @@ extern s16 sub_3CD8(void); extern void FieldSelectMain(void); extern void LoadFieldSelectGraphics(void); -extern void sub_8C7C(void); -extern void sub_8F64(void); +extern void FieldSelect_State1_8C7C(void); +extern void FieldSelect_State2_8F64(void); // src/high_scores.s extern void HighScoresMain(void); extern void IdleHighScoresMain(void); extern void LoadHighScoreGraphics(void); extern void sub_CFD4(void); -extern void sub_D20C(void); -extern void sub_D308(void); -extern void sub_D4B8(void); +extern void HighScore_State1_D20C(void); +extern void HighScore_State2_D308(void); +extern void HighScore_State3_D4B8(void); // asm/high_scores.s -extern void sub_D664(void); -extern void sub_D9F8(void); -//extern ? sub_DB4C(); -//extern ? sub_DB70(); -//extern ? sub_DBF4(); -//extern ? sub_DCF0(); -//extern ? sub_DD4C(); -//extern ? sub_DD70(); +extern void HighScore_State4_D664(void); +extern void HighScore_State5_D9F8(void); +//extern ? HighScore_State9_DB4C(); +//extern ? HighScore_State7_DB70(); +//extern ? HighScore_State8_DBF4(); +//extern ? HighScore_State10_DCF0(); +//extern ? HighScore_State11_DD4C(); +//extern ? IdleHighScore_State0_DD70(); extern void sub_DEB4(void); -//extern ? sub_E0C4(); -//extern ? sub_E0EC(); -//extern ? sub_E230(); -//extern ? sub_E390(); +//extern ? IdleHighScore_State2_E0C4(); +//extern ? HighScore_State12_E0EC(); +//extern ? HighScore_State13_E230(); +//extern ? HighScore_State14_E390(); extern void sub_E3A8(void); extern void sub_E464(void); extern void sub_E860(void); @@ -181,11 +181,11 @@ extern void PrintChar(u16 glyph, u16 color, int x, int y, int arg4, int arg5); // src/intro.c extern void IntroMain(void); -extern void sub_929C(void); -extern void sub_9348(void); -extern void sub_9370(void); -extern void sub_938C(void); -extern void sub_93D0(void); +extern void Intro_State0_929C(void); +extern void Intro_State1_9348(void); +extern void Intro_State2_9370(void); +extern void Intro_State3_938C(void); +extern void Intro_State4_93D0(void); extern void sub_93F8(void); extern void sub_9498(void); extern void sub_96A8(void); @@ -329,8 +329,8 @@ extern void sub_A2A8(void); //extern ? Options_LoadGraphics(); extern void Options_InitStates(void); //extern ? Options_HandleInput(); -//extern ? sub_51C3C(); -//extern ? sub_51C60(); +//extern ? Options_State2_51C3C(); +//extern ? Options_State3_51C60(); extern void sub_51C9C(void); extern void sub_524BC(void); extern void sub_52528(void); @@ -342,16 +342,16 @@ extern void PokedexMain(void); //extern ? LoadPokedexGraphics(); extern void sub_3FAC(void); //extern ? Pokedex_HandleListInput(); -//extern ? sub_43D4(); -//extern ? sub_4428(); -//extern ? sub_45A4(); -//extern ? sub_4860(); +//extern ? Pokedex_State2_43D4(); +//extern ? Pokedex_State3_4428(); +//extern ? Pokedex_State5_45A4(); +//extern ? Pokedex_State4_4860(); //extern ? Pokedex_LinkSetup(); -//extern ? sub_49D0(); -//extern ? sub_4B10(); -//extern ? sub_4B34(); -//extern ? sub_4BB4(); -//extern ? sub_4C80(); +//extern ? Pokedex_State7_49D0(); +//extern ? Pokedex_State10_4B10(); +//extern ? Pokedex_State8_4B34(); +//extern ? Pokedex_State9_4BB4(); +//extern ? Pokedex_State11_4C80(); //extern ? Pokedex_ReturnToTitle(); //extern ? sub_71DC(); extern void sub_8974(s16); @@ -370,11 +370,11 @@ extern void ClearSomeArray(void); // asm/rom_11B9C.s -//extern ? sub_11B9C(); +//extern ? AllBoardProcess_5A_11B9C(); extern void sub_11C14(s16); -//extern ? sub_11C98(); -extern void sub_1332C(); -extern void sub_1333C(); +//extern ? MainBoardProcess_5B_11C98(); +extern void AllBoardProcess_6A_4CEA8(); +extern void AllBoardProcess_6B_1333C(); extern u16 sub_13824(struct Vector16*); extern void sub_13B28(struct Vector16*, struct Vector16*, s16); extern void sub_13D24(u16, struct Vector16*, struct Vector16*); @@ -385,44 +385,44 @@ extern u16 sub_14740(struct Vector16*, u16*); extern void sub_1493C(void); extern u16 sub_14AF4(struct Vector16 r0, s16 r1, s16 *r2 /* s16 or u16 */, s16 r3); //extern ? sub_14B84(); -//extern ? sub_14E08(); +//extern ? COLLISION_CHECK_RUBY_14E08(); //extern ? sub_15054(); //extern ? sub_153CC(); -//extern ? sub_16090(); +//extern ? COLLISION_CHECK_SAPPHIRE_16090(); //extern ? sub_162B8(); //extern ? sub_1642C(); -//extern ? sub_171C8(); +//extern ? COLLISION_CHECK_DUSCLOPS_171C8(); //extern ? sub_173FC(); extern void sub_17634(u8); -//extern ? sub_176B0(); +//extern ? COLLISION_CHECK_KECLEON_176B0(); extern void sub_17898(struct Vector16 *, u16 *, u8 *); extern void sub_179D0(u8, u16 *, u16 *); extern void sub_17C1C(struct Vector16 *); -//extern ? sub_17F28(); +//extern ? COLLISION_CHECK_KYOGRE_17F28(); extern void sub_18180(struct Vector16 *, u16 *, u8 *); extern void sub_182B4(u8, u16 *, u16 *); -//extern ? sub_18324(); +//extern ? COLLISION_CHECK_GROUDON_18324(); extern void sub_1857C(struct Vector16 *, u16 *, u8 *); extern void sub_18784(u8, u16 *, u16 *); -extern s16 sub_187F4(struct Vector16*, u16*); +extern s16 COLLISION_CHECK_RAYQUAZA_187F4(struct Vector16*, u16*); extern void sub_18A4C(struct Vector16*, u16*, u8*); extern void sub_18AE0(u8, u16*, u16*); -extern s16 sub_18B50(struct Vector16*, u16*); +extern s16 COLLISION_CHECK_SPHEAL_18B50(struct Vector16*, u16*); extern void sub_18DAC(struct Vector16*, u16*, u8*); extern void sub_18F38(u8, u16*, u16*); extern void IdlePinballGameMain(); -extern void sub_19048(void);//gMain.subState = 0 -extern void sub_19190(void);//gMain.subState = 1 -extern void sub_4ABC8(void);//gMain.subState = 2 -extern void sub_19288(void);//gMain.subState = 3 -//extern ? sub_19304(); +extern void PinballGameIdle0_19048(void);//gMain.subState = 0 +extern void PinballGameIdle1_19190(void);//gMain.subState = 1 +extern void PinballGame_State2_4ABC8(void);//gMain.subState = 2 +extern void PinballGameIdle3_19288(void);//gMain.subState = 3 +//extern ? AllBoardProcess_4A_19304(); extern void sub_1931C(struct Vector16 arg0); -//extern ? sub_19490(); +//extern ? MainBoardProcess_4B_19490(); extern void sub_195C4(void); -extern void sub_19734(void); +extern void BonusBoardProcess_4B_19734(void); extern void sub_19894(void); -//extern ? sub_19A20(); -//extern ? sub_19B10(); +//extern ? RubyBoardProcess_3A_19A20(); +//extern ? RubyBoardProcess_3B_19B10(); extern void sub_19B64(u8); extern void sub_19B90(void); //extern ? sub_19C04(); @@ -563,8 +563,8 @@ extern void sub_31BE8(s16); //extern ? BuildSpeciesWeightsForEggMode(); //extern ? PickSpeciesForEggMode(); -//extern ? sub_326F4(); -//extern ? sub_3276C(); +//extern ? SapphireBoardProcess_3A_326F4(); +//extern ? SapphireBoardProcess_3B_3276C(); extern void sub_327C0(); extern void sub_328C8(); //extern ? sub_32914(); @@ -574,7 +574,7 @@ extern void sub_329F4(); extern void sub_32B74(); extern void sub_32BE4(); //extern ? DuskullBonus_Setup(); -//extern ? sub_33130(); +//extern ? DusclopsBoardProcess_3B_33130(); extern void sub_3342C(s16 index1, s16 index2); extern void sub_336E0(); extern void sub_340EC(); @@ -583,38 +583,38 @@ extern void sub_350F0(); extern void sub_351A8(); extern void sub_356A0(); extern void sub_357B8(void); -//extern ? sub_35860(); -//extern ? sub_35AA4(); +//extern ? KecleonBoardProcess_3A_35860(); +//extern ? KecleonBoardProcess_3B_35AA4(); //extern ? sub_35D54(); //extern ? sub_372B4(); //extern ? sub_3751C(); //extern ? sub_37850(); //extern ? sub_38218(); -//extern ? sub_383E4(); -//extern ? sub_3869C(); +//extern ? KyogreBoardProcess_3A_383E4(); +//extern ? KyogreBoardProcess_3B_3869C(); extern void sub_38A20(void); extern void sub_395D8(void); extern void sub_39A40(void); //extern ? sub_3A150(); extern void sub_3ADA0(void); extern void sub_3AE14(void); -//extern ? sub_3B120(); -//extern ? sub_3B49C(); +//extern ? GroudonBoardProcess_3A_3B120(); +//extern ? GroudonBoardProcess_3B_3B49C(); extern void sub_3B7C4(void); extern void sub_3C6E0(void); extern void sub_3CBC4(void); extern void sub_3E5D0(void); extern void sub_3E644(void); -//extern ? sub_3E79C(); -//extern ? sub_3EB2C(); +//extern ? RayquazaBoardProcess_3A_3E79C(); +//extern ? RayquazaBoardProcess_3B_3EB2C(); extern void sub_3EDF0(void); extern void sub_3FAE0(void); extern void sub_40288(void); extern void sub_41580(void); extern void sub_417F8(void); extern void sub_423D8(void); -//extern ? sub_42E48(); -//extern ? sub_43228(); +//extern ? SphealBoardProcess_3A_42E48(); +//extern ? SphealBoardProcess_3B_43228(); extern void sub_43500(void); extern void sub_4387C(void); extern void sub_44D58(void); @@ -626,8 +626,8 @@ extern void sub_45E90(void); extern void sub_467F4(void); extern void sub_46FD4(s16); extern void sub_47030(void); -//extern ? sub_47100(); -//extern ? sub_47160(); +//extern ? AllBoardProcess_1A_47100(); +//extern ? AllBoardProcess_1B_47160(); extern void sub_472E4(); extern void sub_47344(void); extern void sub_474F4(void); @@ -644,14 +644,14 @@ extern void sub_49A34(void); extern void sub_4ACF0(); extern void sub_4B000(); extern void sub_4B408(s16); -//extern ? sub_4CEA8(); -//extern ? sub_4CEB4(); -extern void sub_49ED4(void); +//extern ? AllBoardProcess_8A_4CEA8(); +//extern ? AllBoardProcess_8B_4CEB4(); +extern void PinballGame_State0_49ED4(void); //extern ? sub_4D3D0(); //extern ? sub_4D648(); -//extern ? sub_4D6C4(); -//extern ? sub_4D960(); -//extern ? sub_4DBFC(); +//extern ? AllBoardProcess_2A_4D6C4(); +//extern ? MainBoardProcess_2B_4D960(); +//extern ? BonusBoardProcess_2B_4DBFC(); //extern ? sub_4DFA0(); //extern ? sub_4E2F8(); //extern ? sub_4E468(); @@ -692,22 +692,22 @@ extern void sub_4F814(); //extern ? sub_506B0(); //extern ? sub_50710(); //extern ? sub_507D4(); -extern void sub_50848(void); -//extern ? sub_50918(); -extern void sub_50AD4(void); -//extern ? sub_50B80(); -extern void sub_50D48(void); -//extern ? sub_50DB8(); -extern void sub_50DE0(void); +extern void RubyBoardProcess_0A_50848(void); +//extern ? RubyBoardProcess_0B_50918(); +extern void SapphireBoardProcess_0A_50AD4(void); +//extern ? SapphireBoardProcess_0B_50B80(); +extern void DusclopsBoardProcess_0A_50D48(void); +//extern ? DusclopsBoardProcess_0B_50DB8(); +extern void KecleonBoardProcess_0A_50DE0(void); //extern ? nullsub_20(); -extern void sub_50F04(void); -//extern ? sub_50FAC(); -extern void sub_50FD4(void); -//extern ? sub_51068(); -extern void sub_51090(void); -//extern ? sub_51128(); -extern void sub_51150(void); -//extern ? sub_511F8(); +extern void KyogreBoardProcess_0A_50F04(void); +//extern ? KyogreBoardProcess_0B_50FAC(); +extern void GroudonBoardProcess_0A_50FD4(void); +//extern ? GroudonBoardProcess_0B_51068(); +extern void RayquazaBoardProcess_0A_51090(void); +//extern ? RayquazaBoardProcess_0B_51128(); +extern void SphealBoardProcess_0A_51150(void); +//extern ? SphealBoardProcess_0B_511F8(); // asm/rom_528AC.s diff --git a/include/global.h b/include/global.h index 0502558..d93392c 100644 --- a/include/global.h +++ b/include/global.h @@ -654,7 +654,7 @@ struct PinballGame /*0x1101*/u8 unk1101; /*0x1102*/u8 unk1102; /*0x1103*/u8 unk1103; - /*0x1104*/s8 unk1104; + /*0x1104*/s8 unk1104; //Pause Menu Pointer index /*0x1105*/u8 filler1105[0x1]; /*0x1106*/volatile u16 unk1106; /*0x1108*/volatile u16 unk1108; @@ -668,7 +668,7 @@ struct PinballGame /*0x1118*/u16 unk1118; /*0x111A*/u16 unk111A[OBJ_PLTT_SIZE / 0x20][0x10]; /*0x131A*/u8 filler131A[0x2]; - /*0x131C*/u32 unk131C; + /*0x131C*/u32 unk131C; //Time since paused /*0x1320*/s16 unk1320; /*0x1322*/s16 unk1322; /*0x1324*/s16 unk1324; @@ -765,7 +765,7 @@ extern struct SongHeader gUnknown_086A17D8; extern const s16 gUnknown_086ACDF4[9]; //Possibly only 4, with a gap? extern const s16 gUnknown_086ACDF4[9]; typedef s16 (*Unk86ACE0C)(struct Vector16*, u16*); -extern Unk86ACE0C gUnknown_086ACE0C[8]; +extern Unk86ACE0C BoardCollisionFuncts_086ACE0C[8]; extern struct Vector16 gUnknown_086ACE60[4]; extern struct Unk086ACE8C gUnknown_086ACE8C[13]; extern u16 gUnknown_086ACEF4[2]; diff --git a/include/main.h b/include/main.h index c244bb0..7514e9a 100644 --- a/include/main.h +++ b/include/main.h @@ -45,7 +45,18 @@ struct Main /*0x0C*/ u8 unkC; /*0x0D*/ u8 unkD; /*0x0E*/ u8 unkE; - /*0x0F*/ u8 unkF; + + // UnkF hold a Bitmask for the following: + // x1 mode start banner Evo/Catch/Travel, + // x2 paused, + // x4 debug mode, + // x8 Reset Ball (ball saver) + // x10 End of ball (lose life reset Ball), + // x20 end of game, + // x40 End of bonus with expired timer, + // x80 Bonus Score banner + // Most cause a board state transition once conditions are met. + /*0x0F*/ u8 unkF; /*0x10*/ u8 unk10; /*0x11*/ u8 unk11; /*0x12*/ u16 unk12; diff --git a/src/bonus_field_select.c b/src/bonus_field_select.c index f9a5220..d6acb06 100644 --- a/src/bonus_field_select.c +++ b/src/bonus_field_select.c @@ -97,7 +97,7 @@ void sub_2710(void) gUnknown_0201A4C0 = gMain_saveData.ballSpeed; } -void sub_2768(void) +void BonusFieldSelect_State1_2768(void) { sub_29C8(); switch (gBonusFieldSelectState) @@ -197,7 +197,7 @@ void sub_2768(void) } } -void sub_2990(void) +void BonusFieldSelect_State2_2990(void) { sub_FE04(sub_29C8); m4aMPlayAllStop(); diff --git a/src/ereader.c b/src/ereader.c index 3691e99..29623e6 100644 --- a/src/ereader.c +++ b/src/ereader.c @@ -101,7 +101,7 @@ void sub_2DF0(void) gUnknown_0200282D = 0; } -void sub_2E40(void) +void Ereader_State1_2E40(void) { if (gUnknown_0202C604 <= gUnknown_086A551A[gUnknown_0202AD90]) { gUnknown_0202A580++; @@ -149,7 +149,7 @@ void sub_2E40(void) DmaCopy16(3, gUnknown_03000000, (void*) VRAM + 0x4000, 0x3000); } -void sub_2FC0(void) +void Ereader_State2_2FC0(void) { gUnknown_0202C5A0++; if (gUnknown_0202C5A0 > gUnknown_086A550C[gUnknown_0201B174]) { @@ -169,7 +169,7 @@ void sub_2FC0(void) sub_3AB4(); } -void sub_304C(void) +void Ereader_State3_304C(void) { s32 index; u16 temp; @@ -234,7 +234,7 @@ void sub_304C(void) } } -void sub_3208(void) +void Ereader_State4_3208(void) { gUnknown_0201A44C++; if (8 < gUnknown_0201A44C) { @@ -287,7 +287,7 @@ void sub_3208(void) DmaCopy16(3, gUnknown_03000000, (void*) VRAM + 0x4000, 0x3000); } -void sub_33A0(void) +void Ereader_State5_33A0(void) { u16 temp; sub_3AB4(); @@ -317,7 +317,7 @@ void sub_33A0(void) gUnknown_0201A44C++; } -void sub_343C(void) +void Ereader_State6_343C(void) { ResetSomeGraphicsRelatedStuff(); REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_FORCED_BLANK; @@ -354,7 +354,7 @@ void sub_343C(void) gMain.subState = 7; } -void sub_35C8(void) +void Ereader_State7_33C8(void) { if (gUnknown_0202C604 <= gUnknown_086A551A[gUnknown_0202AD90]) { gUnknown_0202A580++; @@ -403,7 +403,7 @@ void sub_35C8(void) DmaCopy16(3, gUnknown_03000000, (void*) VRAM + 0x4000, 0x3000); } -void sub_374C(void) +void Ereader_State8_374C(void) { sub_02B4(); m4aMPlayAllStop(); diff --git a/src/field_select.c b/src/field_select.c index 4556480..4eaf718 100644 --- a/src/field_select.c +++ b/src/field_select.c @@ -93,7 +93,7 @@ static void sub_8C38(void) #define RESTART_GAME_BUTTONS (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON) -void sub_8C7C(void) +void FieldSelect_State1_8C7C(void) { sub_8F94(); if (JOY_HELD(RESTART_GAME_BUTTONS) == RESTART_GAME_BUTTONS) @@ -282,7 +282,7 @@ void sub_8C7C(void) } } -void sub_8F64(void) +void FieldSelect_State2_8F64(void) { sub_FE04(sub_8F94); m4aMPlayAllStop(); diff --git a/src/high_scores.c b/src/high_scores.c index 097e021..e32a339 100644 --- a/src/high_scores.c +++ b/src/high_scores.c @@ -198,7 +198,7 @@ void sub_CFD4(void) gMain.bgOffsets[2].xOffset = gUnknown_02002882; } -void sub_D20C(void) +void HighScore_State1_D20C(void) { u16 temp; switch(gUnknown_0202BED4) @@ -252,7 +252,7 @@ void sub_D20C(void) sub_E860(); } -void sub_D308(void) +void HighScore_State2_D308(void) { if(!gUnknown_02002858.unk1A) { @@ -319,7 +319,7 @@ void sub_D308(void) DmaCopy16(3, gUnknown_03005C00, 0x6000000, 0x1000); } -void sub_D4B8(void) +void HighScore_State3_D4B8(void) { sub_E464(); if(!(gMain.systemFrameCount % 0xC)) @@ -410,7 +410,7 @@ void sub_D4B8(void) gMain.bgOffsets[2].xOffset = gUnknown_02002882; } -void sub_D664(void) +void HighScore_State4_D664(void) { int i, j, k; @@ -540,7 +540,7 @@ void sub_D664(void) gUnknown_02002858.unk20--; } -void sub_D9F8(void) +void HighScore_State5_D9F8(void) { sub_19B4(); sub_E908(); @@ -549,7 +549,7 @@ void sub_D9F8(void) gMain.subState = 6; } -void sub_DA20(void) +void HighScore_State6_DA20(void) { sub_E464(); if (JOY_NEW(B_BUTTON)) @@ -595,7 +595,7 @@ void sub_DA20(void) } } -void sub_DB4C(void) +void HighScore_State9_DB4C(void) { if (++gUnknown_0201A444 > 2) { @@ -604,7 +604,7 @@ void sub_DB4C(void) } } -void sub_DB70(void) +void HighScore_State7_DB70(void) { int i, j; @@ -630,7 +630,7 @@ void sub_DB70(void) } } -void sub_DBF4(void) +void HighScore_State8_DBF4(void) { int i, j, k; @@ -672,7 +672,7 @@ void sub_DBF4(void) gUnknown_02002858.unk22++; } -void sub_DCF0(void) +void HighScore_State10_DCF0(void) { sub_E464(); if (JOY_NEW(A_BUTTON)) @@ -694,7 +694,7 @@ void sub_DCF0(void) } } -void sub_DD4C(void) +void HighScore_State11_DD4C(void) { sub_02B4(); m4aMPlayAllStop(); @@ -703,7 +703,7 @@ void sub_DD4C(void) SetMainGameState(STATE_TITLE); } -void sub_DD70(void) +void IdleHighScore_State0_DD70(void) { ResetSomeGraphicsRelatedStuff(); REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_FORCED_BLANK; @@ -755,7 +755,7 @@ void sub_DEB4(void) gMain.bgOffsets[2].xOffset = gUnknown_02002882; } -void sub_DF68(void) +void IdleHighScore_State1_DF68(void) { switch (gUnknown_02002858.unkA) { @@ -813,7 +813,7 @@ void sub_DF68(void) } } -void sub_E0C4(void) +void IdleHighScore_State2_E0C4(void) { sub_02B4(); m4aMPlayAllStop(); @@ -821,7 +821,7 @@ void sub_E0C4(void) SetMainGameState(gUnknown_02002858.unk24); } -void sub_E0EC(void) +void HighScore_State12_E0EC(void) { ResetSomeGraphicsRelatedStuff(); REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_FORCED_BLANK; @@ -846,7 +846,7 @@ void sub_E0EC(void) gMain.subState++; } -void sub_E230(void) +void HighScore_State13_E230(void) { switch (gUnknown_02002858.unkA) { @@ -908,7 +908,7 @@ void sub_E230(void) } } -void sub_E390(void) +void HighScore_State14_E390(void) { sub_02B4(); m4aMPlayAllStop(); diff --git a/src/intro.c b/src/intro.c index f659278..c0c4284 100644 --- a/src/intro.c +++ b/src/intro.c @@ -117,7 +117,7 @@ void IntroMain(void) gIntroStateFuncs[gMain.subState](); } -void sub_929C(void) +void Intro_State0_929C(void) { ResetSomeGraphicsRelatedStuff(); REG_DISPCNT = 0x80; @@ -138,7 +138,7 @@ void sub_929C(void) gMain.subState++; } -void sub_9348(void) +void Intro_State1_9348(void) { gUnknown_0202BF10++; if (gUnknown_0202BF10 > 0x78) @@ -148,14 +148,14 @@ void sub_9348(void) } } -void sub_9370(void) +void Intro_State2_9370(void) { sub_FF74(NULL); sub_0D10(); gMain.subState++; } -void sub_938C(void) +void Intro_State3_938C(void) { gIntroSceneFuncs[gIntroSceneIndex](); gUnknown_0202BF10++; @@ -163,7 +163,7 @@ void sub_938C(void) gMain.subState = 4; } -void sub_93D0(void) +void Intro_State4_93D0(void) { sub_02B4(); m4aMPlayAllStop(); @@ -173,6 +173,8 @@ void sub_93D0(void) SetMainGameState(STATE_TITLE); } + +// ? Main callback for intro state? void sub_93F8(void) { if (REG_DISPSTAT & DISPSTAT_VBLANK_INTR) diff --git a/src/options.c b/src/options.c index 60e91af..3f14b2b 100644 --- a/src/options.c +++ b/src/options.c @@ -11,7 +11,7 @@ enum OptionsState { OPTIONS_STATE_MAIN, OPTIONS_STATE_BGM_SELECT, - OPTIONS_STATE_SE_SELECT, + OPTIONS_STATE_SE_MENU_MOVE_0x67, OPTIONS_STATE_BUTTON_CONFIG_SELECT, OPTIONS_STATE_BUTTON_CONFIG_INPUT, }; @@ -242,7 +242,7 @@ void Options_HandleInput(void) break; case CURSOR_POS_SE: m4aSongNumStart(SE_UNKNOWN_0x65); - gOptionsData.stateMain = OPTIONS_STATE_SE_SELECT, + gOptionsData.stateMain = OPTIONS_STATE_SE_MENU_MOVE_0x67, gOptionsData.scollWaitFrames = 0; gOptionsData.unk30 = 1; if (gOptionsData.unk2E == 1) @@ -355,7 +355,7 @@ void Options_HandleInput(void) if (gOptionsData.scollWaitFrames > 0) gOptionsData.scollWaitFrames--; break; - case OPTIONS_STATE_SE_SELECT: + case OPTIONS_STATE_SE_MENU_MOVE_0x67: if (JOY_HELD(DPAD_LEFT)) { if (gOptionsData.scollWaitFrames == 0) @@ -501,7 +501,7 @@ void Options_HandleInput(void) sub_11FC(); } -void sub_51C3C(void) +void Options_State2_51C3C(void) { sub_111C(); if (sub_1170()) @@ -511,7 +511,7 @@ void sub_51C3C(void) } } -void sub_51C60(void) +void Options_State3_51C60(void) { gMain_saveData.rumbleEnabled = gOptionsData.rumbleEnabled; SaveFile_WriteToSram(); diff --git a/src/pinball_game_main.c b/src/pinball_game_main.c index 49ba324..f6589a4 100644 --- a/src/pinball_game_main.c +++ b/src/pinball_game_main.c @@ -15,11 +15,11 @@ struct Unk20028D8 void (*unk4)(void); }; -extern struct Unk20028D8 gUnknown_020028D8[9]; +extern struct Unk20028D8 CurrentBoardProcPairs_020028D8[9]; extern u8 gUnknown_0200FBB0[]; extern u8 gUnknown_020030A0[]; -extern const struct Unk20028D8 gUnknown_086B077C[]; +extern const struct Unk20028D8 BoardProcPairs_086B077C[]; extern const VoidFunc gUnknown_086B085C[]; extern struct SpriteGroup *gMainFieldSpriteGroups[][60]; extern struct SpriteGroup *gBonusFieldSpriteGroups[][30]; @@ -112,7 +112,7 @@ void PinballGameMain(void) gPinballGameStateFuncs[gMain.subState](); } -void sub_49ED4(void) +void PinballGame_State0_49ED4(void) { s16 i, j; s16 numRngAdvances; @@ -147,7 +147,7 @@ void sub_49ED4(void) sub_4A90C(); for (i = 0; i < 9; i++) - gUnknown_020028D8[i].unk0(); + CurrentBoardProcPairs_020028D8[i].unk0(); m4aMPlayAllStop(); sub_47110(); @@ -179,7 +179,7 @@ void sub_49ED4(void) sub_4A90C(); for (i = 0; i < 9; i++) - gUnknown_020028D8[i].unk0(); + CurrentBoardProcPairs_020028D8[i].unk0(); sub_47110(); break; @@ -202,7 +202,7 @@ void sub_49ED4(void) DmaCopy16(3, gUnknown_02031520.unk14.unk2C[0], (void *)OBJ_PLTT, OBJ_PLTT_SIZE); sub_4A90C(); for (i = 0; i < 9; i++) - gUnknown_020028D8[i].unk0(); + CurrentBoardProcPairs_020028D8[i].unk0(); sub_47110(); break; @@ -465,87 +465,87 @@ void sub_4A6A0(void) void sub_4A90C(void) { - gUnknown_020028D8[1] = gUnknown_086B077C[0]; - gUnknown_020028D8[8] = gUnknown_086B077C[18]; - gUnknown_020028D8[6] = gUnknown_086B077C[15]; + CurrentBoardProcPairs_020028D8[1] = BoardProcPairs_086B077C[0]; + CurrentBoardProcPairs_020028D8[8] = BoardProcPairs_086B077C[18]; + CurrentBoardProcPairs_020028D8[6] = BoardProcPairs_086B077C[15]; switch (gMain.selectedField) { case FIELD_RUBY: - gUnknown_020028D8[3] = gUnknown_086B077C[3]; - gUnknown_020028D8[7] = gUnknown_086B077C[16]; - gUnknown_020028D8[0] = gUnknown_086B077C[19]; - gUnknown_020028D8[4] = gUnknown_086B077C[11]; - gUnknown_020028D8[2] = gUnknown_086B077C[1]; - gUnknown_020028D8[5] = gUnknown_086B077C[13]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[3]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[16]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[19]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[11]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[1]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[13]; gMain.unk44 = gMainFieldSpriteGroups[gMain.selectedField]; break; case FIELD_SAPPHIRE: - gUnknown_020028D8[3] = gUnknown_086B077C[4]; - gUnknown_020028D8[7] = gUnknown_086B077C[16]; - gUnknown_020028D8[0] = gUnknown_086B077C[20]; - gUnknown_020028D8[4] = gUnknown_086B077C[11]; - gUnknown_020028D8[2] = gUnknown_086B077C[1]; - gUnknown_020028D8[5] = gUnknown_086B077C[13]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[4]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[16]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[20]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[11]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[1]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[13]; gMain.unk44 = gMainFieldSpriteGroups[gMain.selectedField]; break; case FIELD_DUSCLOPS: - gUnknown_020028D8[3] = gUnknown_086B077C[5]; - gUnknown_020028D8[7] = gUnknown_086B077C[17]; - gUnknown_020028D8[0] = gUnknown_086B077C[21]; - gUnknown_020028D8[4] = gUnknown_086B077C[12]; - gUnknown_020028D8[2] = gUnknown_086B077C[2]; - gUnknown_020028D8[5] = gUnknown_086B077C[14]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[5]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[17]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[21]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[12]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[2]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[14]; gMain.unk44 = gBonusFieldSpriteGroups[gMain.selectedField - FIELD_DUSCLOPS]; break; case FIELD_KECLEON: - gUnknown_020028D8[3] = gUnknown_086B077C[6]; - gUnknown_020028D8[7] = gUnknown_086B077C[17]; - gUnknown_020028D8[0] = gUnknown_086B077C[22]; - gUnknown_020028D8[4] = gUnknown_086B077C[12]; - gUnknown_020028D8[2] = gUnknown_086B077C[2]; - gUnknown_020028D8[5] = gUnknown_086B077C[14]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[6]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[17]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[22]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[12]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[2]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[14]; gMain.unk44 = gBonusFieldSpriteGroups[gMain.selectedField - FIELD_DUSCLOPS]; break; case FIELD_KYOGRE: - gUnknown_020028D8[3] = gUnknown_086B077C[7]; - gUnknown_020028D8[7] = gUnknown_086B077C[17]; - gUnknown_020028D8[0] = gUnknown_086B077C[23]; - gUnknown_020028D8[4] = gUnknown_086B077C[12]; - gUnknown_020028D8[2] = gUnknown_086B077C[2]; - gUnknown_020028D8[5] = gUnknown_086B077C[14]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[7]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[17]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[23]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[12]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[2]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[14]; gMain.unk44 = gBonusFieldSpriteGroups[gMain.selectedField - FIELD_DUSCLOPS]; break; case FIELD_GROUDON: - gUnknown_020028D8[3] = gUnknown_086B077C[8]; - gUnknown_020028D8[7] = gUnknown_086B077C[17]; - gUnknown_020028D8[0] = gUnknown_086B077C[24]; - gUnknown_020028D8[4] = gUnknown_086B077C[12]; - gUnknown_020028D8[2] = gUnknown_086B077C[2]; - gUnknown_020028D8[5] = gUnknown_086B077C[14]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[8]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[17]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[24]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[12]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[2]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[14]; gMain.unk44 = gBonusFieldSpriteGroups[gMain.selectedField - FIELD_DUSCLOPS]; break; case FIELD_RAYQUAZA: - gUnknown_020028D8[3] = gUnknown_086B077C[9]; - gUnknown_020028D8[7] = gUnknown_086B077C[17]; - gUnknown_020028D8[0] = gUnknown_086B077C[25]; - gUnknown_020028D8[4] = gUnknown_086B077C[12]; - gUnknown_020028D8[2] = gUnknown_086B077C[2]; - gUnknown_020028D8[5] = gUnknown_086B077C[14]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[9]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[17]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[25]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[12]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[2]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[14]; gMain.unk44 = gBonusFieldSpriteGroups[gMain.selectedField - FIELD_DUSCLOPS]; break; case FIELD_SPHEAL: - gUnknown_020028D8[3] = gUnknown_086B077C[10]; - gUnknown_020028D8[7] = gUnknown_086B077C[17]; - gUnknown_020028D8[0] = gUnknown_086B077C[26]; - gUnknown_020028D8[4] = gUnknown_086B077C[12]; - gUnknown_020028D8[2] = gUnknown_086B077C[2]; - gUnknown_020028D8[5] = gUnknown_086B077C[14]; + CurrentBoardProcPairs_020028D8[3] = BoardProcPairs_086B077C[10]; + CurrentBoardProcPairs_020028D8[7] = BoardProcPairs_086B077C[17]; + CurrentBoardProcPairs_020028D8[0] = BoardProcPairs_086B077C[26]; + CurrentBoardProcPairs_020028D8[4] = BoardProcPairs_086B077C[12]; + CurrentBoardProcPairs_020028D8[2] = BoardProcPairs_086B077C[2]; + CurrentBoardProcPairs_020028D8[5] = BoardProcPairs_086B077C[14]; gMain.unk44 = gBonusFieldSpriteGroups[gMain.selectedField - FIELD_DUSCLOPS]; break; } } -void sub_4AAD8(void) +void PinballGame_State1_4AAD8(void) { switch (gCurrentPinballGame->unk1D) { @@ -594,8 +594,9 @@ void sub_4AAD8(void) sub_11FC(); } -//gMain.subState = 2 -void sub_4ABC8(void) +//Note: Used by both the main game mode and the idle game mode +//gMain.subState = 2 in both. +void PinballGame_State2_4ABC8(void) { sub_111C(); if (sub_1170()) @@ -610,13 +611,13 @@ void sub_4ABEC(void) s16 i; UpdateButtonActionsFromJoy(); - gUnknown_020028D8[1].unk4(); + CurrentBoardProcPairs_020028D8[1].unk4(); if (gMain.unkE == 0 && !(gMain.unkF & 0x2)) { - gUnknown_020028D8[2].unk4(); - gUnknown_020028D8[0].unk4(); - gUnknown_020028D8[3].unk4(); - gUnknown_020028D8[4].unk4(); + CurrentBoardProcPairs_020028D8[2].unk4(); + CurrentBoardProcPairs_020028D8[0].unk4(); + CurrentBoardProcPairs_020028D8[3].unk4(); + CurrentBoardProcPairs_020028D8[4].unk4(); if (gMain.unkF) { if (!gCurrentPinballGame->unk1F) @@ -624,7 +625,7 @@ void sub_4ABEC(void) for (i = 0; i < 4; i++) { gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } @@ -639,7 +640,7 @@ void sub_4ABEC(void) for (i = 0; i < 4; i++) { gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); } } } @@ -648,14 +649,14 @@ void sub_4ABEC(void) for (i = 0; i < 4; i++) { gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } - gUnknown_020028D8[7].unk4(); - gUnknown_020028D8[8].unk4(); + CurrentBoardProcPairs_020028D8[7].unk4(); + CurrentBoardProcPairs_020028D8[8].unk4(); } sub_47030(); @@ -666,13 +667,13 @@ void sub_4ACF0(void) s16 i; sub_4B334(); - gUnknown_020028D8[1].unk4(); + CurrentBoardProcPairs_020028D8[1].unk4(); if (!(gMain.unkF & 0x2)) { - gUnknown_020028D8[2].unk4(); - gUnknown_020028D8[0].unk4(); - gUnknown_020028D8[3].unk4(); - gUnknown_020028D8[4].unk4(); + CurrentBoardProcPairs_020028D8[2].unk4(); + CurrentBoardProcPairs_020028D8[0].unk4(); + CurrentBoardProcPairs_020028D8[3].unk4(); + CurrentBoardProcPairs_020028D8[4].unk4(); if (gMain.unkF) { if (!gCurrentPinballGame->unk1F) @@ -680,7 +681,7 @@ void sub_4ACF0(void) for (i = 0; i < 4; i++) { gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } @@ -695,7 +696,7 @@ void sub_4ACF0(void) for (i = 0; i < 4; i++) { gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); } } } @@ -704,14 +705,14 @@ void sub_4ACF0(void) for (i = 0; i < 4; i++) { gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } - gUnknown_020028D8[7].unk4(); - gUnknown_020028D8[8].unk4(); + CurrentBoardProcPairs_020028D8[7].unk4(); + CurrentBoardProcPairs_020028D8[8].unk4(); } sub_47030(); @@ -734,14 +735,14 @@ void sub_4AE8C(void) s16 i; UpdateButtonActionsFromJoy(); - gUnknown_020028D8[1].unk4(); + CurrentBoardProcPairs_020028D8[1].unk4(); if (gMain.unkF & 0x2) return; - gUnknown_020028D8[0].unk4(); - gUnknown_020028D8[2].unk4(); - gUnknown_020028D8[3].unk4(); - gUnknown_020028D8[4].unk4(); + CurrentBoardProcPairs_020028D8[0].unk4(); + CurrentBoardProcPairs_020028D8[2].unk4(); + CurrentBoardProcPairs_020028D8[3].unk4(); + CurrentBoardProcPairs_020028D8[4].unk4(); if (gMain.unkF & ~0x40) { if (!gCurrentPinballGame->unk1F) @@ -751,7 +752,7 @@ void sub_4AE8C(void) gCurrentPinballGame->unk66 = 0; gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[0]; gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } @@ -774,7 +775,7 @@ void sub_4AE8C(void) gCurrentPinballGame->unk66 = 0; gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[0]; gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); } } } @@ -785,14 +786,14 @@ void sub_4AE8C(void) gCurrentPinballGame->unk66 = 0; gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[0]; gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } - gUnknown_020028D8[7].unk4(); - gUnknown_020028D8[8].unk4(); + CurrentBoardProcPairs_020028D8[7].unk4(); + CurrentBoardProcPairs_020028D8[8].unk4(); } void sub_4B000(void) @@ -802,10 +803,10 @@ void sub_4B000(void) sub_4B334(); if (!(gMain.unkF & 0x2)) { - gUnknown_020028D8[0].unk4(); - gUnknown_020028D8[2].unk4(); - gUnknown_020028D8[3].unk4(); - gUnknown_020028D8[4].unk4(); + CurrentBoardProcPairs_020028D8[0].unk4(); + CurrentBoardProcPairs_020028D8[2].unk4(); + CurrentBoardProcPairs_020028D8[3].unk4(); + CurrentBoardProcPairs_020028D8[4].unk4(); if (gMain.unkF & ~0x40) { if (!gCurrentPinballGame->unk1F) @@ -815,7 +816,7 @@ void sub_4B000(void) gCurrentPinballGame->unk66 = 0; gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[0]; gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } @@ -838,7 +839,7 @@ void sub_4B000(void) gCurrentPinballGame->unk66 = 0; gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[0]; gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); } } } @@ -849,14 +850,14 @@ void sub_4B000(void) gCurrentPinballGame->unk66 = 0; gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[0]; gCurrentPinballGame->unk1E = i; - gUnknown_020028D8[5].unk4(); - gUnknown_020028D8[6].unk4(); + CurrentBoardProcPairs_020028D8[5].unk4(); + CurrentBoardProcPairs_020028D8[6].unk4(); } } } - gUnknown_020028D8[7].unk4(); - gUnknown_020028D8[8].unk4(); + CurrentBoardProcPairs_020028D8[7].unk4(); + CurrentBoardProcPairs_020028D8[8].unk4(); } if ((gMain.systemFrameCount % 32) / 16 > 0) @@ -873,7 +874,7 @@ void sub_4B000(void) DmaCopy16(3, &gUnknown_03005C00[0x320], (void *)0x6002640, 0x40); } -void sub_4B20C(void) +void PinballGame_State3_4B20C(void) { gMain.unk36 = 0; sub_02B4(); @@ -1155,29 +1156,29 @@ void sub_4B678(u16 arg0) switch (gMain.selectedField) { case FIELD_RUBY: - sub_50848(); + RubyBoardProcess_0A_50848(); sub_4E9F0(gCurrentPinballGame->unk1A5); break; case FIELD_SAPPHIRE: - sub_50AD4(); + SapphireBoardProcess_0A_50AD4(); break; case FIELD_DUSCLOPS: - sub_50D48(); + DusclopsBoardProcess_0A_50D48(); break; case FIELD_KECLEON: - sub_50DE0(); + KecleonBoardProcess_0A_50DE0(); break; case FIELD_KYOGRE: - sub_50F04(); + KyogreBoardProcess_0A_50F04(); break; case FIELD_GROUDON: - sub_50FD4(); + GroudonBoardProcess_0A_50FD4(); break; case FIELD_RAYQUAZA: - sub_51090(); + RayquazaBoardProcess_0A_51090(); break; case FIELD_SPHEAL: - sub_51150(); + SphealBoardProcess_0A_51150(); break; } diff --git a/src/pokedex.c b/src/pokedex.c index e04f32f..380b3d5 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -352,7 +352,7 @@ void Pokedex_HandleListInput(void) DmaCopy16(3, gUnknown_03005C00, (void *)BG_SCREEN_ADDR(0), BG_SCREEN_SIZE); } -void sub_43D4(void) +void Pokedex_State2_43D4(void) { sub_5174(); gUnknown_0202A588 = 0; @@ -365,7 +365,7 @@ void sub_43D4(void) gMain.subState = POKEDEX_STATE_HANDLE_LIST_INPUT; } -void sub_4428(void) +void Pokedex_State3_4428(void) { int i; @@ -401,7 +401,7 @@ void sub_4428(void) } -void sub_45A4(void) +void Pokedex_State5_45A4(void) { u16 var0; @@ -532,7 +532,7 @@ void sub_45A4(void) sub_51FC(); } -void sub_4860(void) +void Pokedex_State4_4860(void) { s32 i; @@ -576,7 +576,7 @@ void Pokedex_LinkSetup(void) gMain.subState = POKEDEX_STATE_7; } -void sub_49D0(void) +void Pokedex_State7_49D0(void) { s16 var0; @@ -634,7 +634,7 @@ void sub_49D0(void) } } -void sub_4B10(void) +void Pokedex_State10_4B10(void) { gUnknown_0201A444++; @@ -644,7 +644,7 @@ void sub_4B10(void) } } -void sub_4B34(void) +void Pokedex_State8_4B34(void) { s32 iVar1; @@ -674,7 +674,7 @@ void sub_4B34(void) } } -void sub_4BB4(void) +void Pokedex_State9_4BB4(void) { s32 index; @@ -713,7 +713,7 @@ void sub_4BB4(void) gUnknown_0201B120 += 1; } -void sub_4C80(void) +void Pokedex_State11_4C80(void) { s32 i; diff --git a/src/rom_11B9C.c b/src/rom_11B9C.c index 33f33b8..5a63c30 100644 --- a/src/rom_11B9C.c +++ b/src/rom_11B9C.c @@ -4,8 +4,8 @@ #include "constants/fields.h" #include "m4a.h" -void sub_12524(void); -void sub_12BF8(void); +void MainBoardProcess_7B_12524(void); +void BonusBoardProcess_7B_12BF8(void); void sub_2AADC(void); extern const u8 gUnknown_08137E14[][0x20]; @@ -14,14 +14,14 @@ extern const u8 gUnknown_083BD36C[][0x200]; extern const u32 gUnknown_083BDF6C[][0x80]; extern const u32 gUnknown_083BF16C[][0x80]; -void sub_11B9C(void) +void AllBoardProcess_5A_11B9C(void) { s16 i; if (gMain.unk6 == 0) { gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[0]; sub_11C14(0); - sub_12524(); + MainBoardProcess_7B_12524(); } else { @@ -30,7 +30,7 @@ void sub_11B9C(void) gCurrentPinballGame->ball = &gCurrentPinballGame->unk1334[i]; sub_11C14(i); } - sub_12BF8(); + BonusBoardProcess_7B_12BF8(); } } @@ -79,7 +79,7 @@ extern const u16 gGravityDeltas_Light[4]; unk132c->positionQ8.y += velocity.y; \ } -void sub_11C98(void) +void MainBoardProcess_5B_11C98(void) { struct Vector16 velocity; struct BallState *unk132c; @@ -164,7 +164,7 @@ void sub_11C98(void) unk132c->unkA += unk132c->unk6; } -void sub_11F88(void) +void BonusBoardProcess_5B_11F88(void) { struct Vector16 velocity; struct BallState *unk132c; @@ -285,7 +285,7 @@ void sub_11F88(void) unk132c->unkA += unk132c->unk6; } -void sub_12524(void) +void MainBoardProcess_7B_12524(void) { s16 i; struct OamDataSimple *oam; @@ -506,7 +506,7 @@ void sub_12524(void) } } -void sub_12BF8() +void BonusBoardProcess_7B_12BF8() { s16 i; s16 r5; diff --git a/src/rom_1332C.c b/src/rom_1332C.c index e4d4dbd..341f87e 100644 --- a/src/rom_1332C.c +++ b/src/rom_1332C.c @@ -10,12 +10,12 @@ u16 sub_14488(struct Vector16*, struct Vector16); void sub_14B84(u32 r0, s16 r1, struct Vector16 *r2, u16 r3); -void sub_1332C() +void AllBoardProcess_6A_4CEA8() { gCurrentPinballGame->unk26 = 60; } -void sub_1333C() +void AllBoardProcess_6B_1333C() { struct Vector16 var0; struct Vector16 var1; diff --git a/src/rom_13D24.c b/src/rom_13D24.c index 7fcc695..780d1d2 100644 --- a/src/rom_13D24.c +++ b/src/rom_13D24.c @@ -303,7 +303,7 @@ u16 sub_14488(struct Vector16* arg0, struct Vector16 arg1) { gCurrentPinballGame->unk22 = 0; gCurrentPinballGame->unk23 = 0; - spC = gUnknown_086ACE0C[gMain.selectedField]; + spC = BoardCollisionFuncts_086ACE0C[gMain.selectedField]; do{ goto Lab_144; diff --git a/src/rom_17634.c b/src/rom_17634.c index dba7401..da60eb3 100644 --- a/src/rom_17634.c +++ b/src/rom_17634.c @@ -29,7 +29,7 @@ void sub_17634(u8 arg0) } } -s16 sub_176B0(struct Vector16 *arg0, u16 *arg1) +s16 COLLISION_CHECK_KECLEON_176B0(struct Vector16 *arg0, u16 *arg1) { struct Vector16 vec1; struct Vector16 vec2; @@ -440,7 +440,7 @@ void sub_17C1C(struct Vector16 *arg0) } } -s16 sub_17F28(struct Vector16 *arg0, u16 *arg1) +s16 COLLISION_CHECK_KYOGRE_17F28(struct Vector16 *arg0, u16 *arg1) { struct Vector16 vec1; struct Vector16 vec2; @@ -636,7 +636,7 @@ void sub_182B4(u8 arg0, u16 *arg1, u16 *arg2) } } -s16 sub_18324(struct Vector16 *arg0, u16 *arg1) +s16 COLLISION_CHECK_GROUDON_18324(struct Vector16 *arg0, u16 *arg1) { struct Vector16 vec1; struct Vector16 vec2; @@ -838,7 +838,7 @@ void sub_18784(u8 arg0, u16 *arg1, u16 *arg2) } //One known callsite is 080145D2 during the rayquaza bonus stage -s16 sub_187F4(struct Vector16 *arg0, u16 *arg1) +s16 COLLISION_CHECK_RAYQUAZA_187F4(struct Vector16 *arg0, u16 *arg1) { struct Vector16 vec1; struct Vector16 vec2; @@ -988,7 +988,7 @@ void sub_18AE0(u8 arg0, u16 *arg1, u16 *arg2) } } -s16 sub_18B50(struct Vector16 *arg0, u16 *arg1) +s16 COLLISION_CHECK_SPHEAL_18B50(struct Vector16 *arg0, u16 *arg1) { u16 sp0; u8 sp2; diff --git a/src/rom_19028.c b/src/rom_19028.c index 1555d3e..950e929 100644 --- a/src/rom_19028.c +++ b/src/rom_19028.c @@ -10,7 +10,7 @@ void IdlePinballGameMain(void) gIdlePinballGameStateFuncs[gMain.subState](); } -void sub_19048(void) +void PinballGameIdle0_19048(void) { s16 i; s16 unk30; @@ -52,7 +52,7 @@ void sub_19048(void) break; } - sub_49ED4(); + PinballGame_State0_49ED4(); switch (unk30LowerBits) { @@ -75,7 +75,7 @@ void sub_19048(void) gMain.unk30++; } -void sub_19190(void) +void PinballGameIdle1_19190(void) { u8 unk1D; @@ -126,7 +126,7 @@ void sub_19190(void) } } -void sub_19288(void) +void PinballGameIdle3_19288(void) { s16 i; @@ -146,10 +146,10 @@ void sub_19288(void) gMain.unk54 = 0; } -void sub_19304(void) +void AllBoardProcess_4A_19304(void) { if (gMain.selectedField >= FIELD_BONUS_START) - sub_19734(); + BonusBoardProcess_4B_19734(); } void sub_1931C(struct Vector16 arg0) @@ -188,7 +188,7 @@ void sub_1931C(struct Vector16 arg0) gCurrentPinballGame->unk13BC[1].unk8 = -1; } -void sub_19490(void) +void MainBoardProcess_4B_19490(void) { s16 i; @@ -296,7 +296,7 @@ void sub_195C4(void) } } -void sub_19734(void) +void BonusBoardProcess_4B_19734(void) { s16 i; s16 priority = 1; diff --git a/src/rom_19B64.c b/src/rom_19B64.c index 82133f6..5d95040 100644 --- a/src/rom_19B64.c +++ b/src/rom_19B64.c @@ -21,7 +21,7 @@ void sub_23E18(void); void sub_2C9A4(void); void sub_4E9F0(s8); -void sub_19A20(void) +void RubyBoardProcess_3A_19A20(void) { gCurrentPinballGame->catchModeArrows = 2; sub_1D5D8(); @@ -59,7 +59,7 @@ void sub_19A20(void) sub_31B30(); } -void sub_19B10(void) +void RubyBoardProcess_3B_19B10(void) { sub_19B90(); sub_19E10(); diff --git a/src/rom_31F6C.c b/src/rom_31F6C.c index f4ca8e0..f7596f4 100644 --- a/src/rom_31F6C.c +++ b/src/rom_31F6C.c @@ -330,7 +330,7 @@ void PickSpeciesForEggMode(void) gCurrentPinballGame->lastEggSpecies = gCurrentPinballGame->currentSpecies; } -void sub_326F4(void) +void SapphireBoardProcess_3A_326F4(void) { gCurrentPinballGame->catchModeArrows = 2; gCurrentPinballGame->unk1E5 = 0; @@ -353,7 +353,7 @@ void sub_326F4(void) sub_31B30(); } -void sub_3276C(void) +void SapphireBoardProcess_3B_3276C(void) { sub_19B90(); sub_327C0(); @@ -790,7 +790,7 @@ void DuskullBonus_Setup(void) DmaCopy16(3, (void *)gUnknown_081B36A4, (void *)0x05000320, 32); } -void sub_33130(void) +void DusclopsBoardProcess_3B_33130(void) { s16 temp; switch (gCurrentPinballGame->unk13) diff --git a/src/rom_356A0.c b/src/rom_356A0.c index 8041533..4843721 100644 --- a/src/rom_356A0.c +++ b/src/rom_356A0.c @@ -305,7 +305,7 @@ void sub_357B8(void) gCurrentPinballGame->unk6EE = 120; } -void sub_35860(void) +void KecleonBoardProcess_3A_35860(void) { s16 i; @@ -369,7 +369,7 @@ void sub_35860(void) DmaCopy16(3, gUnknown_081B36A4, (void *)0x05000320, 0x20); } -void sub_35AA4(void) +void KecleonBoardProcess_3B_35AA4(void) { sub_38218(); switch (gCurrentPinballGame->unk13) diff --git a/src/rom_49A34.c b/src/rom_49A34.c index ece0178..3faa9ad 100644 --- a/src/rom_49A34.c +++ b/src/rom_49A34.c @@ -652,7 +652,7 @@ void sub_38218(void) LoadSpriteSets(gUnknown_0202D880, 33, gMain.spriteGroups); } -void sub_383E4(void) +void KyogreBoardProcess_3A_383E4(void) { s16 i; @@ -729,7 +729,7 @@ void sub_383E4(void) DmaCopy16(3, gUnknown_081B36A4, (void *)0x05000320, 0x20); } -void sub_3869C(void) +void KyogreBoardProcess_3B_3869C(void) { switch (gCurrentPinballGame->unk13) { @@ -1965,7 +1965,7 @@ void sub_3AE14(void) } } -void sub_3B120(void) +void GroudonBoardProcess_3A_3B120(void) { s16 i; @@ -2067,7 +2067,7 @@ void sub_3B120(void) DmaCopy16(3, gUnknown_081B36A4, (void *)0x05000320, 0x20); } -void sub_3B49C(void) +void GroudonBoardProcess_3B_3B49C(void) { switch (gCurrentPinballGame->unk13) { @@ -3622,7 +3622,7 @@ void sub_3E644(void) } } -void sub_3E79C(void) +void RayquazaBoardProcess_3A_3E79C(void) { s16 i; s16 frame; @@ -3732,7 +3732,7 @@ void sub_3E79C(void) DmaCopy16(3, gUnknown_081B36A4, (void *)0x05000320, 0x20); } -void sub_3EB2C(void) +void RayquazaBoardProcess_3B_3EB2C(void) { switch (gCurrentPinballGame->unk13) { @@ -5695,7 +5695,7 @@ void sub_423D8(void) gMain.bgOffsets[3].yOffset += gCurrentPinballGame->unk518 / 4 + 224; } -void sub_42E48(void) +void SphealBoardProcess_3A_42E48(void) { s16 i; s16 frame; @@ -5801,7 +5801,7 @@ void sub_42E48(void) DmaCopy16(3, gUnknown_081B36A4, (void *)0x05000320, 0x20); } -void sub_43228(void) +void SphealBoardProcess_3B_43228(void) { switch (gCurrentPinballGame->unk13) { @@ -7496,7 +7496,7 @@ void sub_47030(void) gCurrentPinballGame->unk64 = r4; } -void sub_47100(void) +void AllBoardProcess_1A_47100(void) { gCurrentPinballGame->unkFC = 128; } @@ -7511,7 +7511,7 @@ void sub_47110(void) DmaCopy16(3, gUnknown_03005C00, (void *)0x06002000, 0x1000); } -void sub_47160(void) +void AllBoardProcess_1B_47160(void) { if (JOY_NEW(START_BUTTON) && gMain.mainState != STATE_GAME_IDLE && gCurrentPinballGame->unk1100 == 0) { @@ -7527,6 +7527,7 @@ void sub_47160(void) } } + //Game is paused if (gMain.unkF & 0x2) { if (JOY_NEW(DPAD_UP)) @@ -7565,6 +7566,7 @@ void sub_47160(void) sub_49A34(); } + //Game is not paused if (gMain.unkF == 0x0) { gCurrentPinballGame->unk740 = 0; @@ -8614,6 +8616,9 @@ void sub_48190(void) } } +// Pauses the game and saves the blend settings +// Also stops the BGM if it was playing before +// Sets the blend settings to a dimmed state void sub_495A0(void) { s16 i, j; @@ -8680,6 +8685,8 @@ void sub_495A0(void) sub_11F0(1); } +//Unpauses the game and restores the blend settings +//Also starts the BGM if it was playing before void sub_497BC(void) { gMain.blendControl = gCurrentPinballGame->unk1106; diff --git a/src/rom_50AD4.c b/src/rom_50AD4.c index 670782e..95f8607 100644 --- a/src/rom_50AD4.c +++ b/src/rom_50AD4.c @@ -1,7 +1,7 @@ #include "global.h" #include "main.h" -void sub_50AD4(void) +void SapphireBoardProcess_0A_50AD4(void) { s16 i; diff --git a/src/rom_50FAC.c b/src/rom_50FAC.c index 7246a82..595555b 100644 --- a/src/rom_50FAC.c +++ b/src/rom_50FAC.c @@ -1,7 +1,7 @@ #include "global.h" #include "main.h" -void sub_50B80(void) +void SapphireBoardProcess_0B_50B80(void) { s16 i; @@ -66,7 +66,7 @@ void sub_50B80(void) LoadSpriteSets(gUnknown_086B155C[gMain.selectedField].spriteSets, gUnknown_086B155C[gMain.selectedField].numSpriteSets, gMain.spriteGroups); } -void sub_50D48(void) +void DusclopsBoardProcess_0A_50D48(void) { s16 i; @@ -85,14 +85,14 @@ void sub_50D48(void) gMain.spriteGroups); } -void sub_50DB8(void) +void DusclopsBoardProcess_0B_50DB8(void) { LoadSpriteSets(gUnknown_086B155C[gMain.selectedField].spriteSets, gUnknown_086B155C[gMain.selectedField].numSpriteSets, gMain.spriteGroups); } -void sub_50DE0(void) +void KecleonBoardProcess_0A_50DE0(void) { s16 i; @@ -140,7 +140,7 @@ void sub_50DE0(void) void nullsub_20(void) {} -void sub_50F04() +void KyogreBoardProcess_0A_50F04() { s16 i; @@ -167,14 +167,14 @@ void sub_50F04() gMain.spriteGroups); } -void sub_50FAC(void) +void KyogreBoardProcess_0B_50FAC(void) { LoadSpriteSets(gUnknown_086B155C[gMain.selectedField].spriteSets, gUnknown_086B155C[gMain.selectedField].numSpriteSets, gMain.spriteGroups); } -void sub_50FD4(void) +void GroudonBoardProcess_0A_50FD4(void) { s16 i; @@ -199,14 +199,14 @@ void sub_50FD4(void) gMain.spriteGroups); } -void sub_51068(void) +void GroudonBoardProcess_0B_51068(void) { LoadSpriteSets(gUnknown_086B155C[gMain.selectedField].spriteSets, gUnknown_086B155C[gMain.selectedField].numSpriteSets, gMain.spriteGroups); } -void sub_51090(void) +void RayquazaBoardProcess_0A_51090(void) { s16 i; @@ -230,14 +230,14 @@ void sub_51090(void) gMain.spriteGroups); } -void sub_51128(void) +void RayquazaBoardProcess_0B_51128(void) { LoadSpriteSets(gUnknown_086B155C[gMain.selectedField].spriteSets, gUnknown_086B155C[gMain.selectedField].numSpriteSets, gMain.spriteGroups); } -void sub_51150(void) +void SphealBoardProcess_0A_51150(void) { s16 i; @@ -263,7 +263,7 @@ void sub_51150(void) gMain.spriteGroups); } -void sub_511F8(void) +void SphealBoardProcess_0B_511F8(void) { LoadSpriteSets(gUnknown_086B155C[gMain.selectedField].spriteSets, gUnknown_086B155C[gMain.selectedField].numSpriteSets, diff --git a/sym_ewram.txt b/sym_ewram.txt index fb80b4c..b5a6cb5 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -72,7 +72,7 @@ gUnknown_020028A8: @ 0x020028A8 .space 0x2 gUnknown_020028AA: @ 0x020028AA .space 0x2E -gUnknown_020028D8: @ 0x020028D8 +CurrentBoardProcPairs_020028D8: @ 0x020028D8 .space 0x48 gOptionsData: @ 0x02002920 .space 0x12