diff options
-rw-r--r-- | asm/quest_log.s | 267 | ||||
-rw-r--r-- | src/quest_log.c | 113 |
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; +} |