diff options
author | Cameron Hall <cameronghall@cox.net> | 2019-08-12 18:47:16 -0500 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2019-08-12 18:47:16 -0500 |
commit | 0648ededb9161e9f5fc4e0a38ae91c7bf14e6c0b (patch) | |
tree | c1ca88b5138d19eb5106f171c8ae77d4516e8b22 | |
parent | 93f755636be0dcf395ad86bcedc30cefb1fb369e (diff) |
more labeling
-rwxr-xr-x | asm/high_scores.s | 26 | ||||
-rwxr-xr-x | asm/options.s | 30 | ||||
-rw-r--r-- | include/functions.h | 2 | ||||
-rwxr-xr-x | include/global.h | 16 | ||||
-rwxr-xr-x | include/main.h | 15 | ||||
-rw-r--r-- | src/field_select.c | 32 | ||||
-rwxr-xr-x | src/main.c | 14 | ||||
-rw-r--r-- | src/options.c | 366 | ||||
-rw-r--r-- | src/rom_1068C.c | 6 | ||||
-rw-r--r-- | src/rom_528AC.c | 2 | ||||
-rwxr-xr-x | src/util.c | 4 | ||||
-rw-r--r-- | sym_ewram.txt | 2 |
12 files changed, 260 insertions, 255 deletions
diff --git a/asm/high_scores.s b/asm/high_scores.s index b82e058..ce16d73 100755 --- a/asm/high_scores.s +++ b/asm/high_scores.s @@ -5917,7 +5917,7 @@ _0800FDAA: _0800FDB4: adds r0, r7, #0 bl sub_1001C - bl sub_D74 + bl MainLoopIter cmp r7, #0x1f bne _0800FDE0 ldr r0, _0800FDCC @ =gUnknown_0201A920 @@ -5995,7 +5995,7 @@ _0800FE4C: _0800FE54: adds r0, r7, #0 bl sub_1001C - bl sub_D74 + bl MainLoopIter cmp r7, #0x1f bne _0800FE84 ldr r0, _0800FE80 @ =gUnknown_0201A920 @@ -6024,7 +6024,7 @@ _0800FE8C: cmp r7, #0x1f bls _0800FE4C bl sub_10528 - bl sub_D74 + bl MainLoopIter bl ClearGraphicsMemory add sp, #4 pop {r3} @@ -6092,7 +6092,7 @@ _0800FF18: _0800FF22: adds r0, r7, #0 bl sub_1001C - bl sub_D74 + bl MainLoopIter cmp r7, #0x1f bne _0800FF50 ldr r0, _0800FF38 @ =gUnknown_0201A920 @@ -6170,7 +6170,7 @@ _0800FFBA: _0800FFC2: adds r0, r7, #0 bl sub_1001C - bl sub_D74 + bl MainLoopIter cmp r7, #0x1f bne _0800FFF0 ldr r0, _0800FFEC @ =gUnknown_0201A920 @@ -6197,7 +6197,7 @@ _0800FFF8: lsrs r7, r0, #0x10 cmp r7, #0x1f bls _0800FFBA - bl sub_D74 + bl MainLoopIter add sp, #4 pop {r3} mov r8, r3 @@ -6770,12 +6770,12 @@ sub_10424: @ 0x08010424 movs r5, #0 strh r0, [r1, #0x16] strh r3, [r4] - bl sub_D74 + bl MainLoopIter movs r0, #8 strh r0, [r4] - bl sub_D74 + bl MainLoopIter strh r5, [r4] - bl sub_D74 + bl MainLoopIter strh r5, [r6] pop {r4, r5, r6} pop {r0} @@ -6805,13 +6805,13 @@ sub_10480: @ 0x08010480 orrs r0, r1 strh r0, [r2] strh r4, [r5] - bl sub_D74 + bl MainLoopIter movs r0, #8 strh r0, [r5] - bl sub_D74 + bl MainLoopIter movs r0, #0x10 strh r0, [r5] - bl sub_D74 + bl MainLoopIter mov r0, sp strh r4, [r0] ldr r1, _08010500 @ =0x040000D4 @@ -6838,7 +6838,7 @@ sub_10480: @ 0x08010480 strh r4, [r0] adds r0, #2 strh r4, [r0] - bl sub_D74 + bl MainLoopIter add sp, #4 pop {r4, r5} pop {r0} diff --git a/asm/options.s b/asm/options.s index 0ddc2e5..c31ae6d 100755 --- a/asm/options.s +++ b/asm/options.s @@ -14,7 +14,7 @@ sub_51C9C: @ 0x08051C9C sub sp, #0x8c ldr r0, _08051D38 @ =gUnknown_0200B3B8 mov r8, r0 - ldr r2, _08051D3C @ =gUnknown_02002920 + ldr r2, _08051D3C @ =gOptionsData movs r3, #4 ldrsh r1, [r2, r3] movs r0, #0xe6 @@ -78,7 +78,7 @@ _08051D1E: ldrb r0, [r0] cmp r0, #1 bne _08051D50 - ldr r6, _08051D3C @ =gUnknown_02002920 + ldr r6, _08051D3C @ =gOptionsData movs r7, #6 ldrsh r0, [r6, r7] cmp r0, #1 @@ -88,7 +88,7 @@ _08051D1E: b _08051D52 .align 2, 0 _08051D38: .4byte gUnknown_0200B3B8 -_08051D3C: .4byte gUnknown_02002920 +_08051D3C: .4byte gOptionsData _08051D40: .4byte gUnknown_0200B978 _08051D44: .4byte gUnknown_0200BAE8 _08051D48: .4byte gUnknown_0200293A @@ -178,7 +178,7 @@ _08051DCE: strh r0, [r6] ldr r7, _08051F6C @ =gUnknown_0200C948 strh r0, [r7] - ldr r5, _08051F70 @ =gUnknown_02002920 + ldr r5, _08051F70 @ =gOptionsData adds r0, r5, #0 adds r0, #0x30 ldrb r0, [r0] @@ -357,7 +357,7 @@ _08051EE2: movs r0, #0x48 ldr r6, [sp, #0x60] strh r0, [r6, #2] - ldr r7, _08051F70 @ =gUnknown_02002920 + ldr r7, _08051F70 @ =gOptionsData movs r1, #0xa ldrsh r0, [r7, r1] cmp r0, #0 @@ -369,7 +369,7 @@ _08051EE2: _08051F64: .4byte gUnknown_0200C890 _08051F68: .4byte gUnknown_0200B978 _08051F6C: .4byte gUnknown_0200C948 -_08051F70: .4byte gUnknown_02002920 +_08051F70: .4byte gOptionsData _08051F74: .4byte gUnknown_0200CA00 _08051F78: .4byte gUnknown_086BB9EC _08051F7C: .4byte gUnknown_0200B3B8 @@ -429,7 +429,7 @@ _08051FB2: movs r0, #0x48 ldr r2, _080520DC @ =gUnknown_0200B978 strh r0, [r2, #2] - ldr r3, _080520E0 @ =gUnknown_02002920 + ldr r3, _080520E0 @ =gOptionsData movs r4, #0xc ldrsh r0, [r3, r4] lsls r0, r0, #1 @@ -462,7 +462,7 @@ _08051FB2: strb r0, [r1] movs r7, #0 mov ip, r7 - ldr r0, _080520E0 @ =gUnknown_02002920 + ldr r0, _080520E0 @ =gOptionsData str r0, [sp, #0x68] movs r1, #0x54 str r1, [sp, #0x80] @@ -545,7 +545,7 @@ _080520D0: .4byte gOamBuffer _080520D4: .4byte 0xFFFFFE00 _080520D8: .4byte 0x000001FF _080520DC: .4byte gUnknown_0200B978 -_080520E0: .4byte gUnknown_02002920 +_080520E0: .4byte gOptionsData _080520E4: .4byte gUnknown_086BB9A8 _080520E8: mov r2, r8 @@ -825,7 +825,7 @@ _08052304: movs r0, #0xaa ldr r2, [sp, #0x64] strh r0, [r2, #2] - ldr r0, _080524AC @ =gUnknown_02002920 + ldr r0, _080524AC @ =gOptionsData adds r0, #0x2a ldrb r0, [r0] lsls r1, r0, #1 @@ -864,7 +864,7 @@ _08052304: ldr r3, _080524B0 @ =gUnknown_0200C948 strh r0, [r3, #2] strh r5, [r3, #4] - ldr r6, _080524AC @ =gUnknown_02002920 + ldr r6, _080524AC @ =gOptionsData adds r6, #0x2d mov sl, r6 adds r5, r3, #0 @@ -941,7 +941,7 @@ _0805236C: lsls r2, r2, #3 ldr r3, _08052494 @ =gOamBuffer adds r2, r2, r3 - ldr r5, _080524AC @ =gUnknown_02002920 + ldr r5, _080524AC @ =gOptionsData adds r5, #0x2f movs r1, #0 ldrsb r1, [r5, r1] @@ -1030,7 +1030,7 @@ _0805249C: .4byte 0x000003FF _080524A0: .4byte 0xFFFFFC00 _080524A4: .4byte 0x000001FF _080524A8: .4byte 0xFFFFFE00 -_080524AC: .4byte gUnknown_02002920 +_080524AC: .4byte gOptionsData _080524B0: .4byte gUnknown_0200C948 _080524B4: .4byte gUnknown_0200CA00 _080524B8: .4byte gMain @@ -1038,7 +1038,7 @@ _080524B8: .4byte gMain thumb_func_start sub_524BC sub_524BC: @ 0x080524BC push {r4, r5, lr} - ldr r1, _0805251C @ =gUnknown_02002920 + ldr r1, _0805251C @ =gOptionsData movs r2, #0x28 ldrsh r0, [r1, r2] adds r2, r1, #0 @@ -1088,7 +1088,7 @@ _08052514: pop {r0} bx r0 .align 2, 0 -_0805251C: .4byte gUnknown_02002920 +_0805251C: .4byte gOptionsData _08052520: .4byte gMain _08052524: .4byte 0x000003F7 diff --git a/include/functions.h b/include/functions.h index fb19977..9179ff2 100644 --- a/include/functions.h +++ b/include/functions.h @@ -31,7 +31,7 @@ s16 sub_C24(u16 arg0); s16 sub_C74(u16 arg0); void sub_CBC(void); void sub_D10(void); -void sub_D74(void); +void MainLoopIter(void); void DefaultMainCallback(void); // src/rom_3219C.c diff --git a/include/global.h b/include/global.h index 2a9b072..a42f1aa 100755 --- a/include/global.h +++ b/include/global.h @@ -63,6 +63,22 @@ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) +enum +{ + STATE_INTRO, + STATE_TITLE, + STATE_GAME_MAIN, + STATE_GAME_IDLE, + STATE_OPTIONS, + STATE_POKEDEX, + STATE_UNKNOWN6, + STATE_EREADER, + STATE_SCORES_MAIN, + STATE_SCORES_IDLE, + STATE_FIELD_SELECT, + STATE_BONUS_FIELD_SELECT, +}; + struct PinballGame { /*0x000*/ u8 filler0[0x35]; diff --git a/include/main.h b/include/main.h index 40446ee..f37dd24 100755 --- a/include/main.h +++ b/include/main.h @@ -9,10 +9,9 @@ struct SaveData /*0x74*/ u8 pokedexFlags[204]; /*0x140*/ u8 filler140[1]; /*0x141*/ u8 unk141; - /*0x142*/ u8 unk142; + /*0x142*/ u8 ballSpeed; /*0x143*/ u8 unk143; - /*0x144*/ //u8 filler144[0x2D8-0x144]; - u16 unk144[0x65][2]; + /*0x144*/ u16 unk144[0x65][2]; /*0x2D8*/ s8 signature[10]; u16 checksum; u32 unk2E4; @@ -59,18 +58,20 @@ struct Main /*0x40*/ int hasSavedGame; /*0x44*/ u8 filler44[0x4]; /*0x48*/ int rngValue; - /*0x4C*/ int unk4C; + /*0x4C*/ int frameCount; /*0x50*/ int unk50; /*0x54*/ u8 filler54[0x20]; + + // This field must be accessed using the following macro to produce matching code. +#define gMain_saveData (*(struct SaveData *)(&gMain.saveData)) /*0x74*/ struct SaveData saveData; + /*0x2E8*/ struct MainUnk2E8 unk2E8[4]; /*0x2F8*/ struct SpriteGroup spriteGroups[NUM_SPRITE_GROUPS]; }; extern struct Main gMain; -//extern struct SaveData gMain_saveData; -#define gMain_saveData (*(struct SaveData *)(&gMain.saveData)) extern struct SpriteGroup gUnknown_0200B3B8[]; extern u32 IntrMain_Buffer[0x200]; extern u32 IntrMain[]; @@ -110,7 +111,7 @@ void SerialIntr(void); void Timer3Intr(void); void sub_CBC(void); void sub_D10(void); -void sub_D74(void); +void MainLoopIter(void); void DefaultMainCallback(void); diff --git a/src/field_select.c b/src/field_select.c index 3aa304b..ea6acba 100644 --- a/src/field_select.c +++ b/src/field_select.c @@ -25,7 +25,7 @@ struct FieldSelectData u8 ballSpeed; s16 unk12; s8 unk14; - u16 unk16; + u16 nextMainState; }; extern struct FieldSelectData gFieldSelectData; @@ -52,13 +52,13 @@ void LoadFieldSelectGraphics(void) gMain.unk16 = REG_DISPCNT; - DmaCopy16(3, gFieldSelectBGPals, (void *)PLTT, 0x200); - DmaCopy16(3, gFieldSelectWindow_Gfx, (void *)(VRAM + 0x4000), 0x1400); - DmaCopy16(3, gFieldSelectMiniFields_Gfx, (void *)(VRAM + 0x8000), 0x3800); - DmaCopy16(3, gUnknown_080A2400, (void *)(VRAM), 0x800); - DmaCopy16(3, gFieldSelectFrameShadowTilemap, (void *)(VRAM + 0x800), 0x800); - DmaCopy16(3, gFieldSelectWindowTilemap, (void *)(VRAM + 0x1000), 0x800); - DmaCopy16(3, gFieldSelectSpritePals, (void *)(PLTT + 0x200), 0x200); + DmaCopy16(3, gFieldSelectBGPals, (void *)(PLTT), 0x200); + DmaCopy16(3, gFieldSelectWindow_Gfx, (void *)(VRAM + 0x4000), 0x1400); + DmaCopy16(3, gFieldSelectMiniFields_Gfx, (void *)(VRAM + 0x8000), 0x3800); + DmaCopy16(3, gUnknown_080A2400, (void *)(VRAM), 0x800); + DmaCopy16(3, gFieldSelectFrameShadowTilemap, (void *)(VRAM + 0x800), 0x800); + DmaCopy16(3, gFieldSelectWindowTilemap, (void *)(VRAM + 0x1000), 0x800); + DmaCopy16(3, gFieldSelectSpritePals, (void *)(PLTT + 0x200), 0x200); DmaCopy16(3, gFieldSelectSpriteGfx, (void *)(VRAM + 0x10000), 0x4020); sub_CBC(); @@ -78,11 +78,11 @@ static void sub_8C38(void) gFieldSelectData.state = 0; gFieldSelectData.unkC = 0; gFieldSelectData.unkE = 0; - gFieldSelectData.unk16 = 0; + gFieldSelectData.nextMainState = STATE_INTRO; gFieldSelectData.unk12 = 0; gFieldSelectData.unk14 = 0; - gFieldSelectData.ballSpeed = gMain_saveData.unk142; + gFieldSelectData.ballSpeed = gMain_saveData.ballSpeed; gMain.unk4 = 0; gUnknown_02002850 = 0; } @@ -93,7 +93,7 @@ void sub_8C7C(void) if ((gMain.heldKeys & (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) { gUnknown_02002850 = 1; - gFieldSelectData.unk16 = 0; + gFieldSelectData.nextMainState = STATE_INTRO; gMain.subState++; } if (gUnknown_02002850 == 0) @@ -150,7 +150,7 @@ void sub_8C7C(void) { m4aSongNumStart(0x66); gMain.subState++; - gFieldSelectData.unk16 = 1; + gFieldSelectData.nextMainState = STATE_TITLE; if (gFieldSelectData.selectedField == FIELD_RUBY) { gFieldSelectData.unk4 = 0; @@ -184,7 +184,7 @@ void sub_8C7C(void) m4aSongNumStart(0x65); gFieldSelectData.unkE = 0; gFieldSelectData.unkC = 0; - gMain_saveData.unk142 = gFieldSelectData.ballSpeed; + gMain_saveData.ballSpeed = gFieldSelectData.ballSpeed; SaveFile_WriteToSram(); gFieldSelectData.state = 3; } @@ -212,7 +212,7 @@ void sub_8C7C(void) gFieldSelectData.unk0 = gUnknown_086A6B14.unk0[gFieldSelectData.unkC]; gFieldSelectData.unk2 = gUnknown_086A6B14.unkA[gFieldSelectData.unkC]; } - if (!(gMain.unk4C & 1)) + if (!(gMain.frameCount & 1)) { if (gFieldSelectData.unkC < 4) { @@ -265,7 +265,7 @@ void sub_8C7C(void) gFieldSelectData.unkC++; if (gFieldSelectData.unkC > 5) { - gFieldSelectData.unk16 = 2; + gFieldSelectData.nextMainState = STATE_GAME_MAIN; gMain.subState++; } } @@ -282,7 +282,7 @@ void sub_8F64(void) m4aMPlayAllStop(); sub_D10(); gAutoDisplayTitlescreenMenu = TRUE; - SetMainGameState(gFieldSelectData.unk16); + SetMainGameState(gFieldSelectData.nextMainState); } static void sub_8F94(void) @@ -20,7 +20,7 @@ void AgbMain(void) { ReadKeys(); gMainFuncs[gMain.mainState](); - sub_D74(); + MainLoopIter(); } } @@ -40,7 +40,7 @@ void sub_9BC_Main(void) default: sub_2B4(); sub_D10(); - SetMainGameState(1); + SetMainGameState(STATE_TITLE); break; } } @@ -55,7 +55,7 @@ void VCountIntr(void) { INTR_CHECK |= INTR_FLAG_VCOUNT; while (!(REG_DISPSTAT & DISPSTAT_HBLANK)); - if (gMain.mainState == 2) + if (gMain.mainState == STATE_GAME_MAIN) { REG_BG0HOFS = 0; if (gMain.unk28) @@ -144,14 +144,14 @@ static void InitGame(void) static void sub_B8C(void) { - gMain.mainState = 0; + gMain.mainState = STATE_INTRO; gMain.subState = 0; gMain.unk16 = 0; gMain.heldKeys = 0; gMain.newKeys = 0; gMain.unk20 = 0; gMain.rngValue = 0; - gMain.unk4C = 0; + gMain.frameCount = 0; gMain.unk30 = 0; gMain.vCount = 144; gMain.unk2C = 0; @@ -320,7 +320,7 @@ void sub_D10(void) m4aSoundVSyncOff(); } -void sub_D74(void) +void MainLoopIter(void) { gMainCallback = gUnknown_02017BD4; *gVBlankIntrFuncPtr = gUnknown_02017BD0; @@ -328,7 +328,7 @@ void sub_D74(void) if (gMainCallback) gMainCallback(); - gMain.unk4C++; + gMain.frameCount++; } void DefaultMainCallback(void) diff --git a/src/options.c b/src/options.c index 8e6b821..cd02b94 100644 --- a/src/options.c +++ b/src/options.c @@ -35,7 +35,7 @@ struct OptionsData u8 unk30; }; -extern struct OptionsData gUnknown_02002920; +extern struct OptionsData gOptionsData; void OptionsMain(void) { @@ -91,29 +91,29 @@ void sub_513B8(void) int i; int j; - gUnknown_02002920.unk0 = 0; - gUnknown_02002920.unk2 = 0; - gUnknown_02002920.unk4 = 0; - gUnknown_02002920.unk6 = 1; - gUnknown_02002920.unk8 = 0; - gUnknown_02002920.unkA = 0; - gUnknown_02002920.unkC = gMain_saveData.unk143; - gUnknown_02002920.unkE = 0; - gUnknown_02002920.unk10 = 0; - gUnknown_02002920.unk12 = 0; - gUnknown_02002920.unk13 = 0; - gUnknown_02002920.unk14 = 1; - gUnknown_02002920.unk15 = 0; - gUnknown_02002920.unk16 = 0; - gUnknown_02002920.unk17 = 1; - gUnknown_02002920.unk18 = 0; + gOptionsData.unk0 = 0; + gOptionsData.unk2 = 0; + gOptionsData.unk4 = 0; + gOptionsData.unk6 = 1; + gOptionsData.unk8 = 0; + gOptionsData.unkA = 0; + gOptionsData.unkC = gMain_saveData.unk143; + gOptionsData.unkE = 0; + gOptionsData.unk10 = 0; + gOptionsData.unk12 = 0; + gOptionsData.unk13 = 0; + gOptionsData.unk14 = 1; + gOptionsData.unk15 = 0; + gOptionsData.unk16 = 0; + gOptionsData.unk17 = 1; + gOptionsData.unk18 = 0; for (i = 0; i < 6; i++) - gUnknown_02002920.unk1A[i] = 0; - gUnknown_02002920.unk20 = 0; - gUnknown_02002920.unk22 = 0; + gOptionsData.unk1A[i] = 0; + gOptionsData.unk20 = 0; + gOptionsData.unk22 = 0; for (i = 0; i < 2; i++) - gUnknown_02002920.unk24[i] = 10; - gUnknown_02002920.unk28 = 0; + gOptionsData.unk24[i] = 10; + gOptionsData.unk28 = 0; for (i = 0; i < 4; i++) { for (j = 0; j < 10; j++) @@ -122,20 +122,20 @@ void sub_513B8(void) sub_52528(); if (gGameBoyPlayerEnabled == 1) { - gUnknown_02002920.unk2A = gMain_saveData.unk141; + gOptionsData.unk2A = gMain_saveData.unk141; gMain_saveData.unk141 = 1; } else { - gUnknown_02002920.unk2A = 0; + gOptionsData.unk2A = 0; gMain_saveData.unk141 = 0; } - gUnknown_02002920.unk2E = 0; - gUnknown_02002920.unk2B = 0; - gUnknown_02002920.unk2C = 0; - gUnknown_02002920.unk2D = 0; - gUnknown_02002920.unk2F = 0; - gUnknown_02002920.unk30 = 0; + gOptionsData.unk2E = 0; + gOptionsData.unk2B = 0; + gOptionsData.unk2C = 0; + gOptionsData.unk2D = 0; + gOptionsData.unk2F = 0; + gOptionsData.unk30 = 0; } void sub_514B8(void) @@ -143,86 +143,81 @@ void sub_514B8(void) s16 r4; sub_51C9C(); - switch (gUnknown_02002920.unk0) + switch (gOptionsData.unk0) { case 0: if (gMain.newKeys & 0x40) { - if (gUnknown_02002920.unkA != 0xD) + if (gOptionsData.unkA != 0xD) { - if (gUnknown_02002920.unkA == 0xE) + if (gOptionsData.unkA == 0xE) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA = 0xD; + gOptionsData.unkA = 0xD; } - else if (gUnknown_02002920.unkA > 0) + else if (gOptionsData.unkA > 0) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA--; + gOptionsData.unkA--; } } } - //_0805152C else if (gMain.newKeys & 0x80) { - if (gUnknown_02002920.unkA < 6) + if (gOptionsData.unkA < 6) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA++; + gOptionsData.unkA++; } - else if (gUnknown_02002920.unkA == 0xD) + else if (gOptionsData.unkA == 0xD) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA = 0xE; + gOptionsData.unkA = 0xE; } - //_0805155E - else if (gUnknown_02002920.unkA == 0xE) + else if (gOptionsData.unkA == 0xE) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA = 2; + gOptionsData.unkA = 2; } - // _0805156A } - //_0805156C - if ((gMain.newKeys & 0x10) && gGameBoyPlayerEnabled == 1 && (u16)gUnknown_02002920.unkA < 2) + if ((gMain.newKeys & 0x10) && gGameBoyPlayerEnabled == 1 && (u16)gOptionsData.unkA < 2) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA += 0xD; + gOptionsData.unkA += 0xD; } - if ((gMain.newKeys & 0x20) && gGameBoyPlayerEnabled == 1 && (u16)(gUnknown_02002920.unkA - 13) < 2) + if ((gMain.newKeys & 0x20) && gGameBoyPlayerEnabled == 1 && (u16)(gOptionsData.unkA - 13) < 2) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA -= 0xD; + gOptionsData.unkA -= 0xD; } - //_080515C2 if (gMain.newKeys & 1) { - switch (gUnknown_02002920.unkA) + switch (gOptionsData.unkA) { case 0: m4aSongNumStart(0x65); - gUnknown_02002920.unk0 = 1; - gUnknown_02002920.unk18 = 0; - gUnknown_02002920.unk30 = 1; - if (gUnknown_02002920.unk2E == 1) + gOptionsData.unk0 = 1; + gOptionsData.unk18 = 0; + gOptionsData.unk30 = 1; + if (gOptionsData.unk2E == 1) { - gUnknown_02002920.unk2B = 0; - gUnknown_02002920.unk2D = 0; - gUnknown_02002920.unk2C = 0; - gUnknown_02002920.unk2E = 0; + gOptionsData.unk2B = 0; + gOptionsData.unk2D = 0; + gOptionsData.unk2C = 0; + gOptionsData.unk2E = 0; } break; case 1: m4aSongNumStart(0x65); - gUnknown_02002920.unk0 = 2; - gUnknown_02002920.unk18 = 0; - gUnknown_02002920.unk30 = 1; - if (gUnknown_02002920.unk2E == 1) + gOptionsData.unk0 = 2; + gOptionsData.unk18 = 0; + gOptionsData.unk30 = 1; + if (gOptionsData.unk2E == 1) { - gUnknown_02002920.unk2B = 0; - gUnknown_02002920.unk2D = 0; - gUnknown_02002920.unk2C = 0; - gUnknown_02002920.unk2E = 0; + gOptionsData.unk2B = 0; + gOptionsData.unk2D = 0; + gOptionsData.unk2C = 0; + gOptionsData.unk2E = 0; } break; case 2: @@ -230,26 +225,26 @@ void sub_514B8(void) case 4: case 5: m4aSongNumStart(0x65); - gUnknown_02002920.unkC = gUnknown_02002920.unkA - 2; - gMain_saveData.unk143 = gUnknown_02002920.unkC; + gOptionsData.unkC = gOptionsData.unkA - 2; + gMain_saveData.unk143 = gOptionsData.unkC; break; case 6: m4aSongNumStart(0x65); - gUnknown_02002920.unkC = gUnknown_02002920.unkA - 2; - gMain_saveData.unk143 = gUnknown_02002920.unkC; - gUnknown_02002920.unkA = 7; - gUnknown_02002920.unk0 = 3; + gOptionsData.unkC = gOptionsData.unkA - 2; + gMain_saveData.unk143 = gOptionsData.unkC; + gOptionsData.unkA = 7; + gOptionsData.unk0 = 3; break; case 14: if (gGameBoyPlayerEnabled == 1) { m4aSongNumStart(0x65); - gUnknown_02002920.unk2D = 0; - if (gUnknown_02002920.unk2E == 1) - gUnknown_02002920.unk2E = 0; - gUnknown_02002920.unk2B = 0; - gUnknown_02002920.unk2C = 0; - gUnknown_02002920.unk2A = 0; + gOptionsData.unk2D = 0; + if (gOptionsData.unk2E == 1) + gOptionsData.unk2E = 0; + gOptionsData.unk2B = 0; + gOptionsData.unk2C = 0; + gOptionsData.unk2A = 0; } break; case 13: @@ -257,17 +252,16 @@ void sub_514B8(void) { m4aSongNumStart(0x65); sub_11B0(11); - if (gUnknown_02002920.unk2E == 0) - gUnknown_02002920.unk2E = 1; + if (gOptionsData.unk2E == 0) + gOptionsData.unk2E = 1; - gUnknown_02002920.unk2B = 0; - gUnknown_02002920.unk2C = 0; - gUnknown_02002920.unk2A = 1; + gOptionsData.unk2B = 0; + gOptionsData.unk2C = 0; + gOptionsData.unk2A = 1; } break; } } - //_0805177C else if (gMain.newKeys & 2) { m4aSongNumStart(0x66); @@ -275,209 +269,203 @@ void sub_514B8(void) sub_525CC(gMain_saveData.unk143); } - if (!(gMain.unk4C & 7)) - gUnknown_02002920.unk2 = 1 - gUnknown_02002920.unk2; + if (!(gMain.frameCount & 7)) + gOptionsData.unk2 = 1 - gOptionsData.unk2; break; - case 1: // _080517A8 + case 1: if (gMain.heldKeys & 0x20) { - if (gUnknown_02002920.unk18 == 0) + if (gOptionsData.unk18 == 0) { - gUnknown_02002920.unkE--; - gUnknown_02002920.unk18 = 10; + gOptionsData.unkE--; + gOptionsData.unk18 = 10; } } else if (gMain.heldKeys & 0x10) { - if (gUnknown_02002920.unk18 == 0) + if (gOptionsData.unk18 == 0) { - gUnknown_02002920.unkE++; - gUnknown_02002920.unk18 = 10; + gOptionsData.unkE++; + gOptionsData.unk18 = 10; } } if (gMain.newKeys & 0x40) - gUnknown_02002920.unkE += 10; + gOptionsData.unkE += 10; else if (gMain.newKeys & 0x80) - gUnknown_02002920.unkE -= 10; - if (gUnknown_02002920.unkE < 0) - gUnknown_02002920.unkE = 33; - if (gUnknown_02002920.unkE > 33) - gUnknown_02002920.unkE = 0; + gOptionsData.unkE -= 10; + if (gOptionsData.unkE < 0) + gOptionsData.unkE = 33; + if (gOptionsData.unkE > 33) + gOptionsData.unkE = 0; - r4 = gUnknown_02002920.unkE + 1; - gUnknown_02002920.unk12 = r4 / 100; + r4 = gOptionsData.unkE + 1; + gOptionsData.unk12 = r4 / 100; r4 %= 100; - gUnknown_02002920.unk13 = r4 / 10; - gUnknown_02002920.unk14 = r4 % 10; + gOptionsData.unk13 = r4 / 10; + gOptionsData.unk14 = r4 % 10; if (gMain.newKeys & 1) { m4aMPlayAllStop(); - m4aSongNumStart(gUnknown_08527D22[gUnknown_02002920.unkE]); + m4aSongNumStart(gUnknown_08527D22[gOptionsData.unkE]); } else if (gMain.newKeys & 2) { m4aMPlayAllStop(); m4aSongNumStart(0x66); - gUnknown_02002920.unk4 = 0; - gUnknown_02002920.unk30 = 0; - gUnknown_02002920.unk0 = 0; + gOptionsData.unk4 = 0; + gOptionsData.unk30 = 0; + gOptionsData.unk0 = 0; } - //_080518AA - if (!(gMain.unk4C & 7)) - gUnknown_02002920.unk4 = 1 - gUnknown_02002920.unk4; - if (gUnknown_02002920.unk18 > 0) - gUnknown_02002920.unk18--; + if (!(gMain.frameCount & 7)) + gOptionsData.unk4 = 1 - gOptionsData.unk4; + if (gOptionsData.unk18 > 0) + gOptionsData.unk18--; break; case 2: if (gMain.heldKeys & 0x20) { - if (gUnknown_02002920.unk18 == 0) + if (gOptionsData.unk18 == 0) { - gUnknown_02002920.unk10--; - gUnknown_02002920.unk18 = 10; + gOptionsData.unk10--; + gOptionsData.unk18 = 10; } } else if (gMain.heldKeys & 0x10) { - if (gUnknown_02002920.unk18 == 0) + if (gOptionsData.unk18 == 0) { - gUnknown_02002920.unk10++; - gUnknown_02002920.unk18 = 10; + gOptionsData.unk10++; + gOptionsData.unk18 = 10; } } - //_08051918 if (gMain.newKeys & 0x40) - gUnknown_02002920.unk10 += 10; + gOptionsData.unk10 += 10; else if (gMain.newKeys & 0x80) - gUnknown_02002920.unk10 -= 10; - if (gUnknown_02002920.unk10 < 0) - gUnknown_02002920.unk10 = 0xB7; - if (gUnknown_02002920.unk10 > 0xB7) - gUnknown_02002920.unk10 = 0; + gOptionsData.unk10 -= 10; + if (gOptionsData.unk10 < 0) + gOptionsData.unk10 = 0xB7; + if (gOptionsData.unk10 > 0xB7) + gOptionsData.unk10 = 0; - r4 = gUnknown_02002920.unk10 + 1; - gUnknown_02002920.unk15 = r4 / 100; + r4 = gOptionsData.unk10 + 1; + gOptionsData.unk15 = r4 / 100; r4 %= 100; - gUnknown_02002920.unk16 = r4 / 10; - gUnknown_02002920.unk17 = r4 % 10; + gOptionsData.unk16 = r4 / 10; + gOptionsData.unk17 = r4 % 10; if (gMain.newKeys & 0x1) { m4aMPlayAllStop(); - m4aSongNumStart(gUnknown_08527D66[gUnknown_02002920.unk10]); + m4aSongNumStart(gUnknown_08527D66[gOptionsData.unk10]); } else if (gMain.newKeys & 0x2) { m4aMPlayAllStop(); m4aSongNumStart(0x66); - gUnknown_02002920.unk4 = 0; - gUnknown_02002920.unk30 = 0; - gUnknown_02002920.unk0 = 0; + gOptionsData.unk4 = 0; + gOptionsData.unk30 = 0; + gOptionsData.unk0 = 0; } - if (!(gMain.unk4C & 7)) - gUnknown_02002920.unk4 = 1 - gUnknown_02002920.unk4; - if (gUnknown_02002920.unk18 > 0) - gUnknown_02002920.unk18--; + if (!(gMain.frameCount & 7)) + gOptionsData.unk4 = 1 - gOptionsData.unk4; + if (gOptionsData.unk18 > 0) + gOptionsData.unk18--; break; - case 3: //_08051A08 + case 3: if (gMain.newKeys & 0x40) { - if (gUnknown_02002920.unkA > 7) + if (gOptionsData.unkA > 7) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA--; + gOptionsData.unkA--; } } - //_08051A34 else if (gMain.newKeys & 0x80) { - if (gUnknown_02002920.unkA <= 10) + if (gOptionsData.unkA <= 10) { m4aSongNumStart(0x67); - gUnknown_02002920.unkA++; + gOptionsData.unkA++; } } - //_08051A52 if (gMain.newKeys & 1) { m4aSongNumStart(0x65); - gUnknown_02002920.unk0 = 4; - gUnknown_02002920.unk1A[gUnknown_02002920.unkA - 7] = 1; + gOptionsData.unk0 = 4; + gOptionsData.unk1A[gOptionsData.unkA - 7] = 1; } - //_08051A80 else if (gMain.newKeys & 2) { m4aSongNumStart(0x66); - gUnknown_02002920.unkA = 6; - gUnknown_02002920.unk0 = 0; + gOptionsData.unkA = 6; + gOptionsData.unk0 = 0; } - //_08051A96 - if (!(gMain.unk4C & 7)) - gUnknown_02002920.unk2 = 1 - gUnknown_02002920.unk2; + if (!(gMain.frameCount & 7)) + gOptionsData.unk2 = 1 - gOptionsData.unk2; break; case 4: - gUnknown_02002920.unk8++; - if (gUnknown_02002920.unk8 > 24) + gOptionsData.unk8++; + if (gOptionsData.unk8 > 24) { - gUnknown_02002920.unk8 = 0; - gUnknown_02002920.unk6 = 1 - gUnknown_02002920.unk6; + gOptionsData.unk8 = 0; + gOptionsData.unk6 = 1 - gOptionsData.unk6; } if (gMain.newKeys & 0x3F7) { s16 i; m4aSongNumStart(0x65); - gUnknown_02002920.unk20 = 10; - gUnknown_02002920.unk22 = 0; + gOptionsData.unk20 = 10; + gOptionsData.unk22 = 0; for (i = 0; i < 2; i++) - gUnknown_02002920.unk24[i] = 10; - gUnknown_02002920.unk28 = 0; + gOptionsData.unk24[i] = 10; + gOptionsData.unk28 = 0; } //_08051B0E - if (gUnknown_02002920.unk20 > 0) + if (gOptionsData.unk20 > 0) { sub_524BC(); - gUnknown_02002920.unk20--; - if (gUnknown_02002920.unk20 == 0) + gOptionsData.unk20--; + if (gOptionsData.unk20 == 0) { - gUnknown_02031AF0[4][(gUnknown_02002920.unkA - 7) * 2 + 0] = gUnknown_02002920.unk24[0]; - gUnknown_02031AF0[4][(gUnknown_02002920.unkA - 7) * 2 + 1] = gUnknown_02002920.unk24[1]; - gMain_saveData.unk144[(gUnknown_02002920.unkA - 7)][0] = gUnknown_086BB910[gUnknown_02002920.unk24[0]][0]; - gMain_saveData.unk144[(gUnknown_02002920.unkA - 7)][1] = gUnknown_086BB910[gUnknown_02002920.unk24[1]][0]; - gUnknown_02002920.unk0 = 3; - gUnknown_02002920.unk1A[gUnknown_02002920.unkA - 7] = 0; - gUnknown_02002920.unk8 = 0; - gUnknown_02002920.unk6 = 1; + gUnknown_02031AF0[4][(gOptionsData.unkA - 7) * 2 + 0] = gOptionsData.unk24[0]; + gUnknown_02031AF0[4][(gOptionsData.unkA - 7) * 2 + 1] = gOptionsData.unk24[1]; + gMain_saveData.unk144[(gOptionsData.unkA - 7)][0] = gUnknown_086BB910[gOptionsData.unk24[0]][0]; + gMain_saveData.unk144[(gOptionsData.unkA - 7)][1] = gUnknown_086BB910[gOptionsData.unk24[1]][0]; + gOptionsData.unk0 = 3; + gOptionsData.unk1A[gOptionsData.unkA - 7] = 0; + gOptionsData.unk8 = 0; + gOptionsData.unk6 = 1; } } break; } //_08051B98 - if (gUnknown_02002920.unk2E == 1) + if (gOptionsData.unk2E == 1) { - //gUnknown_02002920.unk2B++; - if (++gUnknown_02002920.unk2B > gUnknown_086BB9B4[gUnknown_02002920.unk2C].unk2) + //gOptionsData.unk2B++; + if (++gOptionsData.unk2B > gUnknown_086BB9B4[gOptionsData.unk2C].unk2) { - gUnknown_02002920.unk2B = 0; - gUnknown_02002920.unk2C++; - if (gUnknown_02002920.unk2C > 12) + gOptionsData.unk2B = 0; + gOptionsData.unk2C++; + if (gOptionsData.unk2C > 12) { - gUnknown_02002920.unk2C = 0; - gUnknown_02002920.unk2D = 0; - gUnknown_02002920.unk2E = 0; + gOptionsData.unk2C = 0; + gOptionsData.unk2D = 0; + gOptionsData.unk2E = 0; } //_08051BE8 - gUnknown_02002920.unk2D = gUnknown_086BB9B4[gUnknown_02002920.unk2C].unk0; + gOptionsData.unk2D = gUnknown_086BB9B4[gOptionsData.unk2C].unk0; } // _08051C30 } else //_08051C10 { - gUnknown_02002920.unk2B++; - if (gUnknown_02002920.unk2B > 18) + gOptionsData.unk2B++; + if (gOptionsData.unk2B > 18) { - gUnknown_02002920.unk2B = 0; - gUnknown_02002920.unk2D = 1 - gUnknown_02002920.unk2D; + gOptionsData.unk2B = 0; + gOptionsData.unk2D = 1 - gOptionsData.unk2D; } } sub_11FC(); @@ -495,13 +483,13 @@ void sub_51C3C(void) void sub_51C60(void) { - gMain_saveData.unk141 = gUnknown_02002920.unk2A; + gMain_saveData.unk141 = gOptionsData.unk2A; SaveFile_WriteToSram(); sub_2B4(); m4aMPlayAllStop(); sub_D10(); gAutoDisplayTitlescreenMenu = 1; - SetMainGameState(1); + SetMainGameState(STATE_TITLE); } /* diff --git a/src/rom_1068C.c b/src/rom_1068C.c index 35307ec..297f982 100644 --- a/src/rom_1068C.c +++ b/src/rom_1068C.c @@ -56,7 +56,7 @@ void sub_10798(void *a, void *b, void (*func)(void)) if (func != NULL) func(); sub_1001C(i); - sub_D74(); + MainLoopIter(); if (i == 32) { DmaCopy16(3, gUnknown_0201A920, (void *)PLTT, 0x400); @@ -81,7 +81,7 @@ void sub_10860(void (*func)(void)) if (func != NULL) func(); sub_1001C(i); - sub_D74(); + MainLoopIter(); if (i == 32) { DmaCopy16(3, gUnknown_0201A920, (void *)PLTT, 0x400); @@ -91,7 +91,7 @@ void sub_10860(void (*func)(void)) DmaCopy16(3, gUnknown_0201AD20, (void *)PLTT, 0x400); } } - sub_D74(); + MainLoopIter(); } #ifdef NONMATCHING diff --git a/src/rom_528AC.c b/src/rom_528AC.c index 3b42c4a..7abf1d9 100644 --- a/src/rom_528AC.c +++ b/src/rom_528AC.c @@ -227,7 +227,7 @@ void sub_52C64(void) gMain_saveData.unk2E4 = 0; gMain_saveData.unk141 = 0; - gMain_saveData.unk142 = 0; + gMain_saveData.ballSpeed = 0; sub_525CC(-1); sub_F6E0(); sub_8ABC(); @@ -25,7 +25,7 @@ void sub_24C(void) for (i = 0; i < 32; i++) { REG_BLDY = 15 - i / 2; - sub_D74(); + MainLoopIter(); } REG_BLDCNT = 0; @@ -44,7 +44,7 @@ void sub_2B4(void) for (i = 0; i < 16; i++) { REG_BLDY = i + 1; - sub_D74(); + MainLoopIter(); } gMain.unk16 |= DISPCNT_FORCED_BLANK; diff --git a/sym_ewram.txt b/sym_ewram.txt index be12d52..1b20db2 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -74,7 +74,7 @@ gUnknown_020028AA: @ 0x020028AA .space 0x2E gUnknown_020028D8: @ 0x020028D8 .space 0x48 -gUnknown_02002920: @ 0x02002920 +gOptionsData: @ 0x02002920 .space 0x12 gUnknown_02002932: @ 0x02002932 .space 0x3 |