summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/quest_log.s103
-rw-r--r--src/quest_log.c35
2 files changed, 35 insertions, 103 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index 2b2b22c14..ddde56738 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,109 +5,6 @@
.text
- thumb_func_start sub_8114D18
-sub_8114D18: @ 8114D18
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsrs r0, 16
- bl sub_8113DE0
- adds r1, r0, 0
- cmp r1, 0
- beq _08114D44
- ldrh r0, [r4, 0x2]
- strh r0, [r1]
- ldrh r0, [r4, 0x4]
- strh r0, [r1, 0x2]
- ldrh r0, [r4]
- strh r0, [r1, 0x4]
- ldrb r0, [r4, 0x7]
- strb r0, [r1, 0x6]
- ldrb r0, [r4, 0x6]
- strb r0, [r1, 0x7]
- adds r0, r1, 0
- adds r0, 0x8
- b _08114D46
-_08114D44:
- movs r0, 0
-_08114D46:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8114D18
-
- thumb_func_start sub_8114D4C
-sub_8114D4C: @ 8114D4C
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r1, _08114D64 @ =gUnknown_203B048
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1E
- adds r1, r3, 0
- bl sub_8114D18
- pop {r1}
- bx r1
- .align 2, 0
-_08114D64: .4byte gUnknown_203B048
- thumb_func_end sub_8114D4C
-
- thumb_func_start sub_8114D68
-sub_8114D68: @ 8114D68
- push {r4-r6,lr}
- adds r1, r0, 0
- movs r0, 0x1E
- bl sub_8113E88
- adds r4, r0, 0
- adds r6, r4, 0x6
- bl UnkTextUtil_Reset
- ldr r5, _08114DD4 @ =gStringVar1
- ldrb r1, [r4, 0x6]
- adds r0, r5, 0
- bl sub_80C4DF8
- movs r0, 0
- adds r1, r5, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4, 0x4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08114DD8 @ =gTrainers+0x4
- adds r1, r0
- movs r0, 0x1
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4]
- movs r1, 0
- movs r2, 0x2
- bl QuestLog_AutoGetSpeciesName
- ldrh r0, [r4, 0x2]
- movs r1, 0
- movs r2, 0x3
- bl QuestLog_AutoGetSpeciesName
- ldr r1, _08114DDC @ =gUnknown_8456ACC
- ldrb r0, [r6, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x4
- bl UnkTextUtil_SetPtrI
- ldr r0, _08114DE0 @ =gStringVar4
- ldr r1, _08114DE4 @ =gUnknown_841AF0C
- bl UnkTextUtil_StringExpandPlaceholders
- adds r4, 0x8
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08114DD4: .4byte gStringVar1
-_08114DD8: .4byte gTrainers+0x4
-_08114DDC: .4byte gUnknown_8456ACC
-_08114DE0: .4byte gStringVar4
-_08114DE4: .4byte gUnknown_841AF0C
- thumb_func_end sub_8114D68
-
thumb_func_start sub_8114DE8
sub_8114DE8: @ 8114DE8
push {r4-r6,lr}
diff --git a/src/quest_log.c b/src/quest_log.c
index f4b964d96..d43027e57 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -4332,3 +4332,38 @@ const u16 * sub_8114CE4(const u16 * a0)
StringExpandPlaceholders(gStringVar4, gUnknown_841A3DA);
return r4 + 1;
}
+
+u16 * sub_8114D18(u16 a0, u16 * a1, const u16 * a2)
+{
+ a1 = sub_8113DE0(a0, a1);
+ if (a1 == NULL)
+ return NULL;
+ a1[0] = a2[1];
+ a1[1] = a2[2];
+ a1[2] = a2[0];
+ *((u8 *)a1 + 6) = *((const u8 *)a2 + 7);
+ *((u8 *)a1 + 7) = *((const u8 *)a2 + 6);
+ return a1 + 4;
+}
+
+u16 * sub_8114D4C(u16 * a0, const u16 * a1)
+{
+ gUnknown_203B048 = TRUE;
+ return sub_8114D18(30, a0, a1);
+}
+
+const u16 * sub_8114D68(const u16 * a0)
+{
+ const u8 * r6;
+ a0 = sub_8113E88(30, a0);
+ r6 = (const u8 *)a0 + 6;
+ UnkTextUtil_Reset();
+ sub_80C4DF8(gStringVar1, r6[0]);
+ UnkTextUtil_SetPtrI(0, gStringVar1);
+ UnkTextUtil_SetPtrI(1, gTrainers[a0[2]].trainerName);
+ QuestLog_AutoGetSpeciesName(a0[0], 0, 2);
+ QuestLog_AutoGetSpeciesName(a0[1], 0, 3);
+ UnkTextUtil_SetPtrI(4, gUnknown_8456ACC[r6[1]]);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF0C);
+ return a0 + 4;
+}