finished dynamic_placeholder_text_util
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
#include "global.h"
|
||||
#include "text.h"
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
#include "string_util.h"
|
||||
|
||||
static EWRAM_DATA const u8 *sStringPointers[8] = {0};
|
||||
|
||||
static const u8 sTextColorTable[] =
|
||||
{
|
||||
0, 0, 0, 16, 17, 17, 17, 16, 16, 0, 0, 17, 1, 0, 17, 16,
|
||||
0, 16, 16, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0,
|
||||
17, 1, 0, 0, 0, 16, 17, 0, 16, 16, 16, 0, 1, 0, 51, 51,
|
||||
51, 51, 51, 51, 51, 51, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34,
|
||||
34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 50,
|
||||
};
|
||||
|
||||
void DynamicPlaceholderTextUtil_Reset(void)
|
||||
{
|
||||
const u8 **ptr = sStringPointers;
|
||||
u8 *fillval = NULL;
|
||||
const u8 **ptr2 = ptr + (NELEMS(sStringPointers) - 1);
|
||||
|
||||
do
|
||||
{
|
||||
*ptr2-- = fillval;
|
||||
}
|
||||
while ((int)ptr2 >= (int)ptr);
|
||||
}
|
||||
|
||||
void DynamicPlaceholderTextUtil_SetPlaceholderPtr(u8 idx, const u8 *ptr)
|
||||
{
|
||||
if (idx < NELEMS(sStringPointers))
|
||||
sStringPointers[idx] = ptr;
|
||||
}
|
||||
|
||||
u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src)
|
||||
{
|
||||
while (*src != EOS)
|
||||
{
|
||||
if (*src != CHAR_SPECIAL_F7)
|
||||
{
|
||||
*dest++ = *src++;
|
||||
}
|
||||
else
|
||||
{
|
||||
src++;
|
||||
if (sStringPointers[*src] != NULL)
|
||||
dest = StringCopy(dest, sStringPointers[*src]);
|
||||
src++;
|
||||
}
|
||||
}
|
||||
*dest = EOS;
|
||||
return dest;
|
||||
}
|
||||
|
||||
const u8 *DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 idx)
|
||||
{
|
||||
return sStringPointers[idx];
|
||||
}
|
||||
|
||||
u8 GetColorFromTextColorTable(u16 graphicId)
|
||||
{
|
||||
u32 test = graphicId >> 1;
|
||||
u32 shift = (graphicId & 1) << 2;
|
||||
|
||||
if (test > 0x4B)
|
||||
return 3;
|
||||
else
|
||||
return (sTextColorTable[graphicId >> 1] >> shift) & 0xF;
|
||||
}
|
||||
+102
-102
@@ -11,7 +11,7 @@
|
||||
#include "menu_helpers.h"
|
||||
#include "window.h"
|
||||
#include "text_window.h"
|
||||
#include "unk_text_util.h"
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
#include "event_data.h"
|
||||
#include "event_scripts.h"
|
||||
#include "string_util.h"
|
||||
@@ -3656,9 +3656,9 @@ void QuestLog_AutoGetSpeciesName(u16 a0, u8 * a1, u8 a2)
|
||||
else
|
||||
{
|
||||
if (a0 != SPECIES_EGG)
|
||||
UnkTextUtil_SetPtrI(a2, gSpeciesNames[a0]);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(a2, gSpeciesNames[a0]);
|
||||
else
|
||||
UnkTextUtil_SetPtrI(a2, gText_EggNickname);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(a2, gText_EggNickname);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3949,14 +3949,14 @@ u16 * sub_81144EC(u16 * a0, const u16 * a1)
|
||||
|
||||
const u16 * sub_8114518(const u16 * a0)
|
||||
{
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
||||
memset(gStringVar1, EOS, 8);
|
||||
memcpy(gStringVar1, (const u8 *)a0 + 5, 7);
|
||||
sub_8115834(gStringVar1);
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A422);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A422);
|
||||
a0 += 6;
|
||||
return a0;
|
||||
}
|
||||
@@ -3973,14 +3973,14 @@ u16 * sub_8114578(u16 * a0, const u16 * a1)
|
||||
|
||||
const u16 * sub_81145A4(const u16 * a0)
|
||||
{
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
||||
memset(gStringVar1, EOS, 8);
|
||||
memcpy(gStringVar1, (const u8 *)a0 + 5, 7);
|
||||
sub_8115834(gStringVar1);
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A477);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A477);
|
||||
a0 += 6;
|
||||
return a0;
|
||||
}
|
||||
@@ -3999,7 +3999,7 @@ u16 * sub_8114604(u16 * a0, const u16 * a1)
|
||||
|
||||
const u16 * sub_811464C(const u16 * a0)
|
||||
{
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
||||
memset(gStringVar1, EOS, 8);
|
||||
memset(gStringVar2, EOS, 8);
|
||||
@@ -4010,12 +4010,12 @@ const u16 * sub_811464C(const u16 * a0)
|
||||
sub_8115834(gStringVar1);
|
||||
sub_8115834(gStringVar2);
|
||||
sub_8115834(gStringVar3);
|
||||
UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
|
||||
UnkTextUtil_SetPtrI(1, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(2, gStringVar2);
|
||||
UnkTextUtil_SetPtrI(3, gStringVar3);
|
||||
UnkTextUtil_SetPtrI(4, gUnknown_8456AE4[((const u8 *)a0)[4]]);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A4C6);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gUnknown_8456AE4[((const u8 *)a0)[4]]);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A4C6);
|
||||
a0 += 13;
|
||||
return a0;
|
||||
}
|
||||
@@ -4111,12 +4111,12 @@ 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]));
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
|
||||
UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1]));
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1]));
|
||||
QuestLog_AutoGetSpeciesName(a0[1], NULL, 3);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A566);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A566);
|
||||
return a0 + 3;
|
||||
}
|
||||
|
||||
@@ -4136,11 +4136,11 @@ 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]));
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
|
||||
QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A5D9);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A5D9);
|
||||
return a0 + 3;
|
||||
}
|
||||
|
||||
@@ -4172,11 +4172,11 @@ 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]));
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
|
||||
QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A60A);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A60A);
|
||||
return a0 + 3;
|
||||
}
|
||||
|
||||
@@ -4199,11 +4199,11 @@ 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]));
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
|
||||
UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1]));
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A59C);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1]));
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A59C);
|
||||
return (const u16 *)boxIdxs + 1;
|
||||
}
|
||||
|
||||
@@ -4223,10 +4223,10 @@ const u16 * sub_8114AC8(const u16 * a0)
|
||||
const u8 * boxIdxs;
|
||||
a0 = sub_8113E88(24, a0);
|
||||
boxIdxs = (const u8 *)a0 + 2;
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A5FA);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A5FA);
|
||||
return (const u16 *)boxIdxs + 1;
|
||||
}
|
||||
|
||||
@@ -4246,10 +4246,10 @@ const u16 * sub_8114B34(const u16 * a0)
|
||||
const u8 * boxIdxs;
|
||||
a0 = sub_8113E88(25, a0);
|
||||
boxIdxs = (const u8 *)a0 + 2;
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A632);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A632);
|
||||
return (const u16 *)boxIdxs + 1;
|
||||
}
|
||||
|
||||
@@ -4269,10 +4269,10 @@ const u16 * sub_8114BA0(const u16 * a0)
|
||||
const u8 * boxIdxs;
|
||||
a0 = sub_8113E88(26, a0);
|
||||
boxIdxs = (const u8 *)a0 + 2;
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 0);
|
||||
UnkTextUtil_SetPtrI(1, GetBoxNamePtr(boxIdxs[0]));
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A64F);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(boxIdxs[0]));
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A64F);
|
||||
return (const u16 *)boxIdxs + 1;
|
||||
}
|
||||
|
||||
@@ -4290,13 +4290,13 @@ u16 * sub_8114BE4(u16 * a0, const u16 * a1)
|
||||
const u16 * sub_8114C0C(const u16 * a0)
|
||||
{
|
||||
const u16 *r4 = sub_8113E88(27, a0);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(*((const u8 *)r4 + 0)));
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(*((const u8 *)r4 + 0)));
|
||||
if (*((const u8 *)r4 + 0) == *((const u8 *)r4 + 1))
|
||||
UnkTextUtil_SetPtrI(1, gUnknown_841A694);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_841A694);
|
||||
else
|
||||
UnkTextUtil_SetPtrI(1, GetBoxNamePtr(*((const u8 *)r4 + 1)));
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A66E);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(*((const u8 *)r4 + 1)));
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A66E);
|
||||
return r4 + 1;
|
||||
}
|
||||
|
||||
@@ -4358,14 +4358,14 @@ const u16 * sub_8114D68(const u16 * a0)
|
||||
const u8 * r6;
|
||||
a0 = sub_8113E88(30, a0);
|
||||
r6 = (const u8 *)a0 + 6;
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r6[0]);
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, gTrainers[a0[2]].trainerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(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);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gUnknown_8456ACC[r6[1]]);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AF0C);
|
||||
return a0 + 4;
|
||||
}
|
||||
|
||||
@@ -4399,43 +4399,43 @@ const u16 * sub_8114E68(const u16 * a0)
|
||||
return NULL;
|
||||
|
||||
r6 = (const u8 *)a0 + 8;
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r6[2]);
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
QuestLog_AutoGetSpeciesName(a0[2], NULL, 1);
|
||||
ConvertIntToDecimalStringN(gStringVar2, r6[0], STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
UnkTextUtil_SetPtrI(2, gStringVar2);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
|
||||
QuestLog_AutoGetSpeciesName(a0[3], NULL, 3);
|
||||
ConvertIntToDecimalStringN(gStringVar3, r6[1], STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
UnkTextUtil_SetPtrI(4, gStringVar3);
|
||||
UnkTextUtil_SetPtrI(5, gSaveBlock2Ptr->playerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gStringVar3);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gSaveBlock2Ptr->playerName);
|
||||
if (r6[0] == 0)
|
||||
{
|
||||
if (r6[1] == 1)
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA01);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AA01);
|
||||
else
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA2B);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AA2B);
|
||||
}
|
||||
else if (r6[1] == 0)
|
||||
{
|
||||
if (r6[0] == 1)
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9A9);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A9A9);
|
||||
else
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9D4);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A9D4);
|
||||
}
|
||||
else if (r6[0] == 1)
|
||||
{
|
||||
if (r6[1] == 1)
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA76);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AA76);
|
||||
else
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAAA);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AAAA);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (r6[1] == 1)
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAEC);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AAEC);
|
||||
else
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AB29);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AB29);
|
||||
}
|
||||
return (const u16 *)(r6 + 4);
|
||||
}
|
||||
@@ -4464,12 +4464,12 @@ const u16 * sub_811500C(const u16 * a0)
|
||||
const u8 * r5;
|
||||
a0 = sub_8113E88(32, a0);
|
||||
r5 = (const u8 *)a0 + 6;
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, gTrainers[a0[2]].trainerName);
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gTrainers[a0[2]].trainerName);
|
||||
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
|
||||
QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
|
||||
UnkTextUtil_SetPtrI(3, gUnknown_8456ACC[r5[1]]);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF3E);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gUnknown_8456ACC[r5[1]]);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AF3E);
|
||||
return a0 + 4;
|
||||
}
|
||||
|
||||
@@ -4493,25 +4493,25 @@ const u16 * sub_81150CC(const u16 * a0)
|
||||
return NULL;
|
||||
|
||||
r5 = (const u8 *)a0 + 8;
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
||||
switch (gUnknown_203B044.unk_2)
|
||||
{
|
||||
case 0:
|
||||
UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
|
||||
UnkTextUtil_SetPtrI(1, gSaveBlock1Ptr->rivalName);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A2E1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gSaveBlock1Ptr->rivalName);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A2E1);
|
||||
break;
|
||||
case 1:
|
||||
UnkTextUtil_SetPtrI(0, gSaveBlock1Ptr->rivalName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock1Ptr->rivalName);
|
||||
QuestLog_AutoGetSpeciesName(a0[2], NULL, 1);
|
||||
UnkTextUtil_SetPtrI(2, gSaveBlock2Ptr->playerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gSaveBlock2Ptr->playerName);
|
||||
QuestLog_AutoGetSpeciesName(a0[3], NULL, 3);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A312);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A312);
|
||||
break;
|
||||
case 2:
|
||||
UnkTextUtil_SetPtrI(0, gUnknown_8456AD8[r5[0]]);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A349);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_8456AD8[r5[0]]);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A349);
|
||||
break;
|
||||
}
|
||||
return (const u16 *)(r5 + 2);
|
||||
@@ -4527,21 +4527,21 @@ const u16 * sub_81151DC(const u16 * a0)
|
||||
{
|
||||
const u16 * r5 = sub_8113E88(34, a0);
|
||||
const u8 * r6 = (const u8 *)r5 + 6;
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r6[0]);
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
if (
|
||||
gTrainers[r5[2]].trainerClass == 0x51
|
||||
|| gTrainers[r5[2]].trainerClass == 0x59
|
||||
|| gTrainers[r5[2]].trainerClass == 0x5A
|
||||
)
|
||||
UnkTextUtil_SetPtrI(1, GetExpandedPlaceholder(6));
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetExpandedPlaceholder(6));
|
||||
else
|
||||
UnkTextUtil_SetPtrI(1, gTrainers[r5[2]].trainerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gTrainers[r5[2]].trainerName);
|
||||
QuestLog_AutoGetSpeciesName(r5[0], NULL, 2);
|
||||
QuestLog_AutoGetSpeciesName(r5[1], NULL, 3);
|
||||
UnkTextUtil_SetPtrI(4, gUnknown_8456ACC[r6[1]]);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF6D);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gUnknown_8456ACC[r6[1]]);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AF6D);
|
||||
return (const u16 *)(r6 + 2);
|
||||
}
|
||||
|
||||
@@ -4814,17 +4814,17 @@ const u16 * sub_8115518(const u16 * a0)
|
||||
const u16 * r4 = sub_8113E88(37, a0);
|
||||
const u8 * r7 = (const u8 *)r4 + 8;
|
||||
u32 r6 = (r4[2] << 16) + r4[3];
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r7[0]);
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, ItemId_GetName(r4[0]));
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r4[0]));
|
||||
if (r4[1] < 2)
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A7DD);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A7DD);
|
||||
else
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
UnkTextUtil_SetPtrI(2, gStringVar2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A810);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A810);
|
||||
}
|
||||
return (const u16 *)(r7 + 2);
|
||||
}
|
||||
@@ -4847,30 +4847,30 @@ const u16 * sub_81155E0(const u16 * a0) {
|
||||
const u16 *r5 = sub_8113E88(38, a0);
|
||||
const u8 *r7 = (const u8 *) r5 + 8;
|
||||
u32 r6 = (r5[2] << 16) + r5[3];
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r7[0]);
|
||||
if (r7[1] == 0) {
|
||||
UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
|
||||
UnkTextUtil_SetPtrI(1, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(2, ItemId_GetName(r5[0]));
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, ItemId_GetName(r5[0]));
|
||||
if (r5[1] == 1)
|
||||
UnkTextUtil_SetPtrI(3, gUnknown_841A8D4);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gUnknown_841A8D4);
|
||||
else
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar2, r5[1], STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
UnkTextUtil_SetPtrI(4, gStringVar2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar3, gUnknown_841A8DD);
|
||||
UnkTextUtil_SetPtrI(3, gStringVar3);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gStringVar2);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar3, gUnknown_841A8DD);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3);
|
||||
}
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A858);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A858);
|
||||
}
|
||||
else
|
||||
{
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, ItemId_GetName(r5[0]));
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r5[0]));
|
||||
ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
UnkTextUtil_SetPtrI(2, gStringVar2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A896);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A896);
|
||||
}
|
||||
return (const u16 *)(r7 + 2);
|
||||
}
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ extern u8 GetKeypadIconWidth(u8 keypadIconId);
|
||||
extern void CopyWindowToVram(u8 windowId, u8 mode);
|
||||
extern s32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese);
|
||||
extern void PlaySE(u16 songNum);
|
||||
extern u8* UnkTextUtil_GetPtrI(u8 a1);
|
||||
extern u8* DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 a1);
|
||||
|
||||
TextFlags gTextFlags;
|
||||
|
||||
@@ -1544,7 +1544,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
}
|
||||
case 0xF7:
|
||||
if (bufferPointer == NULL)
|
||||
bufferPointer = UnkTextUtil_GetPtrI(*++str);
|
||||
bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
|
||||
while (*bufferPointer != 0xFF)
|
||||
{
|
||||
glyphWidth = func(*bufferPointer++, isJapanese);
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "scanline_effect.h"
|
||||
#include "m4a.h"
|
||||
#include "string_util.h"
|
||||
#include "unk_text_util.h"
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
#include "overworld.h"
|
||||
#include "sound.h"
|
||||
#include "menu.h"
|
||||
@@ -208,7 +208,7 @@ void sub_814F1E4(void)
|
||||
ChangeBgY(1, 0, 0);
|
||||
LoadPalette(gUnknown_846F4D0, 0, 0x20);
|
||||
Menu_LoadStdPalAt(0xf0);
|
||||
UnkTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0xF);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
SetMainCallback2(sub_814F19C);
|
||||
|
||||
Reference in New Issue
Block a user