diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-16 13:07:02 -0700 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-16 13:07:02 -0700 |
commit | 9dd047d9db67586529cbde6a32176413af659c1d (patch) | |
tree | dd3b97d998773041a7f8f405e8705b6e078331ef | |
parent | 11066dc88f55c32ec1877c2f7e995412c4a07318 (diff) |
sub_81131FC
-rw-r--r-- | asm/quest_log.s | 77 | ||||
-rw-r--r-- | data/quest_log.s | 3 | ||||
-rw-r--r-- | src/quest_log.c | 29 |
3 files changed, 29 insertions, 80 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index c8f7f9a29..2f032248a 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,83 +5,6 @@ .text - thumb_func_start sub_81131FC -sub_81131FC: @ 81131FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - movs r0, 0 - mov r8, r0 - adds r0, r7, 0 - bl sub_81132A0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08113228 - movs r0, 0 - b _08113276 -_0811321C: - lsls r4, r6 - ldrb r0, [r7, 0x1] - eors r4, r0 - strb r4, [r7, 0x1] - adds r0, r6, 0 - b _08113276 -_08113228: - movs r5, 0 - movs r4, 0x1 -_0811322C: - ldrb r1, [r7, 0x1] - ldr r2, _08113284 @ =gUnknown_8456940 - adds r0, r5, r2 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0811324E - mov r8, r5 - str r2, [sp] - bl Random - adds r1, r4, 0 - ands r1, r0 - ldr r2, [sp] - cmp r1, 0 - bne _0811321C -_0811324E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0811322C - ldrb r1, [r7, 0x1] - mov r3, r8 - adds r0, r3, r2 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08113274 - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strb r1, [r7, 0x1] -_08113274: - adds r0, r2, 0 -_08113276: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08113284: .4byte gUnknown_8456940 - thumb_func_end sub_81131FC - thumb_func_start sub_8113288 sub_8113288: @ 8113288 push {lr} diff --git a/data/quest_log.s b/data/quest_log.s index 839a9d9e5..527fadb75 100644 --- a/data/quest_log.s +++ b/data/quest_log.s @@ -1,9 +1,6 @@ .section .rodata .align 2 -gUnknown_8456940:: @ 8456940 - .incbin "baserom.gba", 0x456940, 0x8 - gUnknown_8456948:: @ 8456948 .incbin "baserom.gba", 0x456948, 0xAC diff --git a/src/quest_log.c b/src/quest_log.c index 30f529615..51ffaac11 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2331,3 +2331,32 @@ u8 sub_8113194(struct Var4038Struct * a0) a0->unk_1 |= 1 << gUnknown_8456938[retval]; return gUnknown_8456938[retval]; } + +const u8 gUnknown_8456940[] = { + 5, 6, 3, 7, 4, 1, 0, 2 +}; + +u8 sub_81131FC(struct Var4038Struct * a0) +{ + u8 i; + u8 retval = 0; + + if (sub_81132A0(a0) == 1) + return 0; + + for (i = 0; i < 8; i++) + { + if ((a0->unk_1 >> gUnknown_8456940[i]) & 1) + { + retval = i; + if (Random() % 2) + { + a0->unk_1 ^= 1 << gUnknown_8456940[i]; + return gUnknown_8456940[i]; + } + } + } + if ((a0->unk_1 >> gUnknown_8456940[retval]) & 1) + a0->unk_1 ^= 1 << gUnknown_8456940[retval]; + return gUnknown_8456940[retval]; +} |