diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-15 11:30:50 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-15 11:30:50 -0500 |
commit | 3f43d60bc240bfcdc3da254bf9ff50af3cbaee1a (patch) | |
tree | 81408df9bc8c6528546f9da74084f5030b33f674 | |
parent | 1c90805498f7a03d415d74bfe3b380396b81e14f (diff) |
through sub_8112EB4
-rw-r--r-- | asm/quest_log.s | 157 | ||||
-rw-r--r-- | data/quest_log.s | 10 | ||||
-rw-r--r-- | src/quest_log.c | 63 |
3 files changed, 64 insertions, 166 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index 22a28b96f..d6dc18f13 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,163 +5,6 @@ .text - thumb_func_start sub_8112DB0 -sub_8112DB0: @ 8112DB0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - ldr r0, _08112E20 @ =gUnknown_203AF98 - ldrh r1, [r0] - cmp r1, 0 - beq _08112E18 - ldr r0, _08112E24 @ =gUnknown_3005E8C - ldrh r0, [r0] - cmp r1, r0 - bcs _08112E18 - ldr r6, _08112E28 @ =gUnknown_203B01E - ldr r1, _08112E2C @ =gUnknown_3002020 - ldrh r0, [r6] - ldrh r1, [r1] - cmp r0, r1 - bcs _08112E18 - adds r2, r0, 0 - ldr r5, _08112E30 @ =gUnknown_300201C - ldr r4, [r5] - lsls r2, 2 - adds r2, r4 - ldr r1, _08112E34 @ =0x00007fff - ands r1, r3 - ldrh r3, [r2] - ldr r0, _08112E38 @ =0xffff8000 - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - ldrh r1, [r6] - lsls r1, 2 - adds r1, r4 - lsls r3, r7, 7 - ldrb r2, [r1, 0x1] - movs r0, 0x7F - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x1] - ldrh r0, [r6] - ldr r1, [r5] - lsls r0, 2 - adds r0, r1 - mov r1, r12 - strh r1, [r0, 0x2] - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_08112E18: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112E20: .4byte gUnknown_203AF98 -_08112E24: .4byte gUnknown_3005E8C -_08112E28: .4byte gUnknown_203B01E -_08112E2C: .4byte gUnknown_3002020 -_08112E30: .4byte gUnknown_300201C -_08112E34: .4byte 0x00007fff -_08112E38: .4byte 0xffff8000 - thumb_func_end sub_8112DB0 - - thumb_func_start sub_8112E3C -sub_8112E3C: @ 8112E3C - push {r4,r5,lr} - lsls r0, 24 - lsls r2, 16 - lsrs r3, r0, 24 - movs r4, 0xFF - lsls r4, 24 - adds r0, r4 - lsrs r0, 24 - cmp r0, 0x1 - bls _08112E5C - ldr r1, _08112E58 @ =gUnknown_3005E88 - movs r0, 0 - strb r0, [r1] - b _08112E8E - .align 2, 0 -_08112E58: .4byte gUnknown_3005E88 -_08112E5C: - ldr r5, _08112E94 @ =gUnknown_300201C - str r1, [r5] - ldr r1, _08112E98 @ =gUnknown_3002020 - lsrs r0, r2, 18 - strh r0, [r1] - ldr r1, _08112E9C @ =gUnknown_203B01E - movs r0, 0 - strh r0, [r1] - cmp r3, 0x2 - bne _08112E8E - movs r2, 0 - ldr r4, _08112EA0 @ =gUnknown_3005E8C - ldrh r0, [r4] - cmp r2, r0 - bge _08112E8E - ldr r0, _08112EA4 @ =gUnknown_84566A4 - ldr r3, [r0] -_08112E7E: - ldr r1, [r5] - lsls r0, r2, 2 - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - ldrh r0, [r4] - cmp r2, r0 - blt _08112E7E -_08112E8E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08112E94: .4byte gUnknown_300201C -_08112E98: .4byte gUnknown_3002020 -_08112E9C: .4byte gUnknown_203B01E -_08112EA0: .4byte gUnknown_3005E8C -_08112EA4: .4byte gUnknown_84566A4 - thumb_func_end sub_8112E3C - - thumb_func_start sub_8112EA8 -sub_8112EA8: @ 8112EA8 - ldr r1, _08112EB0 @ =gUnknown_203B020 - movs r0, 0xFF - strb r0, [r1] - bx lr - .align 2, 0 -_08112EB0: .4byte gUnknown_203B020 - thumb_func_end sub_8112EA8 - - thumb_func_start sub_8112EB4 -sub_8112EB4: @ 8112EB4 - push {r4,lr} - ldr r4, _08112ED4 @ =gUnknown_203B020 - ldrb r0, [r4] - cmp r0, 0xFF - bne _08112ECC - ldr r0, _08112ED8 @ =gUnknown_8456928 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - bl PutWindowTilemap -_08112ECC: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08112ED4: .4byte gUnknown_203B020 -_08112ED8: .4byte gUnknown_8456928 - thumb_func_end sub_8112EB4 - thumb_func_start sub_8112EDC sub_8112EDC: @ 8112EDC push {r4,r5,lr} diff --git a/data/quest_log.s b/data/quest_log.s index dd7776ae0..a68d924a7 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,14 +1,6 @@ .section .rodata -gUnknown_84566A4:: @ 84566A4 - .incbin "baserom.gba", 0x4566A4, 0x4 - -gUnknown_84566A8:: @ 84566A8 - .incbin "baserom.gba", 0x4566A8, 0x280 - -gUnknown_8456928:: @ 8456928 - .incbin "baserom.gba", 0x456928, 0x8 - + .align 2 gUnknown_8456930:: @ 8456930 .incbin "baserom.gba", 0x456930, 0x4 diff --git a/src/quest_log.c b/src/quest_log.c index 1419ca8a0..590892acf 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -84,6 +84,7 @@ EWRAM_DATA u8 gUnknown_203AF9A[64][2]; EWRAM_DATA u16 gUnknown_203B01A; EWRAM_DATA u16 gUnknown_203B01C; EWRAM_DATA u16 gUnknown_203B01E; +EWRAM_DATA u8 gUnknown_203B020; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; @@ -1979,6 +1980,12 @@ bool8 sub_8112D1C(void) return FALSE; } +const struct UnkStruct_300201C gUnknown_84566A4 = { + 0, + FALSE, + 0x7FFF +}; + u16 * sub_8112D40(u8 a0, u16 a1) { u16 * response; @@ -1997,3 +2004,59 @@ u16 * sub_8112D40(u8 a0, u16 a1) response = NULL; return response; } + +void sub_8112DB0(u8 a0, u16 a1, u16 a2) +{ + if (gUnknown_203AF98 == 0) + return; + if (gUnknown_203AF98 >= gUnknown_3005E8C) + return; + if (gUnknown_203B01E >= gUnknown_3002020) + return; + gUnknown_300201C[gUnknown_203B01E].unk_0_0 = a1; + gUnknown_300201C[gUnknown_203B01E].unk_0_f = a0; + gUnknown_300201C[gUnknown_203B01E].unk_2 = a2; + gUnknown_203B01E++; +} + +void sub_8112E3C(u8 a0, struct UnkStruct_300201C * a1, u16 a2) +{ + s32 i; + + if (a0 == 0 || a0 > 2) + gUnknown_3005E88 = 0; + else + { + gUnknown_300201C = a1; + gUnknown_3002020 = a2 >> 2; + gUnknown_203B01E = 0; + if (a0 == 2) + { + for (i = 0; i < gUnknown_3005E8C; i++) + { + gUnknown_300201C[i] = gUnknown_84566A4; + } + } + } +} + +const u16 gUnknown_84566A8[] = INCBIN_U16("data/graphics/unknown_84566a8.bin"); + +const struct WindowTemplate gUnknown_8456928 = { + 0x00, 0, 15, 30, 5, 15, 0x008F +}; + +void sub_8112EA8(void) +{ + gUnknown_203B020 = 0xFF; +} + +u8 sub_8112EB4(void) +{ + if (gUnknown_203B020 == 0xFF) + { + gUnknown_203B020 = AddWindow(&gUnknown_8456928); + PutWindowTilemap(gUnknown_203B020); + } + return gUnknown_203B020; +} |