diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-10-20 18:05:01 -0500 |
---|---|---|
committer | Seth Barberee <seth.barberee@gmail.com> | 2020-10-20 18:05:23 -0500 |
commit | 184d3819ab381c54821b157770d015c0dce8d82a (patch) | |
tree | 1bd77d91623cc41de9de7a8a4fcfba1f59255cdc | |
parent | 0271952426117ba1c95b2f4156a8b555104bfa1c (diff) |
more decomping of funcs
-rw-r--r-- | asm/code_800D090.s | 189 | ||||
-rw-r--r-- | asm/save1.s | 17 | ||||
-rw-r--r-- | include/input.h | 1 | ||||
-rw-r--r-- | src/code_800558C.c | 8 | ||||
-rw-r--r-- | src/code_80118A4.c | 92 | ||||
-rw-r--r-- | src/save_mid.c | 17 |
6 files changed, 114 insertions, 210 deletions
diff --git a/asm/code_800D090.s b/asm/code_800D090.s index b3c63f3..394944e 100644 --- a/asm/code_800D090.s +++ b/asm/code_800D090.s @@ -9305,193 +9305,4 @@ _08011758: .4byte gUnknown_203B46C _0801175C: .4byte gUnknown_203B47C thumb_func_end sub_801169C - thumb_func_start sub_8011760 -sub_8011760: - push {lr} - movs r0, 0xD - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08011776 - movs r0, 0x13 - bl sub_800BDFC - b _08011788 -_08011776: - movs r0, 0xC - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08011788 - movs r0, 0x7 - bl sub_800BDFC -_08011788: - pop {r0} - bx r0 - thumb_func_end sub_8011760 - - thumb_func_start sub_801178C -sub_801178C: - push {lr} - movs r0, 0xD - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080117A2 - movs r0, 0x13 - bl sub_800BDFC - b _080117A8 -_080117A2: - movs r0, 0x7 - bl sub_800BDFC -_080117A8: - pop {r0} - bx r0 - thumb_func_end sub_801178C - - thumb_func_start sub_80117AC -sub_80117AC: - push {lr} - movs r0, 0xD - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - bne _080117C0 - movs r0, 0x1E - bl sub_800BFD0 -_080117C0: - pop {r0} - bx r0 - thumb_func_end sub_80117AC - - thumb_func_start sub_80117C4 -sub_80117C4: - push {lr} - movs r0, 0x1E - bl sub_800BFD0 - pop {r0} - bx r0 - thumb_func_end sub_80117C4 - - thumb_func_start sub_80117D0 -sub_80117D0: - push {lr} - movs r0, 0x97 - lsls r0, 1 - movs r1, 0x80 - lsls r1, 1 - bl sub_800C074 - pop {r0} - bx r0 - thumb_func_end sub_80117D0 - - thumb_func_start sub_80117E4 -sub_80117E4: - push {lr} - ldr r0, _080117F4 - movs r1, 0x80 - lsls r1, 1 - bl sub_800C074 - pop {r0} - bx r0 - .align 2, 0 -_080117F4: .4byte 0x0000012f - thumb_func_end sub_80117E4 - - thumb_func_start sub_80117F8 -sub_80117F8: - push {lr} - ldr r0, _08011808 - movs r1, 0x80 - lsls r1, 1 - bl sub_800C074 - pop {r0} - bx r0 - .align 2, 0 -_08011808: .4byte 0x0000012d - thumb_func_end sub_80117F8 - - thumb_func_start sub_801180C -sub_801180C: - ldr r0, _08011820 - movs r1, 0 - str r1, [r0] - ldr r0, _08011824 - strh r1, [r0] - ldr r0, _08011828 - strh r1, [r0] - ldr r0, _0801182C - strh r1, [r0] - bx lr - .align 2, 0 -_08011820: .4byte gUnknown_202DE1C -_08011824: .4byte gUnknown_202DE20 -_08011828: .4byte gUnknown_202DE22 -_0801182C: .4byte gUnknown_202DE24 - thumb_func_end sub_801180C - - thumb_func_start sub_8011830 -sub_8011830: - push {lr} - bl sub_800C93C - ldr r0, _08011848 - movs r1, 0 - strh r1, [r0] - ldr r0, _0801184C - strh r1, [r0] - ldr r0, _08011850 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_08011848: .4byte gUnknown_202DE20 -_0801184C: .4byte gUnknown_202DE22 -_08011850: .4byte gUnknown_202DE24 - thumb_func_end sub_8011830 - - thumb_func_start sub_8011854 -sub_8011854: - push {lr} - bl sub_800C9CC - pop {r0} - bx r0 - thumb_func_end sub_8011854 - - thumb_func_start sub_8011860 -sub_8011860: - push {lr} - ldr r1, _08011898 - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08011872 - subs r0, r2, 0x1 - strh r0, [r1] -_08011872: - ldr r1, _0801189C - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08011882 - subs r0, r2, 0x1 - strh r0, [r1] -_08011882: - ldr r1, _080118A0 - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08011892 - subs r0, r2, 0x1 - strh r0, [r1] -_08011892: - pop {r0} - bx r0 - .align 2, 0 -_08011898: .4byte gUnknown_202DE20 -_0801189C: .4byte gUnknown_202DE22 -_080118A0: .4byte gUnknown_202DE24 - thumb_func_end sub_8011860 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/save1.s b/asm/save1.s index 3a64f71..543552e 100644 --- a/asm/save1.s +++ b/asm/save1.s @@ -5,23 +5,6 @@ .text - thumb_func_start sub_8012468 -sub_8012468: - push {r4,lr} - ldr r4, _08012480 - movs r0, 0x8 - movs r1, 0x5 - bl MemoryAlloc - str r0, [r4] - movs r1, 0x1 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08012480: .4byte gUnknown_203B188 - thumb_func_end sub_8012468 - thumb_func_start sub_8012484 sub_8012484: push {r4,r5,lr} diff --git a/include/input.h b/include/input.h index 0032a37..0c4208d 100644 --- a/include/input.h +++ b/include/input.h @@ -44,6 +44,7 @@ struct Input /* 0x28 */ u8 unk28; /* 0x29 */ u8 unk29; /* 0x2A */ u8 unk2A; + /* 0x2B */ u8 padding; }; void InitInput(void); diff --git a/src/code_800558C.c b/src/code_800558C.c index 773e773..4cc90e9 100644 --- a/src/code_800558C.c +++ b/src/code_800558C.c @@ -3,12 +3,12 @@ extern u32 gUnknown_203B47C; +extern u8 gUnknown_2026E38; extern u32 gUnknown_2026E3C; -extern u32 gUnknown_2026E58; -extern u32 gUnknown_2026E54; -extern u32 gUnknown_2026E50; extern u16 gUnknown_2026E4E; -extern u8 gUnknown_2026E38; +extern u32 gUnknown_2026E50; +extern u32 gUnknown_2026E54; +extern u32 gUnknown_2026E58; extern void sub_800CC44(u32 r0, u32 r1); diff --git a/src/code_80118A4.c b/src/code_80118A4.c index 85782d7..c809bdb 100644 --- a/src/code_80118A4.c +++ b/src/code_80118A4.c @@ -3,6 +3,7 @@ void sub_8011924(void); void nullsub_26(void); +extern u8 sub_80023E4(u8); extern void sub_800BDFC(u16 r0); extern void sub_800BE8C(u16 r0, u16 r1); extern void sub_800BF48(u16 r0); @@ -13,7 +14,9 @@ extern void sub_801199C(u16 r0); extern u16 sub_800C068(); extern void sub_800C074(u16 r0, u16 r1); extern void sub_800C298(u16 r0); +extern void sub_800C93C(); extern u8 sub_800C5D0(u16 r0); +extern void sub_800C9CC(); extern void nullsub_27(void); extern void nullsub_29(void); @@ -31,9 +34,98 @@ struct UnkStructType extern u16 gUnknown_80D4144[]; extern struct UnkStructType gUnknown_202DE20; extern struct UnkStructType gUnknown_202DE22; +extern struct UnkStructType gUnknown_202DE24; extern u32 gUnknown_202DE1C; extern u32 gUnknown_203B14C; +void sub_8011760(void) +{ + if(sub_80023E4(0xD) != 0) + { + sub_800BDFC(0x13); + return; + } + if(sub_80023E4(0xC) != 0) + { + sub_800BDFC(0x7); + } +} + +void sub_801178C(void) +{ + if(sub_80023E4(0xD) != 0) + { + sub_800BDFC(0x13); + return; + } + sub_800BDFC(0x7); +} + +void sub_80117AC(void) +{ + if(sub_80023E4(0xD) == 0) + { + sub_800BFD0(0x1E); + } +} + +void sub_80117C4(void) +{ + sub_800BFD0(0x1E); +} + +void sub_80117D0(void) +{ + sub_800C074(0x97 << 1, 0x80 << 1); +} + +void sub_80117E4(void) +{ + sub_800C074(0x12f, 0x80 << 1); +} + +void sub_80117F8(void) +{ + sub_800C074(0x12d, 0x80 << 1); +} + +void sub_801180C(void) +{ + gUnknown_202DE1C = 0; + gUnknown_202DE20.unk0 = 0; + gUnknown_202DE22.unk0 = 0; + gUnknown_202DE24.unk0 = 0; +} + +void sub_8011830(void) +{ + sub_800C93C(); + gUnknown_202DE20.unk0 = 0; + gUnknown_202DE22.unk0 = 0; + gUnknown_202DE24.unk0 = 0; +} + +void sub_8011854(void) +{ + sub_800C9CC(); +} + +void sub_8011860(void) +{ + if(gUnknown_202DE20.unk0 > 0) + { + gUnknown_202DE20.unk0--; + } + if(gUnknown_202DE22.unk0 > 0) + { + gUnknown_202DE22.unk0--; + } + if(gUnknown_202DE24.unk0 > 0) + { + gUnknown_202DE24.unk0--; + } +} + void sub_80118A4(void) { sub_8011924(); diff --git a/src/save_mid.c b/src/save_mid.c index 67ad932..d401ec3 100644 --- a/src/save_mid.c +++ b/src/save_mid.c @@ -4,6 +4,14 @@ extern struct UnkStruct_203B184 *gUnknown_203B184; extern struct unkTimeStruct *gUnknown_203B47C; +struct unk_203B188 +{ + u32 unk0; + u32 unk4; +}; + +extern struct unk_203B188 *gUnknown_203B188; + extern u32 gUnknown_203B460; extern u32 gUnknown_203B45C; extern u32 gUnknown_203B480; @@ -50,6 +58,8 @@ extern void sub_8012240(); extern void sub_8094FA8(struct unkTimeStruct *Time); // defined in src/code_8094F88.c extern struct unkTimeStruct *sub_8094FA0(void); +extern void* MemoryAlloc(u32 a, u32 b); + void sub_80122D0(); void sub_80122F4(); void sub_8012300(); @@ -156,3 +166,10 @@ void sub_8012334(struct UnkStruct_203B184 *r0) gUnknown_203B47C = sub_8094FA0(); } + +void sub_8012468(void) +{ + gUnknown_203B188 = MemoryAlloc(sizeof(struct unk_203B188), 5); + gUnknown_203B188->unk0 = 1; + +} |