pokemon_summary_screen.c, part 7.

This commit is contained in:
luckytyphlosion
2020-07-02 16:45:49 -04:00
parent 91fea55a24
commit d9d3ac1c5d
3 changed files with 104 additions and 250 deletions
-249
View File
@@ -5,255 +5,6 @@
.text
thumb_func_start sub_8137724
sub_8137724: @ 8137724
push {r4-r6,lr}
sub sp, 0xD4
bl DynamicPlaceholderTextUtil_Reset
ldr r5, _081377A0 @ =gMonSummaryScreen
ldr r0, [r5]
ldr r4, _081377A4 @ =0x00003290
adds r0, r4
bl GetNature
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _081377A8 @ =gNatureNamePointers
lsls r0, r6, 2
adds r0, r1
ldr r1, [r0]
movs r0, 0
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, r4
movs r1, 0x24
bl GetMonData
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _0813775E
movs r1, 0x5
_0813775E:
add r0, sp, 0x14
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
movs r0, 0x1
add r1, sp, 0x14
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, r4
movs r1, 0x23
bl GetMonData
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
bl sub_813B838
cmp r0, 0
beq _08137790
bl sub_813B7F8
cmp r0, 0
bne _08137830
_08137790:
bl sub_8138B4C
cmp r0, 0x1
bne _081377AC
bl sub_8137578
b _0813792C
.align 2, 0
_081377A0: .4byte gMonSummaryScreen
_081377A4: .4byte 0x00003290
_081377A8: .4byte gNatureNamePointers
_081377AC:
cmp r5, 0xFF
bne _081377D0
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081377C4
add r4, sp, 0x3C
ldr r1, _081377C0 @ =gUnknown_84197ED
b _081377DE
.align 2, 0
_081377C0: .4byte gUnknown_84197ED
_081377C4:
add r4, sp, 0x3C
ldr r1, _081377CC @ =gUnknown_84197B8
b _081377DE
.align 2, 0
_081377CC: .4byte gUnknown_84197B8
_081377D0:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081377EC
add r4, sp, 0x3C
ldr r1, _081377E8 @ =gUnknown_841979D
_081377DE:
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _081377F6
.align 2, 0
_081377E8: .4byte gUnknown_841979D
_081377EC:
add r4, sp, 0x3C
ldr r1, _08137820 @ =gUnknown_8419782
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_081377F6:
ldr r0, _08137824 @ =gMonSummaryScreen
ldr r0, [r0]
ldr r1, _08137828 @ =0x00003004
adds r0, r1
ldrb r0, [r0]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
ldr r1, _0813782C @ =gUnknown_8463FA4
str r1, [sp, 0x8]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl AddTextPrinterParameterized4
b _0813792C
.align 2, 0
_08137820: .4byte gUnknown_8419782
_08137824: .4byte gMonSummaryScreen
_08137828: .4byte 0x00003004
_0813782C: .4byte gUnknown_8463FA4
_08137830:
adds r0, r5, 0
bl sub_813B838
cmp r0, 0x1
bne _08137846
add r4, sp, 0x1C
adds r0, r4, 0
adds r1, r5, 0
bl GetMapNameGeneric_
b _08137850
_08137846:
add r4, sp, 0x1C
ldr r1, _0813788C @ =gUnknown_8419C0B
adds r0, r4, 0
bl StringCopy
_08137850:
adds r1, r4, 0
movs r0, 0x2
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r4, _08137890 @ =gMonSummaryScreen
ldr r0, [r4]
ldr r1, _08137894 @ =0x00003290
adds r0, r1
movs r1, 0x24
bl GetMonData
cmp r0, 0
bne _081378BC
ldr r0, [r4]
ldr r1, _08137894 @ =0x00003290
adds r0, r1
movs r1, 0x50
bl GetMonData
cmp r0, 0x1
bne _081378A8
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _0813789C
add r4, sp, 0x3C
ldr r1, _08137898 @ =gUnknown_84199F4
b _081378EE
.align 2, 0
_0813788C: .4byte gUnknown_8419C0B
_08137890: .4byte gMonSummaryScreen
_08137894: .4byte 0x00003290
_08137898: .4byte gUnknown_84199F4
_0813789C:
add r4, sp, 0x3C
ldr r1, _081378A4 @ =gUnknown_84199AB
b _081378EE
.align 2, 0
_081378A4: .4byte gUnknown_84199AB
_081378A8:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
bne _081378EA
add r4, sp, 0x3C
ldr r1, _081378B8 @ =gUnknown_8419860
b _081378EE
.align 2, 0
_081378B8: .4byte gUnknown_8419860
_081378BC:
cmp r5, 0xFF
bne _081378E0
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081378D4
add r4, sp, 0x3C
ldr r1, _081378D0 @ =gUnknown_84197ED
b _081378EE
.align 2, 0
_081378D0: .4byte gUnknown_84197ED
_081378D4:
add r4, sp, 0x3C
ldr r1, _081378DC @ =gUnknown_84197B8
b _081378EE
.align 2, 0
_081378DC: .4byte gUnknown_84197B8
_081378E0:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081378FC
_081378EA:
add r4, sp, 0x3C
ldr r1, _081378F8 @ =gUnknown_841988A
_081378EE:
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08137906
.align 2, 0
_081378F8: .4byte gUnknown_841988A
_081378FC:
add r4, sp, 0x3C
ldr r1, _08137934 @ =gUnknown_8419860
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_08137906:
ldr r0, _08137938 @ =gMonSummaryScreen
ldr r0, [r0]
ldr r1, _0813793C @ =0x00003004
adds r0, r1
ldrb r0, [r0]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
ldr r1, _08137940 @ =gUnknown_8463FA4
str r1, [sp, 0x8]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl AddTextPrinterParameterized4
_0813792C:
add sp, 0xD4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08137934: .4byte gUnknown_8419860
_08137938: .4byte gMonSummaryScreen
_0813793C: .4byte 0x00003004
_08137940: .4byte gUnknown_8463FA4
thumb_func_end sub_8137724
thumb_func_start sub_8137944
sub_8137944: @ 8137944
push {lr}
+7 -1
View File
@@ -1489,5 +1489,11 @@ extern const u8 gUnknown_84197ED[];
extern const u8 gUnknown_84197B8[];
extern const u8 gUnknown_8419841[];
extern const u8 gUnknown_8419822[];
extern const u8 gUnknown_841979D[];
extern const u8 gUnknown_8419782[];
extern const u8 gUnknown_84199F4[];
extern const u8 gUnknown_84199AB[];
extern const u8 gUnknown_8419860[];
extern const u8 gUnknown_841988A[];
#endif //GUARD_STRINGS_H
+97
View File
@@ -105,6 +105,8 @@ extern void sub_8137970(void);
extern bool32 sub_813B838(u8 metLocation);
extern bool32 sub_8138B4C(void);
extern bool32 sub_813B7E0(u8 nature);
void sub_8137724(void);
extern bool32 sub_813B7F8(void);
struct PokemonSummaryScreenData {
u16 unk0[0x800];
@@ -1993,3 +1995,98 @@ void sub_8137578(void)
AddTextPrinterParameterized4(gMonSummaryScreen->unk3000[4], 2, 0, 3, 0, 0, gUnknown_8463FA4[0], TEXT_SPEED_FF, natureMetOrHatchedAtLevelStr);
}
void sub_8137724(void)
{
u8 nature;
u8 level;
u8 metLocation;
u8 levelStr[5];
u8 mapNameStr[32];
u8 natureMetOrHatchedAtLevelStr[152];
DynamicPlaceholderTextUtil_Reset();
nature = GetNature(&gMonSummaryScreen->currentMon);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gNatureNamePointers[nature]);
level = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_MET_LEVEL);
if (level == 0)
level = 5;
ConvertIntToDecimalStringN(levelStr, level, STR_CONV_MODE_LEFT_ALIGN, 3);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, levelStr);
metLocation = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_MET_LOCATION);
if (!sub_813B838(metLocation) || !sub_813B7F8())
{
if (sub_8138B4C() == TRUE)
{
sub_8137578();
return;
}
if (metLocation == METLOC_FATEFUL_ENCOUNTER)
{
if (sub_813B7E0(nature))
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197ED);
else
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197B8);
}
else
{
if (sub_813B7E0(nature))
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_841979D);
else
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_8419782);
}
AddTextPrinterParameterized4(gMonSummaryScreen->unk3000[4], 2, 0, 3, 0, 0, gUnknown_8463FA4[0], TEXT_SPEED_FF, natureMetOrHatchedAtLevelStr);
return;
}
if (sub_813B838(metLocation) == TRUE)
GetMapNameGeneric_(mapNameStr, metLocation);
else
StringCopy(mapNameStr, gUnknown_8419C0B);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, mapNameStr);
if (GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_MET_LEVEL) == 0)
{
if (GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_OBEDIENCE) == 1)
{
if (sub_813B7E0(nature))
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84199F4);
else
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84199AB);
}
else
{
if (sub_813B7E0(nature))
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_841988A);
else
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_8419860);
}
}
else
{
if (metLocation == METLOC_FATEFUL_ENCOUNTER)
{
if (sub_813B7E0(nature))
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197ED);
else
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197B8);
}
else
{
if (sub_813B7E0(nature))
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_841988A);
else
DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_8419860);
}
}
AddTextPrinterParameterized4(gMonSummaryScreen->unk3000[4], 2, 0, 3, 0, 0, gUnknown_8463FA4[0], TEXT_SPEED_FF, natureMetOrHatchedAtLevelStr);
}