diff options
-rw-r--r-- | asm/quest_log.s | 73 | ||||
-rw-r--r-- | src/quest_log.c | 29 |
2 files changed, 29 insertions, 73 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index 3c4845ae6..655d791c5 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,79 +5,6 @@ .text - thumb_func_start sub_8113E88 -sub_8113E88: @ 8113E88 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08113EA4 @ =gUnknown_203B044 - ldrh r3, [r2, 0x2] - ldr r2, _08113EA8 @ =gUnknown_8456AA0 - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x4 - muls r0, r3 - adds r0, 0x4 - adds r1, r0 - adds r0, r1, 0 - bx lr - .align 2, 0 -_08113EA4: .4byte gUnknown_203B044 -_08113EA8: .4byte gUnknown_8456AA0 - thumb_func_end sub_8113E88 - - thumb_func_start sub_8113EAC -sub_8113EAC: @ 8113EAC - push {r4,r5,lr} - adds r3, r1, 0 - lsls r0, 16 - lsrs r1, r0, 16 - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - adds r5, r2, 0 - cmp r3, 0 - beq _08113EE0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _08113ED0 - adds r0, r3, 0 - bl GetSpeciesName - b _08113F08 -_08113ED0: - ldr r1, _08113EDC @ =gText_EggNickname - adds r0, r3, 0 - bl StringCopy - b _08113F08 - .align 2, 0 -_08113EDC: .4byte gText_EggNickname -_08113EE0: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - beq _08113F00 - movs r0, 0xB - adds r1, r4, 0 - muls r1, r0 - ldr r0, _08113EFC @ =gSpeciesNames - adds r1, r0 - adds r0, r2, 0 - bl UnkTextUtil_SetPtrI - b _08113F08 - .align 2, 0 -_08113EFC: .4byte gSpeciesNames -_08113F00: - ldr r1, _08113F10 @ =gText_EggNickname - adds r0, r5, 0 - bl UnkTextUtil_SetPtrI -_08113F08: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08113F10: .4byte gText_EggNickname - thumb_func_end sub_8113EAC - thumb_func_start sub_8113F14 sub_8113F14: @ 8113F14 push {r4,lr} diff --git a/src/quest_log.c b/src/quest_log.c index 6e2767a1e..82b93898e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1,5 +1,6 @@ #include "global.h" #include "constants/species.h" +#include "data2.h" #include "malloc.h" #include "main.h" #include "task.h" @@ -9,6 +10,7 @@ #include "menu_helpers.h" #include "window.h" #include "text_window.h" +#include "unk_text_util.h" #include "event_data.h" #include "event_scripts.h" #include "string_util.h" @@ -3504,3 +3506,30 @@ u16 * sub_8113DE0(u16 a0, u16 * a1) r5 = (void *)r5 + (r1 * r6 + 4); return r5; } + +u16 * sub_8113E88(u16 a0, u16 * a1) +{ + a1 = (void *)a1 + (gUnknown_203B044.unk_2 * (gUnknown_8456AA0[a0] - 4) + 4); + return a1; +} + +// TODO: delete this declaration once data_83FECCC.s is decompiled +extern const u8 gText_EggNickname[]; + +void sub_8113EAC(u16 a0, u8 * a1, u8 a2) +{ + if (a1 != NULL) + { + if (a0 != SPECIES_EGG) + GetSpeciesName(a1, a0); + else + StringCopy(a1, gText_EggNickname); + } + else + { + if (a0 != SPECIES_EGG) + UnkTextUtil_SetPtrI(a2, gSpeciesNames[a0]); + else + UnkTextUtil_SetPtrI(a2, gText_EggNickname); + } +} |