diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-12-17 13:17:58 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 13:17:58 -0600 |
commit | 096de8d9b2ffd90c52e790296bfd7c5436d45ca3 (patch) | |
tree | 9c5af2e04dea05221c71946a5dfc06471f77801d /src/save1.c | |
parent | bc504264f1e54b3c1e482710c592e5549828bfe1 (diff) | |
parent | f90f3affeb9b0a66aa7df68f5fdecd692033faf9 (diff) |
Merge pull request #12 from SethBarberee/master
Merge work from SethBarberee/pmd-red into pret.
Diffstat (limited to 'src/save1.c')
-rw-r--r-- | src/save1.c | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/save1.c b/src/save1.c index b7de6c6..a194557 100644 --- a/src/save1.c +++ b/src/save1.c @@ -1,6 +1,55 @@ #include "global.h" +#include "code_800558C.h" +#include "input.h" + + +struct UnkSaveStruct1 +{ + /* 0x0 */ u32 unk0; + /* 0x4 */ u32 unk4; + /* 0x8 */ u16 unk8; + /* 0xA */ u8 unkA; +}; + +struct UnkStruct +{ + /* 0x0 */ u8 unk0; + /* 0x1 */ u8 unk1; + /* 0x2 */ u8 unk2; + /* 0x3 */ u8 unk3; + /* 0x4 */ u8 unk4; + /* 0x5 */ u32 unk5; + /* 0x9 */ u32 unk9; + /* 0xD */ u32 unkD; + /* 0x12 */ u32 unk11; + /* 0x16 */ u32 unk15; + /* 0x1A */ u32 unk19; + /* 0x1E */ u32 unk1D; + /* 0x24 */ u32 unk24; + /* 0x28 */ u8 unk28; + /* 0x29 */ u8 unk29; + /* 0x2A */ u8 unk2A; + /* 0x2B */ u8 unk2B; + /* 0x2C */ u8 unk2C; +}; extern void MemoryFree(void *); +extern void sub_8011860(); +extern void xxx_draw_string_80144C4(); +extern void nullsub_8(u8); +extern void sub_8005180(); +extern void sub_800CB20(); +extern void CopySpritesToOam(); +extern void sub_8005304(); +extern void TransferBGPaletteBuffer(); +extern void xxx_call_update_bg_vram(); +extern void sub_8009908(); +extern void xxx_call_update_bg_sound_input(); +extern void ResetSprites(u8 r0); +extern u32 sub_8012AE8(void); +extern void nullsub_34(struct UnkStruct *r0); + +extern struct UnkSaveStruct1 *gUnknown_203B46C; extern u8 *gUnknown_203B194; @@ -11,3 +60,71 @@ void sub_80129FC() gUnknown_203B194 = NULL; } } + +void sub_8012A18() +{ + sub_8011860(); + xxx_draw_string_80144C4(); + nullsub_8(gUnknown_203B46C->unkA); + sub_8005180(); + sub_80060EC(); + sub_800CB20(); + sub_800485C(); // Input related + CopySpritesToOam(); + sub_8005304(); + TransferBGPaletteBuffer(); + xxx_call_update_bg_vram(); + sub_8009908(); + xxx_call_update_bg_sound_input(); + ResetSprites(0); +} + +u32 sub_8012A64(struct UnkStruct *r0, u32 r1) +{ + if(r0 == NULL) + { + return sub_8012AE8(); + } + if(r1 != -1) + { + nullsub_34(r0); + } + if(r0->unk1 != 0) + { + r0->unk1 = 0; + return 1; + } + if(r0->unk2 == 0) + { + return sub_8012AE8(); + } + r0->unk2 = r0->unk1; + return 2; +} + +// TODO match that one line +//u32 GetKeyPress(struct UnkStruct *r0) +//{ +// if(r0 == NULL) +// { +// return sub_8012AE8(); +// } +// // TODO it's not a struct access.. +// if(r0->unk29 != 0) +// { +// return 1; +// } +// if(r0->unk2A != 0) +// { +// return 2; +// } +// if(r0->unk2C != 0) +// { +// return 9; +// } +// if(r0->unk2B == 0) +// { +// return sub_8012AE8(); +// } +// return 0xA; +//} |