diff options
| author | notyouraveragehooman <65437533+notyouraveragehooman@users.noreply.github.com> | 2020-08-05 00:44:09 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-05 00:44:09 -0700 |
| commit | 1912771187ac03041ced8e7dcfe37dccff494cd3 (patch) | |
| tree | 06d5640ac9adb49f25a2f286ffcfd95addf4dff7 /src/code_0807CC3C.c | |
| parent | eb911c9248deb5392ad1ceba095501fdb77c6156 (diff) | |
| parent | 1002af33602ddf1dbe2e8dd9500622516e02ca41 (diff) | |
Merge pull request #39 from notyouraveragehooman:master
annotated ram func calls, various struct changes
Diffstat (limited to 'src/code_0807CC3C.c')
| -rw-r--r-- | src/code_0807CC3C.c | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c new file mode 100644 index 00000000..b5b1c4ee --- /dev/null +++ b/src/code_0807CC3C.c @@ -0,0 +1,125 @@ +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "menu.h" +#include "structures.h" + +extern void (*const gUnk_0811E478[])(u32); + +extern s16 gUnk_02021EE0[6]; + +void sub_0807CD9C() { + sub_080530C8(); +} + +void sub_0807CDA4(u32 arg0) { + gUnk_0811E478[gMenu.storyPanelIndex](arg0); +} + +u32 sub_0807CDC0(void) { + gUnk_02021EE0[5] -= 8; + if (gUnk_02021EE0[4] <= 0) { + gMenu.field_0xa = 8; + gMenu.storyPanelIndex = 1; + } + return 0; +} + +u32 sub_0807CDE8(u32 arg0) { + u32 temp; + + if (gMenu.field_0xa == 0) { + sub_0805616C(); + switch (arg0) { + case 0: + temp = sub_0807CF08(gUnk_02000000->saveFile, gUnk_02002A40.filler0); + break; + case 1: + sub_0807CF48(gUnk_02000000->saveFile); + temp = 1; + break; + case 2: + temp = sub_0807CF10((u8*)gUnk_02000000->header); + break; + } + gMenu.field_0xa = temp; + gMenu.storyPanelIndex = 2; + sub_08056208(); + } else { + gMenu.field_0xa--; + } + return 0; +} + +s32 sub_0807CE54(void) { + u32 uVar1; + + uVar1 = 0; + gUnk_02021EE0[5] += 8; + if (gUnk_02021EE0[3] <= gUnk_02021EE0[5]) { + gUnk_02021EE0[5] = gUnk_02021EE0[3]; + sub_08050384(); + gMenu.storyPanelIndex = 0; + if (gMenu.field_0xa == 1) { + uVar1 = 1; + } else { + uVar1 = -1; + } + } + return uVar1; +} + +extern char gUnk_0811E484[]; + +u32 sub_0807CE90(void) +{ + struct_0807D1C4 *puVar1; + int iVar2; + int iVar3; + + sub_080B1520(0x40); + puVar1 = sub_0807D1C4(4); + iVar3 = 0; + if (sub_0807D24C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0) == 0) { + iVar3 += 1; + } + if (sub_0807D24C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0) == 0) { + iVar3 += 2; + } + if (iVar3 != 0) { + if (iVar3 == 3) { + sub_0807CF68(5); + sub_0807CF68(3); + sub_0807CF68(2); + sub_0807CF68(1); + sub_0807CF68(0); + } + sub_0807D20C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0); + sub_0807D20C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0); + } + return 1; +} + +u32 sub_0807CF08(u32 arg0, u8* arg1) { + return sub_0807CF88(arg0, arg1); +} + +u32 sub_0807CF10(u8* arg0) { + return sub_0807CF88(3, arg0); +} + +u32 sub_0807CF1C(u8* arg0) { + return sub_0807CF88(5, arg0); +} + +u32 sub_0807CF28(u32 arg0, void* arg1) { + return sub_0807D008(arg0, arg1); +} + +u32 sub_0807CF30(void* arg0) { + return sub_0807D008(3, arg0); +} + +u32 sub_0807CF3C(void* arg0) { + return sub_0807D008(5, arg0); +} |
