summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-16 12:56:37 -0700
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-16 12:56:37 -0700
commit11066dc88f55c32ec1877c2f7e995412c4a07318 (patch)
tree8fbd84a8df24576a6471a809e2fc26d2e752374b
parent6d31e24cba449b856f63c8279339bf1406013b83 (diff)
sub_8113194
-rw-r--r--asm/quest_log.s58
-rw-r--r--data/quest_log.s3
-rw-r--r--src/quest_log.c29
3 files changed, 28 insertions, 62 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index fa9018ce5..c8f7f9a29 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,64 +5,6 @@
.text
- thumb_func_start sub_8113194
-sub_8113194: @ 8113194
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0x1
-_081131A4:
- ldrb r1, [r5, 0x1]
- ldr r0, _081131D0 @ =gUnknown_8456938
- adds r0, r6, r0
- ldrb r4, [r0]
- asrs r1, r4
- ands r1, r7
- cmp r1, 0
- bne _081131D4
- mov r8, r6
- bl Random
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _081131D4
- adds r0, r7, 0
- lsls r0, r4
- ldrb r1, [r5, 0x1]
- orrs r0, r1
- strb r0, [r5, 0x1]
- adds r0, r4, 0
- b _081131EE
- .align 2, 0
-_081131D0: .4byte gUnknown_8456938
-_081131D4:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _081131A4
- ldr r0, _081131F8 @ =gUnknown_8456938
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x1
- lsls r1, r0
- ldrb r2, [r5, 0x1]
- orrs r1, r2
- strb r1, [r5, 0x1]
-_081131EE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081131F8: .4byte gUnknown_8456938
- thumb_func_end sub_8113194
-
thumb_func_start sub_81131FC
sub_81131FC: @ 81131FC
push {r4-r7,lr}
diff --git a/data/quest_log.s b/data/quest_log.s
index 4cbfdbd28..839a9d9e5 100644
--- a/data/quest_log.s
+++ b/data/quest_log.s
@@ -1,9 +1,6 @@
.section .rodata
.align 2
-gUnknown_8456938:: @ 8456938
- .incbin "baserom.gba", 0x456938, 0x8
-
gUnknown_8456940:: @ 8456940
.incbin "baserom.gba", 0x456940, 0x8
diff --git a/src/quest_log.c b/src/quest_log.c
index 36de09ca7..30f529615 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -5,6 +5,7 @@
#include "task.h"
#include "palette.h"
#include "menu.h"
+#include "random.h"
#include "menu_helpers.h"
#include "window.h"
#include "text_window.h"
@@ -36,6 +37,7 @@ struct Var4038Struct
{
u8 unk_0_0:7;
u8 unk_0_7:1;
+ u8 unk_1;
};
struct UnkStruct_203AE94
@@ -139,7 +141,7 @@ bool8 sub_8112D1C(void);
void sub_8113078(struct Var4038Struct *);
void sub_81130BC(struct Var4038Struct *);
u16 sub_81132A0(struct Var4038Struct *);
-void sub_8113194(struct Var4038Struct *);
+u8 sub_8113194(struct Var4038Struct *);
void sub_81132E0(struct Var4038Struct *);
bool8 sub_8113508(void);
void sub_8113524(struct Var4038Struct *);
@@ -2304,3 +2306,28 @@ u8 sub_8113114(struct Var4038Struct * a0, u8 a1)
return a0->unk_0_0;
}
+
+const u8 gUnknown_8456938[] = {
+ 1, 3, 5, 0, 7, 6, 4, 2
+};
+
+u8 sub_8113194(struct Var4038Struct * a0)
+{
+ u8 i;
+ u8 retval = 0;
+
+ for (i = 0; i < 8; i++)
+ {
+ if (!((a0->unk_1 >> gUnknown_8456938[i]) & 1))
+ {
+ retval = i;
+ if (Random() % 2)
+ {
+ a0->unk_1 |= 1 << gUnknown_8456938[i];
+ return gUnknown_8456938[i];
+ }
+ }
+ }
+ a0->unk_1 |= 1 << gUnknown_8456938[retval];
+ return gUnknown_8456938[retval];
+}