Stage 1 comprehension naming of functions for main.substate, board processes, and board specific collision (#150)
Some checks are pending
CI / build (push) Waiting to run

* context marking for some items

* Tag State related functions

* cleanup

* board proc pair names
This commit is contained in:
Retnuhytnuob 2025-08-12 07:31:53 -05:00 committed by GitHub
parent e79213d6e4
commit 2e155ddfdb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 451 additions and 426 deletions

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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*

View File

@ -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

View File

@ -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];

View File

@ -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;

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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)

View File

@ -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();

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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();

View File

@ -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)

View File

@ -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)

View File

@ -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;

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "main.h"
void sub_50AD4(void)
void SapphireBoardProcess_0A_50AD4(void)
{
s16 i;

View File

@ -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,

View File

@ -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