diff options
-rw-r--r-- | asm/quest_log.s | 288 | ||||
-rw-r--r-- | src/quest_log.c | 73 |
2 files changed, 72 insertions, 289 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index a1b187919..ce8445e16 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,294 +5,6 @@ .text - thumb_func_start sub_81124EC -sub_81124EC: @ 81124EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - bl sub_8112CEC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _0811256E - ldr r2, _0811257C @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _08112580 @ =gUnknown_3005E94 - ldr r5, [r3] - lsls r0, 3 - adds r0, r5 - ldr r1, _08112584 @ =gUnknown_203B01A - mov r12, r1 - ldrh r1, [r1] - movs r4, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - strb r4, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r6, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r4, r8 - strb r4, [r0, 0x1] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r1, r9 - strb r1, [r0, 0x2] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r4, r10 - strb r4, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - mov r0, r12 - strh r7, [r0] -_0811256E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811257C: .4byte gUnknown_203AF98 -_08112580: .4byte gUnknown_3005E94 -_08112584: .4byte gUnknown_203B01A - thumb_func_end sub_81124EC - - thumb_func_start sub_8112588 -sub_8112588: @ 8112588 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - bl sub_8112D1C - lsls r0, 24 - cmp r0, 0 - bne _0811260E - ldr r2, _0811261C @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _08112620 @ =gUnknown_3005E94 - ldr r5, [r3] - lsls r0, 3 - adds r0, r5 - ldr r1, _08112624 @ =gUnknown_203B01A - mov r12, r1 - ldrh r1, [r1] - movs r4, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - strb r4, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r7, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r6, [r0, 0x1] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r4, r8 - strb r4, [r0, 0x2] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - mov r1, r9 - strb r1, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - mov r0, r10 - mov r4, r12 - strh r0, [r4] -_0811260E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811261C: .4byte gUnknown_203AF98 -_08112620: .4byte gUnknown_3005E94 -_08112624: .4byte gUnknown_203B01A - thumb_func_end sub_8112588 - - thumb_func_start sub_8112628 -sub_8112628: @ 8112628 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - bl sub_8112CEC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _08112692 - ldr r0, _0811269C @ =gUnknown_203B01C - mov r12, r0 - ldrh r0, [r0] - ldr r6, _081126A0 @ =gUnknown_3005E94 - ldr r5, [r6] - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x3] - cmp r4, r0 - bne _08112658 - cmp r4, 0x3 - bls _08112692 -_08112658: - ldr r2, _081126A4 @ =gUnknown_203AF98 - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - ldr r4, _081126A8 @ =gUnknown_203B01A - ldrh r1, [r4] - movs r3, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - strb r3, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r6] - lsls r0, 3 - adds r0, r1 - strb r3, [r0] - ldrh r0, [r2] - ldr r1, [r6] - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strb r1, [r0, 0x3] - ldrh r0, [r2] - mov r1, r12 - strh r0, [r1] - adds r0, 0x1 - strh r0, [r2] - strh r7, [r4] -_08112692: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811269C: .4byte gUnknown_203B01C -_081126A0: .4byte gUnknown_3005E94 -_081126A4: .4byte gUnknown_203AF98 -_081126A8: .4byte gUnknown_203B01A - thumb_func_end sub_8112628 - - thumb_func_start sub_81126AC -sub_81126AC: @ 81126AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - bl sub_8112D1C - lsls r0, 24 - cmp r0, 0 - bne _08112704 - ldr r2, _08112710 @ =gUnknown_203AF98 - ldrh r0, [r2] - ldr r3, _08112714 @ =gUnknown_3005E94 - ldr r4, [r3] - lsls r0, 3 - adds r0, r4 - ldr r6, _08112718 @ =gUnknown_203B01A - ldrh r1, [r6] - movs r5, 0 - strh r1, [r0, 0x4] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r4 - strb r5, [r0, 0x6] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r5, [r0] - ldrh r0, [r2] - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - strb r7, [r0, 0x3] - ldr r1, _0811271C @ =gUnknown_203B01C - ldrh r0, [r2] - strh r0, [r1] - adds r0, 0x1 - strh r0, [r2] - mov r0, r8 - strh r0, [r6] -_08112704: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112710: .4byte gUnknown_203AF98 -_08112714: .4byte gUnknown_3005E94 -_08112718: .4byte gUnknown_203B01A -_0811271C: .4byte gUnknown_203B01C - thumb_func_end sub_81126AC - thumb_func_start sub_8112720 sub_8112720: @ 8112720 push {r4-r7,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 2282520b3..3cc392165 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -43,10 +43,16 @@ struct UnkStruct_203AE94 struct UnkStruct_203AE98 { - u8 filler_0[6]; + u8 unk_0; + u8 unk_1; + u8 unk_2; + u8 unk_3; + u16 unk_4; u8 unk_6; }; +IWRAM_DATA struct UnkStruct_203AE98 * gUnknown_3005E94; + EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; @@ -61,6 +67,8 @@ EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; EWRAM_DATA u8 gUnknown_203AF9A[128]; +EWRAM_DATA u16 gUnknown_203B01A; +EWRAM_DATA u16 gUnknown_203B01C; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; @@ -103,6 +111,8 @@ void sub_811229C(void); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); +bool8 sub_8112CEC(void); +bool8 sub_8112D1C(void); void sub_8113A1C(u8); void sub_811381C(void); void sub_81138F8(void); @@ -1445,3 +1455,64 @@ void sub_811246C(struct Sprite *sprite) sub_8063E28(mapObject, sprite); } } + +void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 a3) +{ + if (!sub_8112CEC()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0; + gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1; + gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3; + gUnknown_203AF98++; + gUnknown_203B01A = 0; + } +} + +void sub_8112588(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4) +{ + if (!sub_8112D1C()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0; + gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1; + gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3; + gUnknown_203AF98++; + gUnknown_203B01A = a4; + } +} + +void sub_8112628(u8 a0) +{ + if (!sub_8112CEC()) + { + if (a0 != gUnknown_3005E94[gUnknown_203B01C].unk_3 || a0 > 3) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0; + gUnknown_203B01C = gUnknown_203AF98; + gUnknown_203AF98++; + gUnknown_203B01A = 0; + } + } +} + +void sub_81126AC(u8 a0, u8 a1) +{ + if (!sub_8112D1C()) + { + gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A; + gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0; + gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0; + gUnknown_203B01C = gUnknown_203AF98; + gUnknown_203AF98++; + gUnknown_203B01A = a1; + } +} |