diff options
author | Cameron Hall <cameronghall@cox.net> | 2019-08-11 14:20:54 -0500 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2019-08-11 14:20:54 -0500 |
commit | 68de07eabfe27625e4b5b43502da0efade337456 (patch) | |
tree | 0778a30ee71ca7afc89b2967560a28dbd2a42e91 | |
parent | b0870ee7fbf34fe4fa8bf6a622a3c46aa326f1fb (diff) |
cleanup
-rwxr-xr-x | asm/bonus_field_select.s | 2 | ||||
-rwxr-xr-x | asm/field_select.s | 2 | ||||
-rwxr-xr-x | asm/high_scores.s | 8 | ||||
-rwxr-xr-x | asm/intro.s | 2 | ||||
-rwxr-xr-x | asm/options.s | 25 | ||||
-rwxr-xr-x | asm/pokedex.s | 4 | ||||
-rwxr-xr-x | asm/rom_11B9C.s | 12 | ||||
-rw-r--r-- | include/agb_sram.h | 4 | ||||
-rw-r--r-- | include/functions.h | 10 | ||||
-rwxr-xr-x | include/main.h | 7 | ||||
-rw-r--r-- | include/variables.h | 11 | ||||
-rwxr-xr-x | src/gbplayer.c | 2 | ||||
-rw-r--r-- | src/options.c | 43 | ||||
-rw-r--r-- | src/rom_528AC.c | 135 | ||||
-rwxr-xr-x | src/titlescreen.c | 4 | ||||
-rwxr-xr-x | src/util.c | 4 | ||||
-rw-r--r-- | sym_ewram.txt | 1 |
17 files changed, 127 insertions, 149 deletions
diff --git a/asm/bonus_field_select.s b/asm/bonus_field_select.s index 331e00b..75f11da 100755 --- a/asm/bonus_field_select.s +++ b/asm/bonus_field_select.s @@ -368,7 +368,7 @@ _080028A0: lsls r2, r2, #1 adds r1, r5, r2 strb r0, [r1] - bl sub_52B30 + bl SaveFile_WriteToSram movs r0, #2 strb r0, [r6] _080028CC: diff --git a/asm/field_select.s b/asm/field_select.s index f789dbf..2ee614e 100755 --- a/asm/field_select.s +++ b/asm/field_select.s @@ -386,7 +386,7 @@ _08008DDA: lsls r2, r2, #1 adds r1, r7, r2 strb r0, [r1] - bl sub_52B30 + bl SaveFile_WriteToSram movs r0, #3 strh r0, [r5, #0xa] _08008E00: diff --git a/asm/high_scores.s b/asm/high_scores.s index 2c93e68..2db7c6a 100755 --- a/asm/high_scores.s +++ b/asm/high_scores.s @@ -1320,7 +1320,7 @@ _0800D8CE: mov r3, sb cmp r3, #1 ble _0800D8AC - bl sub_52B30 + bl SaveFile_WriteToSram ldr r1, _0800D8FC @ =gMain movs r0, #3 strb r0, [r1, #3] @@ -1772,7 +1772,7 @@ _0800DC88: mov r2, sb cmp r2, #1 ble _0800DC68 - bl sub_52B30 + bl SaveFile_WriteToSram bl sub_2B4 bl m4aMPlayAllStop bl sub_D10 @@ -1813,7 +1813,7 @@ sub_DCF0: @ 0x0800DCF0 movs r0, #0x65 bl m4aSongNumStart bl sub_F6E0 - bl sub_52B30 + bl SaveFile_WriteToSram bl sub_2B4 bl m4aMPlayAllStop bl sub_D10 @@ -6025,7 +6025,7 @@ _0800FE8C: bls _0800FE4C bl sub_10528 bl sub_D74 - bl sub_490 + bl ClearGraphicsMemory add sp, #4 pop {r3} mov r8, r3 diff --git a/asm/intro.s b/asm/intro.s index 1953b80..401f925 100755 --- a/asm/intro.s +++ b/asm/intro.s @@ -264,7 +264,7 @@ sub_9498: @ 0x08009498 mov r6, sb mov r5, r8 push {r5, r6, r7} - bl sub_490 + bl ClearGraphicsMemory bl sub_518 bl sub_578 movs r2, #0x80 diff --git a/asm/options.s b/asm/options.s index d2938b9..0ddc2e5 100755 --- a/asm/options.s +++ b/asm/options.s @@ -4,31 +4,6 @@ .text - thumb_func_start sub_51C60 -sub_51C60: @ 0x08051C60 - push {lr} - ldr r1, _08051C90 @ =gMain+0x74 - ldr r0, _08051C94 @ =gUnknown_02002920 - adds r0, #0x2a - ldrb r0, [r0] - adds r1, #0xcd - strb r0, [r1] - bl sub_52B30 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08051C98 @ =gAutoDisplayTitlescreenMenu - movs r0, #1 - strb r0, [r1] - movs r0, #1 - bl SetMainGameState - pop {r0} - bx r0 - .align 2, 0 -_08051C90: .4byte gMain+0x74 -_08051C94: .4byte gUnknown_02002920 -_08051C98: .4byte gAutoDisplayTitlescreenMenu - thumb_func_start sub_51C9C sub_51C9C: @ 0x08051C9C push {r4, r5, r6, r7, lr} diff --git a/asm/pokedex.s b/asm/pokedex.s index 9980236..c0c5dea 100755 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -1684,7 +1684,7 @@ _08004C2A: adds r2, #1 cmp r2, #0xcc ble _08004C2A - bl sub_52B30 + bl SaveFile_WriteToSram bl sub_2B4 bl m4aMPlayAllStop bl sub_D10 @@ -1760,7 +1760,7 @@ _08004CC2: movs r0, #1 mov r1, ip strh r0, [r1] - bl sub_52B30 + bl SaveFile_WriteToSram bl sub_2B4 bl m4aMPlayAllStop bl sub_D10 diff --git a/asm/rom_11B9C.s b/asm/rom_11B9C.s index ca2c4c6..d5b362d 100755 --- a/asm/rom_11B9C.s +++ b/asm/rom_11B9C.s @@ -35770,7 +35770,7 @@ _08023B36: movs r4, #0 ldrsh r0, [r0, r4] movs r1, #1 - bl sub_52BB0 + bl SaveFile_SetPokedexFlags _08023B66: ldr r5, _08023C94 @ =gUnknown_020314E0 ldr r0, [r5] @@ -44250,7 +44250,7 @@ _08028040: movs r2, #0 ldrsh r0, [r0, r2] movs r1, #1 - bl sub_52BB0 + bl SaveFile_SetPokedexFlags _08028060: ldr r0, _08028070 @ =gUnknown_020314E0 ldr r1, [r0] @@ -60704,7 +60704,7 @@ _0803062E: movs r2, #0 ldrsh r0, [r0, r2] movs r1, #1 - bl sub_52BB0 + bl SaveFile_SetPokedexFlags _0803065E: ldr r5, _08030784 @ =gUnknown_020314E0 ldr r0, [r5] @@ -63561,7 +63561,7 @@ sub_31CF8: @ 0x08031CF8 movs r2, #0 ldrsh r0, [r0, r2] movs r1, #4 - bl sub_52BB0 + bl SaveFile_SetPokedexFlags _08031D20: ldr r2, _08031D88 @ =gUnknown_086A3700 ldr r1, _08031D84 @ =gUnknown_020314E0 @@ -63757,7 +63757,7 @@ _08031E7C: beq _08031E94 movs r0, #0x2b movs r1, #4 - bl sub_52BB0 + bl SaveFile_SetPokedexFlags _08031E94: mov r2, r8 ldr r0, [r2] @@ -63789,7 +63789,7 @@ _08031EB4: movs r1, #0 ldrsh r0, [r0, r1] movs r1, #4 - bl sub_52BB0 + bl SaveFile_SetPokedexFlags _08031ECE: ldr r2, _08031F1C @ =gUnknown_086A3700 ldr r1, _08031F20 @ =gUnknown_020314E0 diff --git a/include/agb_sram.h b/include/agb_sram.h index c609417..fe1ea85 100644 --- a/include/agb_sram.h +++ b/include/agb_sram.h @@ -1,10 +1,12 @@ #ifndef GUARD_AGB_SRAM_H #define GUARD_AGB_SRAM_H +#define SRAM 0x0E000000 + void SetSramFastFunc(void); void WriteSramFast(const u8 *src, u8 *dest, u32 size); extern void (*ReadSramFast)(const u8 *src, u8 *dest, u32 size); extern u32 (*VerifySramFast)(const u8 *src, u8 *dest, u32 size); u32 WriteAndVerifySramFast(const u8 *src, u8 *dest, u32 size); -#endif // GUARD_AGB_SRAM_H
\ No newline at end of file +#endif // GUARD_AGB_SRAM_H diff --git a/include/functions.h b/include/functions.h index 7d843c5..c84637b 100644 --- a/include/functions.h +++ b/include/functions.h @@ -73,7 +73,7 @@ void sub_24C(void); void sub_2B4(void); s16 LoadSpriteSets(const struct SpriteSet *const *spriteSets, u16 numSpriteSets, struct SpriteGroup *spriteGroups); void sub_438(void); -void sub_490(void); +void ClearGraphicsMemory(void); void sub_518(void); void sub_578(void); void sub_678(u8 *arg0, s16 arg1, s16 arg2); @@ -776,10 +776,10 @@ extern void sub_1090C(void); //extern ? sub_5291C(); //extern ? sub_52940(); extern void sub_52A18(void); -//extern ? sub_52A68(); -extern void sub_52B30(void); -//extern ? sub_52BB0(); -extern void sub_52C44(void); +//extern ? LoadSaveDataFromSram(); +extern void SaveFile_WriteToSram(void); +//extern ? SaveFile_SetPokedexFlags(); +extern void SaveFile_ReadSavedGamePresent(void); extern void sub_52C64(void); // asm/rom_9BC.s diff --git a/include/main.h b/include/main.h index 6415742..873c4bb 100755 --- a/include/main.h +++ b/include/main.h @@ -14,7 +14,7 @@ struct SaveData /*0x144*/ //u8 filler144[0x2D8-0x144]; u16 unk144[0x65][2]; /*0x2D8*/ s8 signature[10]; - u16 unk2E2; + u16 checksum; u32 unk2E4; }; @@ -68,7 +68,8 @@ struct Main extern struct Main gMain; -extern struct SaveData gUnknown_0200B134; +//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[]; @@ -98,7 +99,7 @@ extern struct OamData gOamBuffer[128]; void sub_24C(void); void sub_2B4(void); -void sub_490(void); +void ClearGraphicsMemory(void); void sub_518(void); void sub_578(void); u32 Random(void); diff --git a/include/variables.h b/include/variables.h index a2112e1..0f9c113 100644 --- a/include/variables.h +++ b/include/variables.h @@ -3,6 +3,16 @@ // Place all external variable declarations in this file +extern struct ToneData gUnknown_08532D6C[]; +extern struct ToneData gUnknown_08533360[]; +extern struct ToneData gUnknown_08533960[]; +extern struct ToneData gUnknown_08533F60[]; +extern u16 gUnknown_08527D22[]; +extern u16 gUnknown_086BB910[][4]; +extern struct {u8 unk0; s16 unk2;} gUnknown_086BB9B4[]; +extern u16 gUnknown_08527D66[]; +extern u8 gUnknown_02031AF0[][10]; +extern u8 gUnknown_08527ED6[][10]; extern void (*const gUnknown_08527F08[])(void); extern u16 gUnknown_0201A520[]; extern u16 gUnknown_0201AD20[]; @@ -27,7 +37,6 @@ extern u8 gUnknown_02002808[]; //extern ? gUnknown_02002958; //extern ? gIntrTable; //extern ? gMain; -//extern ? gMain+0x74; //extern ? gUnknown_0200B3B8; //extern ? gUnknown_0200FB98; //extern ? gUnknown_0200FB9C; diff --git a/src/gbplayer.c b/src/gbplayer.c index e2c1cea..412be7d 100755 --- a/src/gbplayer.c +++ b/src/gbplayer.c @@ -291,7 +291,7 @@ void sub_1198(void) void sub_11B0(int arg0) { - if (gUnknown_0200B134.unk141) + if (gMain_saveData.unk141) { gUnknown_02019BF8 = arg0; gUnknown_02019BFC = 0; diff --git a/src/options.c b/src/options.c index ef31b58..e05d727 100644 --- a/src/options.c +++ b/src/options.c @@ -1,6 +1,7 @@ #include "global.h" #include "m4a.h" #include "main.h" +#include "titlescreen.h" struct OptionsData { @@ -85,9 +86,6 @@ void sub_51240(void) gMain.subState++; } -extern u8 gUnknown_02031AF0[][10]; -extern u8 gUnknown_08527ED6[][10]; - void sub_513B8(void) { int i; @@ -99,7 +97,7 @@ void sub_513B8(void) gUnknown_02002920.unk6 = 1; gUnknown_02002920.unk8 = 0; gUnknown_02002920.unkA = 0; - gUnknown_02002920.unkC = gUnknown_0200B134.unk143; + gUnknown_02002920.unkC = gMain_saveData.unk143; gUnknown_02002920.unkE = 0; gUnknown_02002920.unk10 = 0; gUnknown_02002920.unk12 = 0; @@ -124,13 +122,13 @@ void sub_513B8(void) sub_52528(); if (gGameBoyPlayerEnabled == 1) { - gUnknown_02002920.unk2A = gUnknown_0200B134.unk141; - gUnknown_0200B134.unk141 = 1; + gUnknown_02002920.unk2A = gMain_saveData.unk141; + gMain_saveData.unk141 = 1; } else { gUnknown_02002920.unk2A = 0; - gUnknown_0200B134.unk141 = 0; + gMain_saveData.unk141 = 0; } gUnknown_02002920.unk2E = 0; gUnknown_02002920.unk2B = 0; @@ -140,11 +138,6 @@ void sub_513B8(void) gUnknown_02002920.unk30 = 0; } -extern u16 gUnknown_08527D22[]; -extern u16 gUnknown_086BB910[][4]; -extern struct {u8 unk0; s16 unk2;} gUnknown_086BB9B4[]; -extern u16 gUnknown_08527D66[]; - void sub_514B8(void) { s16 r4; @@ -238,12 +231,12 @@ void sub_514B8(void) case 5: m4aSongNumStart(0x65); gUnknown_02002920.unkC = gUnknown_02002920.unkA - 2; - gUnknown_0200B134.unk143 = gUnknown_02002920.unkC; + gMain_saveData.unk143 = gUnknown_02002920.unkC; break; case 6: m4aSongNumStart(0x65); gUnknown_02002920.unkC = gUnknown_02002920.unkA - 2; - gUnknown_0200B134.unk143 = gUnknown_02002920.unkC; + gMain_saveData.unk143 = gUnknown_02002920.unkC; gUnknown_02002920.unkA = 7; gUnknown_02002920.unk0 = 3; break; @@ -448,8 +441,8 @@ void sub_514B8(void) { 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]; - gUnknown_0200B134.unk144[(gUnknown_02002920.unkA - 7)][0] = gUnknown_086BB910[gUnknown_02002920.unk24[0]][0]; - gUnknown_0200B134.unk144[(gUnknown_02002920.unkA - 7)][1] = gUnknown_086BB910[gUnknown_02002920.unk24[1]][0]; + 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; @@ -499,3 +492,21 @@ void sub_51C3C(void) gMain.subState++; } } + +void sub_51C60(void) +{ + gMain_saveData.unk141 = gUnknown_02002920.unk2A; + SaveFile_WriteToSram(); + sub_2B4(); + m4aMPlayAllStop(); + sub_D10(); + gAutoDisplayTitlescreenMenu = 1; + SetMainGameState(1); +} + +/* +void sub_51C9C(void) +{ + +} +*/ diff --git a/src/rom_528AC.c b/src/rom_528AC.c index f1c7d5f..6f33318 100644 --- a/src/rom_528AC.c +++ b/src/rom_528AC.c @@ -5,6 +5,9 @@ extern const u16 gUnknown_08527F18[]; +static void sub_52940(u16, s8, s8, u8, int); +static u16 LoadSaveDataFromSram(void); + #ifdef NONMATCHING // Like sub_C24, it matches except for that damn 'push {lr}/pop {lr}' int sub_528AC(u16 a) @@ -46,8 +49,6 @@ _080528DA:\n\ } #endif -void sub_52940(u16, s8, s8, u8, int); - void sub_528DC(u16 a, s8 b) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x99); @@ -59,12 +60,7 @@ void sub_5291C(u16 a, s8 b, s8 c, u8 d) sub_52940(a, b, c, d, 0); } -extern struct ToneData gUnknown_08532D6C[]; -extern struct ToneData gUnknown_08533360[]; -extern struct ToneData gUnknown_08533960[]; -extern struct ToneData gUnknown_08533F60[]; - -void sub_52940(u16 a, s8 b, s8 c, u8 d, int unused) +static void sub_52940(u16 a, s8 b, s8 c, u8 d, int unused) { u16 r5 = a - 1; u32 pitch = 0x3C00; @@ -100,18 +96,15 @@ void sub_52940(u16 a, s8 b, s8 c, u8 d, int unused) } } -extern u16 sub_52A68(void); -extern void sub_525CC(s8); - void sub_52A18(void) { SetSramFastFunc(); gMain.unkC = 0; - if (sub_52A68() == 0) + if (LoadSaveDataFromSram() == 0) { sub_52C64(); - sub_52B30(); - if (sub_52A68() == 0) + SaveFile_WriteToSram(); + if (LoadSaveDataFromSram() == 0) { gMain.unkC = 1; sub_52C64(); @@ -119,16 +112,15 @@ void sub_52A18(void) } else { - sub_525CC(gMain.saveData.unk143); + sub_525CC(gMain_saveData.unk143); } } -extern struct Main2 gMain_; extern u8 gSaveFileSignature[]; -u16 sub_52A68(void) +static u16 LoadSaveDataFromSram(void) { - u16 r8 = 0; + u16 isOk = FALSE; u16 fileNum; u16 i; u32 checksum; @@ -136,15 +128,15 @@ u16 sub_52A68(void) // Looks like there are two copies of the save data, one used as a backup? for (fileNum = 0; fileNum < 2; fileNum++) { - u16 *saveData = (u16 *)&gMain.saveData; - u32 size = 0x274; + u16 *saveData = (u16 *)&gMain_saveData; + size_t size = sizeof(gMain_saveData); - ReadSramFast((u8 *)0x0E000004 + fileNum * 672, (u8 *)saveData, size); + ReadSramFast((void *)(SRAM + 0x4 + fileNum * 672), (u8 *)saveData, size); // Verify signature for (i = 0; i < 10; i++) { - if (gMain.saveData.signature[i] != gSaveFileSignature[i]) + if (gMain_saveData.signature[i] != gSaveFileSignature[i]) break; } if (i != 10) @@ -162,93 +154,82 @@ u16 sub_52A68(void) checksum = (checksum & 0xFFFF) + (checksum >> 16); if (checksum == 0xFFFF) { - r8 = 1; + isOk = TRUE; break; } } - return r8; + return isOk; } -// I really think gUnknown_0200B134_ is part of gMain, but the code doesn't -// match if I do that. -#ifdef NONMATCHING -#define gUnknown_0200B134_ gMain.saveData -#else -extern struct SaveData gUnknown_0200B134_; // gMain.saveData -asm(".set gUnknown_0200B134_, gMain+0x74"); -#endif - -void sub_52B30(void) +void SaveFile_WriteToSram(void) { u32 checksum; - u16 *saveData = (u16 *)&gUnknown_0200B134_; - u32 size = 0x274; + u16 *saveData = (u16 *)&gMain_saveData; + size_t size = sizeof(gMain_saveData); - gUnknown_0200B134_.unk2E4++; - gUnknown_0200B134_.unk2E2 = 0; + gMain_saveData.unk2E4++; + gMain_saveData.checksum = 0; checksum = 0; while (size > 1) { - checksum += *saveData++; - size -= 2; + checksum += *saveData++; + size -= 2; } if (size != 0) // never happens (size is even) - checksum += *saveData & 0xFF00; + checksum += *saveData & 0xFF00; checksum = (checksum & 0xFFFF) + (checksum >> 16); - gUnknown_0200B134_.unk2E2 = ~((checksum >> 16) + checksum); + gMain_saveData.checksum = ~((checksum >> 16) + checksum); - WriteAndVerifySramFast((u8 *)&gUnknown_0200B134_, (u8 *)0x0E000004, 0x274); - WriteAndVerifySramFast((u8 *)&gUnknown_0200B134_, (u8 *)0x0E0002A4, 0x274); + WriteAndVerifySramFast((u8 *)&gMain_saveData, (void *)(SRAM + 0x4), sizeof(gMain_saveData)); + WriteAndVerifySramFast((u8 *)&gMain_saveData, (void *)(SRAM + 0x2A4), sizeof(gMain_saveData)); } -void sub_52BB0(s16 a, u8 b) +void SaveFile_SetPokedexFlags(s16 a, u8 b) { - u16 *saveData = (u16 *)&gUnknown_0200B134_; - u32 size = 0x274; + u16 *saveData = (u16 *)&gMain_saveData; + size_t size = sizeof(gMain_saveData); u32 checksum; - if (gUnknown_0200B134_.pokedexFlags[a] < b) + if (gMain_saveData.pokedexFlags[a] < b) { - u16 r1; - - gUnknown_0200B134_.unk2E4++; - r1 = 0; - gUnknown_0200B134_.pokedexFlags[a] = b; - gUnknown_0200B134_.unk2E2 = r1; - - checksum = 0; - while (size > 1) - { - checksum += *saveData++; - size -= 2; - } - if (size != 0) // never happens (size is even) - checksum += *saveData & 0xFF00; - checksum = (checksum & 0xFFFF) + (checksum >> 16); - gUnknown_0200B134_.unk2E2 = ~((checksum >> 16) + checksum); - - WriteAndVerifySramFast((u8 *)&gUnknown_0200B134_, (u8 *)0x0E000004, 0x274); - WriteAndVerifySramFast((u8 *)&gUnknown_0200B134_, (u8 *)0x0E0002A4, 0x274); + gMain_saveData.unk2E4++; + gMain_saveData.pokedexFlags[a] = b; + gMain_saveData.checksum = 0; + + checksum = 0; + while (size > 1) + { + checksum += *saveData++; + size -= 2; + } + if (size != 0) // never happens (size is even) + checksum += *saveData & 0xFF00; + checksum = (checksum & 0xFFFF) + (checksum >> 16); + gMain_saveData.checksum = ~((checksum >> 16) + checksum); + + WriteAndVerifySramFast((u8 *)&gMain_saveData, (void *)(SRAM + 0x4), sizeof(gMain_saveData)); + WriteAndVerifySramFast((u8 *)&gMain_saveData, (void *)(SRAM + 0x2A4), sizeof(gMain_saveData)); } } -void sub_52C44(void) +void SaveFile_ReadSavedGamePresent(void) { - ReadSramFast((u8 *)0x0E000544, (u8 *)&gMain.hasSavedGame, sizeof(gMain.hasSavedGame)); + ReadSramFast((void *)(SRAM + 0x544), (u8 *)&gMain.hasSavedGame, sizeof(gMain.hasSavedGame)); } void sub_52C64(void) { - s16 r1; + s16 i; + + for (i = 0; i < 10; i++) + gMain_saveData.signature[i] = gSaveFileSignature[i]; - for (r1 = 0; r1 < 10; r1++) - gUnknown_0200B134_.signature[r1] = gSaveFileSignature[r1]; - gUnknown_0200B134_.unk2E4 = 0; - gUnknown_0200B134_.unk141 = 0; - gUnknown_0200B134_.unk142 = 0; + gMain_saveData.unk2E4 = 0; + gMain_saveData.unk141 = 0; + gMain_saveData.unk142 = 0; sub_525CC(-1); sub_F6E0(); sub_8ABC(); - gUnknown_0200B134_.unk143 = 0; + gMain_saveData.unk143 = 0; } diff --git a/src/titlescreen.c b/src/titlescreen.c index 22bc699..8e19997 100755 --- a/src/titlescreen.c +++ b/src/titlescreen.c @@ -41,7 +41,7 @@ void LoadTitlescreenGraphics(void) DmaCopy16(3, gTitlescreenBg_Pals, (void *)BG_PLTT, BG_PLTT_SIZE); DmaCopy16(3, gTitlescreenBgTilemap, (void *)BG_SCREEN_ADDR(0), BG_SCREEN_SIZE); - sub_52C44(); + SaveFile_ReadSavedGamePresent(); if (gMain.hasSavedGame == TRUE) { DmaCopy16(3, gTitlescreenSprites_Pals, (void *)OBJ_PLTT, 0xA0); @@ -862,7 +862,7 @@ void sub_11968(void) void sub_11B74(void) { sub_52C64(); - sub_52B30(); + SaveFile_WriteToSram(); gMain.hasSavedGame = FALSE; WriteAndVerifySramFast((const u8 *)&gMain.hasSavedGame, (void *)0x0E000544, sizeof(gMain.hasSavedGame)); } @@ -96,7 +96,7 @@ void sub_438(void) { gMain.unk16 |= DISPCNT_FORCED_BLANK; REG_DISPCNT |= DISPCNT_FORCED_BLANK; - sub_490(); + ClearGraphicsMemory(); sub_518(); sub_578(); gMain.unkF = 0; @@ -115,7 +115,7 @@ void sub_438(void) gMain.unk2C = 0; } -void sub_490(void) +void ClearGraphicsMemory(void) { DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); DmaFill32(3, 0, (void *)OAM, OAM_SIZE); diff --git a/sym_ewram.txt b/sym_ewram.txt index 22057c0..7221969 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -96,7 +96,6 @@ gMain: @ 0x200B0C0 .space 0x40 gUnknown_0200B100: @ 0x0200B100 .space 0x34 -gUnknown_0200B134: @ 0x0200B134 .space 0x5A gUnknown_0200B18E: @ 0x0200B18E .space 0x76 |