summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/quest_log.s267
-rw-r--r--src/quest_log.c113
2 files changed, 113 insertions, 267 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index a5b8ae30e..f9b059837 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,273 +5,6 @@
.text
- thumb_func_start sub_811488C
-sub_811488C: @ 811488C
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0x14
- adds r1, r2, 0
- bl sub_8113DE0
- adds r2, r0, 0
- cmp r2, 0
- beq _081148B4
- ldrh r0, [r4]
- strh r0, [r2]
- ldrh r0, [r4, 0x2]
- strh r0, [r2, 0x2]
- ldrb r0, [r4, 0x4]
- strb r0, [r2, 0x4]
- ldrb r0, [r4, 0x5]
- strb r0, [r2, 0x5]
- adds r0, r2, 0x6
- b _081148B6
-_081148B4:
- movs r0, 0
-_081148B6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811488C
-
- thumb_func_start sub_81148BC
-sub_81148BC: @ 81148BC
- push {r4,r5,lr}
- adds r1, r0, 0
- movs r0, 0x14
- bl sub_8113E88
- adds r4, r0, 0
- adds r5, r4, 0x4
- bl UnkTextUtil_Reset
- ldrb r0, [r4, 0x4]
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4]
- movs r1, 0
- movs r2, 0x1
- bl QuestLog_AutoGetSpeciesName
- ldrb r0, [r5, 0x1]
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0x2
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4, 0x2]
- movs r1, 0
- movs r2, 0x3
- bl QuestLog_AutoGetSpeciesName
- ldr r0, _08114910 @ =gStringVar4
- ldr r1, _08114914 @ =gUnknown_841A566
- bl UnkTextUtil_StringExpandPlaceholders
- adds r4, 0x6
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08114910: .4byte gStringVar4
-_08114914: .4byte gUnknown_841A566
- thumb_func_end sub_81148BC
-
- thumb_func_start sub_8114918
-sub_8114918: @ 8114918
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0x15
- adds r1, r2, 0
- bl sub_8113DE0
- adds r2, r0, 0
- cmp r2, 0
- beq _0811493C
- ldrh r0, [r4]
- strh r0, [r2]
- ldrh r0, [r4, 0x2]
- strh r0, [r2, 0x2]
- ldrb r0, [r4, 0x4]
- strb r0, [r2, 0x4]
- adds r0, r2, 0x6
- b _0811493E
-_0811493C:
- movs r0, 0
-_0811493E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8114918
-
- thumb_func_start sub_8114944
-sub_8114944: @ 8114944
- push {r4,lr}
- adds r1, r0, 0
- movs r0, 0x15
- bl sub_8113E88
- adds r4, r0, 0
- bl UnkTextUtil_Reset
- ldrb r0, [r4, 0x4]
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4]
- movs r1, 0
- movs r2, 0x1
- bl QuestLog_AutoGetSpeciesName
- ldrh r0, [r4, 0x2]
- movs r1, 0
- movs r2, 0x2
- bl QuestLog_AutoGetSpeciesName
- ldr r0, _08114988 @ =gStringVar4
- ldr r1, _0811498C @ =gUnknown_841A5D9
- bl UnkTextUtil_StringExpandPlaceholders
- adds r4, 0x6
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08114988: .4byte gStringVar4
-_0811498C: .4byte gUnknown_841A5D9
- thumb_func_end sub_8114944
-
- thumb_func_start sub_8114990
-sub_8114990: @ 8114990
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0x16
- adds r1, r2, 0
- bl sub_8113DE0
- adds r2, r0, 0
- cmp r2, 0
- bne _081149A8
- movs r0, 0
- b _081149CA
-_081149A8:
- adds r1, r2, 0x4
- ldrb r0, [r4, 0x4]
- cmp r0, 0xE
- bne _081149BC
- ldrh r0, [r4, 0x2]
- strh r0, [r2]
- ldrh r0, [r4]
- strh r0, [r2, 0x2]
- ldrb r0, [r4, 0x5]
- b _081149C6
-_081149BC:
- ldrh r0, [r4]
- strh r0, [r2]
- ldrh r0, [r4, 0x2]
- strh r0, [r2, 0x2]
- ldrb r0, [r4, 0x4]
-_081149C6:
- strb r0, [r2, 0x4]
- adds r0, r1, 0x2
-_081149CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8114990
-
- thumb_func_start sub_81149D0
-sub_81149D0: @ 81149D0
- push {r4,lr}
- adds r1, r0, 0
- movs r0, 0x16
- bl sub_8113E88
- adds r4, r0, 0
- bl UnkTextUtil_Reset
- ldrb r0, [r4, 0x4]
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4]
- movs r1, 0
- movs r2, 0x1
- bl QuestLog_AutoGetSpeciesName
- ldrh r0, [r4, 0x2]
- movs r1, 0
- movs r2, 0x2
- bl QuestLog_AutoGetSpeciesName
- ldr r0, _08114A14 @ =gStringVar4
- ldr r1, _08114A18 @ =gUnknown_841A60A
- bl UnkTextUtil_StringExpandPlaceholders
- adds r4, 0x6
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08114A14: .4byte gStringVar4
-_08114A18: .4byte gUnknown_841A60A
- thumb_func_end sub_81149D0
-
- thumb_func_start sub_8114A1C
-sub_8114A1C: @ 8114A1C
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0x17
- adds r1, r2, 0
- bl sub_8113DE0
- adds r2, r0, 0
- cmp r2, 0
- beq _08114A42
- ldrh r0, [r4]
- strh r0, [r2]
- adds r0, r2, 0x2
- ldrb r1, [r4, 0x4]
- strb r1, [r2, 0x2]
- ldrb r1, [r4, 0x5]
- strb r1, [r0, 0x1]
- adds r0, 0x2
- b _08114A44
-_08114A42:
- movs r0, 0
-_08114A44:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8114A1C
-
- thumb_func_start sub_8114A4C
-sub_8114A4C: @ 8114A4C
- push {r4,r5,lr}
- adds r1, r0, 0
- movs r0, 0x17
- bl sub_8113E88
- adds r4, r0, 0
- adds r5, r4, 0x2
- bl UnkTextUtil_Reset
- ldrb r0, [r4, 0x2]
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4]
- movs r1, 0
- movs r2, 0x1
- bl QuestLog_AutoGetSpeciesName
- ldrb r0, [r5, 0x1]
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0x2
- bl UnkTextUtil_SetPtrI
- ldr r0, _08114A98 @ =gStringVar4
- ldr r1, _08114A9C @ =gUnknown_841A59C
- bl UnkTextUtil_StringExpandPlaceholders
- adds r5, 0x2
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08114A98: .4byte gStringVar4
-_08114A9C: .4byte gUnknown_841A59C
- thumb_func_end sub_8114A4C
-
thumb_func_start sub_8114AA0
sub_8114AA0: @ 8114AA0
push {r4,lr}
diff --git a/src/quest_log.c b/src/quest_log.c
index 3388d9012..4dccdb890 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -4092,3 +4092,116 @@ const u16 * sub_8114834(const u16 * a0)
a0 += 6;
return a0;
}
+
+u16 * sub_811488C(u16 * a0, const u16 * a1)
+{
+ a0 = sub_8113DE0(20, a0);
+ if (a0 == NULL)
+ return NULL;
+ a0[0] = a1[0];
+ a0[1] = a1[1];
+ *((u8 *)a0 + 4) = *((const u8 *)a1 + 4);
+ *((u8 *)a0 + 5) = *((const u8 *)a1 + 5);
+ return a0 + 3;
+}
+
+const u16 * sub_81148BC(const u16 * a0)
+{
+ const u8 * boxIdxs;
+ a0 = sub_8113E88(20, a0);
+ boxIdxs = (const u8 *)a0 + 4;
+ UnkTextUtil_Reset();
+ UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
+ QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
+ UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1]));
+ QuestLog_AutoGetSpeciesName(a0[1], NULL, 3);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A566);
+ return a0 + 3;
+}
+
+u16 * sub_8114918(u16 * a0, const u16 * a1)
+{
+ a0 = sub_8113DE0(21, a0);
+ if (a0 == NULL)
+ return NULL;
+ a0[0] = a1[0];
+ a0[1] = a1[1];
+ *((u8 *)a0 + 4) = *((const u8 *)a1 + 4);
+ return a0 + 3;
+}
+
+const u16 * sub_8114944(const u16 * a0)
+{
+ const u8 * boxIdxs;
+ a0 = sub_8113E88(21, a0);
+ boxIdxs = (const u8 *)a0 + 4;
+ UnkTextUtil_Reset();
+ UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
+ QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
+ QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A5D9);
+ return a0 + 3;
+}
+
+u16 * sub_8114990(u16 * a0, const u16 * a1)
+{
+ u16 * r2;
+ u16 * ret;
+ r2 = sub_8113DE0(22, a0);
+ if (r2 == NULL)
+ return NULL;
+ ret = r2 + 2;
+ if (*((const u8 *)a1 + 4) == TOTAL_BOXES_COUNT)
+ {
+ r2[0] = a1[1];
+ r2[1] = a1[0];
+ *((u8 *)r2 + 4) = *((const u8 *)a1 + 5);
+ }
+ else
+ {
+ r2[0] = a1[0];
+ r2[1] = a1[1];
+ *((u8 *)r2 + 4) = *((const u8 *)a1 + 4);
+ }
+ return ret + 1;
+}
+
+const u16 * sub_81149D0(const u16 * a0)
+{
+ const u8 * boxIdxs;
+ a0 = sub_8113E88(22, a0);
+ boxIdxs = (const u8 *)a0 + 4;
+ UnkTextUtil_Reset();
+ UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
+ QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
+ QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A60A);
+ return a0 + 3;
+}
+
+u16 * sub_8114A1C(u16 * a0, const u16 * a1)
+{
+ u16 * r2;
+ u16 * ret;
+ r2 = sub_8113DE0(23, a0);
+ if (r2 == NULL)
+ return NULL;
+ r2[0] = a1[0];
+ ret = r2 + 1;
+ *((u8 *)ret + 0) = *((const u8 *)a1 + 4);
+ *((u8 *)ret + 1) = *((const u8 *)a1 + 5);
+ return ret + 1;
+}
+
+const u16 * sub_8114A4C(const u16 * a0)
+{
+ const u8 * boxIdxs;
+ a0 = sub_8113E88(23, a0);
+ boxIdxs = (const u8 *)a0 + 2;
+ UnkTextUtil_Reset();
+ UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
+ QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
+ UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1]));
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A59C);
+ return (const u16 *)boxIdxs + 1;
+}