summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/international_string_util.s355
-rw-r--r--include/international_string_util.h29
-rw-r--r--include/pokedex.h25
-rw-r--r--include/text.h10
-rw-r--r--ld_script.txt1
-rw-r--r--src/international_string_util.c208
-rw-r--r--src/pokedex.c13
-rw-r--r--src/record_mixing.c2
-rw-r--r--src/text.c26
9 files changed, 249 insertions, 420 deletions
diff --git a/asm/international_string_util.s b/asm/international_string_util.s
deleted file mode 100644
index 469d88787..000000000
--- a/asm/international_string_util.s
+++ /dev/null
@@ -1,355 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_81DB41C
-sub_81DB41C: @ 81DB41C
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r1, [r4]
- movs r7, 0
- movs r6, 0
- ldrh r0, [r4, 0xC]
- cmp r7, r0
- bge _081DB44C
- adds r5, r1, 0
-_081DB42E:
- ldrb r0, [r4, 0x17]
- lsls r0, 26
- lsrs r0, 26
- ldr r1, [r5]
- movs r2, 0
- bl GetStringWidth
- cmp r0, r7
- ble _081DB442
- adds r7, r0, 0
-_081DB442:
- adds r5, 0x8
- adds r6, 0x1
- ldrh r0, [r4, 0xC]
- cmp r6, r0
- blt _081DB42E
-_081DB44C:
- ldrb r0, [r4, 0x12]
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x9
- cmp r0, 0
- bge _081DB45A
- adds r0, 0x7
-_081DB45A:
- asrs r0, 3
- cmp r0, 0x1C
- ble _081DB462
- movs r0, 0x1C
-_081DB462:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81DB41C
-
- thumb_func_start CopyMonCategoryText
-CopyMonCategoryText: @ 81DB468
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 5
- ldr r1, =gPokedexEntries
- adds r2, r1
- adds r1, r2, 0
- bl StringCopy
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- ldr r1, =gText_Pokemon
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyMonCategoryText
-
- thumb_func_start sub_81DB494
-sub_81DB494: @ 81DB494
- push {r4-r7,lr}
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- cmp r5, 0
- beq _081DB4B6
- adds r1, r5, 0
- bl StringCopy
- adds r4, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- b _081DB4BA
-_081DB4B6:
- adds r4, r0, 0
- movs r0, 0
-_081DB4BA:
- subs r3, r7, r0
- cmp r3, 0
- ble _081DB4D4
- movs r0, 0xFC
- strb r0, [r4]
- adds r4, 0x1
- movs r0, 0x11
- strb r0, [r4]
- adds r4, 0x1
- strb r3, [r4]
- adds r4, 0x1
- movs r0, 0xFF
- strb r0, [r4]
-_081DB4D4:
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81DB494
-
- thumb_func_start PadNameString
-PadNameString: @ 81DB4DC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl StripExtCtrlCodes
- adds r0, r4, 0
- bl StringLength
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r5, 0xFC
- bne _081DB51A
- cmp r1, 0x5
- bhi _081DB51E
- movs r3, 0xFC
- movs r2, 0x7
-_081DB4FE:
- adds r0, r4, r1
- strb r3, [r0]
- strb r2, [r0, 0x1]
- adds r0, r1, 0x2
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x5
- bls _081DB4FE
- b _081DB51E
-_081DB510:
- adds r0, r4, r1
- strb r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
-_081DB51A:
- cmp r1, 0x5
- bls _081DB510
-_081DB51E:
- adds r1, r4, r1
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end PadNameString
-
- thumb_func_start sub_81DB52C
-sub_81DB52C: @ 81DB52C
- push {r4,lr}
- adds r4, r0, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _081DB546
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
- b _081DB54C
-_081DB546:
- adds r0, r4, 0
- bl StripExtCtrlCodes
-_081DB54C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81DB52C
-
- thumb_func_start sub_81DB554
-sub_81DB554: @ 81DB554
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _081DB572
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
- b _081DB5A4
-_081DB572:
- cmp r5, 0xFC
- bne _081DB57E
- adds r0, r4, 0
- bl StripExtCtrlCodes
- b _081DB5A4
-_081DB57E:
- adds r1, r4, 0
- b _081DB584
-_081DB582:
- adds r1, 0x1
-_081DB584:
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- bne _081DB582
- cmp r1, r4
- bcc _081DB5A4
- ldrb r0, [r1]
- cmp r0, r5
- bne _081DB5A4
- movs r2, 0xFF
-_081DB596:
- strb r2, [r1]
- subs r1, 0x1
- cmp r1, r4
- bcc _081DB5A4
- ldrb r0, [r1]
- cmp r0, r5
- beq _081DB596
-_081DB5A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81DB554
-
- thumb_func_start sub_81DB5AC
-sub_81DB5AC: @ 81DB5AC
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2]
- adds r2, 0x1
- cmp r0, 0xFC
- bne _081DB5E4
- ldrb r0, [r2]
- adds r2, 0x1
- cmp r0, 0x15
- bne _081DB5E4
- b _081DB5CE
-_081DB5C2:
- cmp r1, 0xFC
- bne _081DB5CC
- ldrb r0, [r2, 0x1]
- cmp r0, 0x16
- beq _081DB5E4
-_081DB5CC:
- adds r2, 0x1
-_081DB5CE:
- ldrb r1, [r2]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081DB5C2
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x16
- strb r0, [r2]
- movs r0, 0xFF
- strb r0, [r2, 0x1]
-_081DB5E4:
- pop {r0}
- bx r0
- thumb_func_end sub_81DB5AC
-
- thumb_func_start TVShowConvertInternationalString
-TVShowConvertInternationalString: @ 81DB5E8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- bl StringCopy
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl ConvertInternationalString
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end TVShowConvertInternationalString
-
- thumb_func_start sub_81DB604
-sub_81DB604: @ 81DB604
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0xFC
- bne _081DB618
- ldrb r0, [r1, 0x1]
- cmp r0, 0x15
- bne _081DB618
- movs r0, 0x1
- b _081DB61A
-_081DB618:
- movs r0, 0x2
-_081DB61A:
- pop {r1}
- bx r1
- thumb_func_end sub_81DB604
-
- thumb_func_start sub_81DB620
-sub_81DB620: @ 81DB620
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 2
- ldr r0, =gWindows
- adds r4, r0
- lsls r7, r3, 5
- ldrb r0, [r4, 0x3]
- lsls r6, r0, 5
- muls r2, r6
- ldr r0, [r4, 0x8]
- adds r0, r2
- lsls r1, 5
- adds r5, r0, r1
- ldr r0, [sp, 0x18]
- cmp r0, 0
- ble _081DB66C
- adds r4, r0, 0
-_081DB646:
- ldr r0, =0x11111111
- str r0, [sp]
- adds r2, r7, 0
- cmp r2, 0
- bge _081DB652
- adds r2, 0x3
-_081DB652:
- lsls r2, 9
- lsrs r2, 11
- movs r0, 0x80
- lsls r0, 17
- orrs r2, r0
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- adds r5, r6
- subs r4, 0x1
- cmp r4, 0
- bne _081DB646
-_081DB66C:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DB620
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/include/international_string_util.h b/include/international_string_util.h
index 343c5453c..2d5b1c871 100644
--- a/include/international_string_util.h
+++ b/include/international_string_util.h
@@ -2,22 +2,23 @@
#define GUARD_INTERNATIONAL_STRING_UTIL_H
#include "menu.h"
+#include "list_menu.h"
-void sub_81DB52C(const u8 *src);
-void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language);
-s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
-s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
-s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
-s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
-s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1);
-s32 sub_81DB3D8(const struct MenuAction *str, const u8* arg1, s32 arg2);
-// sub_81DB41C
-// CopyMonCategoryText
-// sub_81DB494
-void PadNameString(u8 *dst, u8 padWith);
+void sub_81DB52C(u8 *src);
+void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language);
+int GetStringCenterAlignXOffset(int fontId, const u8 *str, int totalWidth);
+int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth);
+int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int totalWidth, int letterSpacing);
+int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing);
+int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1);
+int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2);
+int sub_81DB41C(const struct ListMenuTemplate *listMenu);
+void CopyMonCategoryText(int dexNum, u8 *dest);
+u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth);
+void PadNameString(u8 *dest, u8 padChar);
void sub_81DB554(u8 *, u8);
void sub_81DB5AC(u8 *);
-u32 sub_81DB604(const u8 *);
-// sub_81DB620
+int sub_81DB604(u8 *);
+void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows);
#endif // GUARD_INTERNATIONAL_STRING_UTIL_H
diff --git a/include/pokedex.h b/include/pokedex.h
index 11e39997c..3f90e9508 100644
--- a/include/pokedex.h
+++ b/include/pokedex.h
@@ -4,13 +4,6 @@
extern u8 gUnknown_030060B0;
extern void (*gUnknown_030060B4)(void);
-void ResetPokedex(void);
-void CopyMonCategoryText(u32 species, u8 *dst);
-u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
-u16 GetNationalPokedexCount(u8);
-u16 GetHoennPokedexCount(u8);
-u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
-
enum
{
FLAG_GET_SEEN,
@@ -19,6 +12,24 @@ enum
FLAG_SET_CAUGHT
};
+struct PokedexEntry
+{
+ /*0x00*/ u8 categoryName[12];
+ /*0x0C*/ u16 height; //in decimeters
+ /*0x0E*/ u16 weight; //in hectograms
+ /*0x10*/ const u8 *description;
+ /*0x14*/ u16 unused;
+ /*0x16*/ u16 pokemonScale;
+ /*0x18*/ u16 pokemonOffset;
+ /*0x1A*/ u16 trainerScale;
+ /*0x1C*/ u16 trainerOffset;
+}; /*size = 0x20*/
+
+void ResetPokedex(void);
+u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
+u16 GetNationalPokedexCount(u8);
+u16 GetHoennPokedexCount(u8);
+u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 sub_80C0E9C(u16, s16, s16, u16);
diff --git a/include/text.h b/include/text.h
index 27a6364bb..69cbb87ed 100644
--- a/include/text.h
+++ b/include/text.h
@@ -89,6 +89,13 @@
#define EXT_CTRL_CODE_COLOR 0x1
#define EXT_CTRL_CODE_HIGHLIGHT 0x2
#define EXT_CTRL_CODE_SHADOW 0x3
+//
+#define EXT_CTRL_CODE_UNKNOWN_7 0x7
+//
+#define EXT_CTRL_CODE_CLEAR 0x11
+//
+#define EXT_CTRL_CODE_JPN 0x15
+#define EXT_CTRL_CODE_ENG 0x16
#define TEXT_COLOR_TRANSPARENT 0x0
#define TEXT_COLOR_WHITE 0x1
@@ -102,9 +109,6 @@
// battle placeholders are located in battle_message.h
-#define EXT_CTRL_CODE_JPN 0x15
-#define EXT_CTRL_CODE_ENG 0x16
-
#define NUM_TEXT_PRINTERS 32
#define TEXT_SPEED_FF 0xFF
diff --git a/ld_script.txt b/ld_script.txt
index 4a8032174..c03573534 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -297,7 +297,6 @@ SECTIONS {
src/gym_leader_rematch.o(.text);
src/unk_transition.o(.text);
src/international_string_util.o(.text);
- asm/international_string_util.o(.text);
} =0
script_data :
diff --git a/src/international_string_util.c b/src/international_string_util.c
index 9de338c59..a7c42c39e 100644
--- a/src/international_string_util.c
+++ b/src/international_string_util.c
@@ -1,40 +1,46 @@
#include "global.h"
-#include "text.h"
#include "international_string_util.h"
+#include "list_menu.h"
+#include "pokedex.h"
+#include "script_menu.h"
+#include "string_util.h"
+#include "strings.h"
+#include "text.h"
+#include "window.h"
-extern s32 convert_pixel_width_to_tile_width(s32 a0); // script menu
+extern const struct PokedexEntry gPokedexEntries[];
-s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth)
+int GetStringCenterAlignXOffset(int fontId, const u8 *str, int totalWidth)
{
return GetStringCenterAlignXOffsetWithLetterSpacing(fontId, str, totalWidth, 0);
}
-s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth)
+int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth)
{
return GetStringWidthDifference(fontId, str, totalWidth, 0);
}
-s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing)
+int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int totalWidth, int letterSpacing)
{
return GetStringWidthDifference(fontId, str, totalWidth, letterSpacing) / 2;
}
-s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing)
+int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing)
{
- s32 stringWidth = GetStringWidth(fontId, str, letterSpacing);
+ int stringWidth = GetStringWidth(fontId, str, letterSpacing);
if (totalWidth > stringWidth)
return totalWidth - stringWidth;
else
return 0;
}
-s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1)
+int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1)
{
- s32 i, var;
+ int i, var;
for (var = 0, i = 0; i < arg1; i++)
{
- s32 stringWidth = GetStringWidth(1, str[i].text, 0);
+ int stringWidth = GetStringWidth(1, str[i].text, 0);
if (stringWidth > var)
var = stringWidth;
}
@@ -42,16 +48,192 @@ s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1)
return convert_pixel_width_to_tile_width(var);
}
-s32 sub_81DB3D8(const struct MenuAction *str, const u8* arg1, s32 arg2)
+int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2)
{
- s32 i, var;
+ int i, var;
for (var = 0, i = 0; i < arg2; i++)
{
- s32 stringWidth = GetStringWidth(1, str[arg1[i]].text, 0);
+ int stringWidth = GetStringWidth(1, str[arg1[i]].text, 0);
if (stringWidth > var)
var = stringWidth;
}
return convert_pixel_width_to_tile_width(var);
}
+
+int sub_81DB41C(const struct ListMenuTemplate *listMenu)
+{
+ int i, maxWidth, finalWidth;
+ const struct ListMenuItem *items = listMenu->items;
+
+ maxWidth = 0;
+ for (i = 0; i < listMenu->totalItems; i++)
+ {
+ int width = GetStringWidth(listMenu->fontId, items[i].name, 0);
+ if (width > maxWidth)
+ maxWidth = width;
+ }
+
+ finalWidth = maxWidth + listMenu->item_X + 9;
+ if (finalWidth < 0)
+ finalWidth += 7;
+
+ finalWidth >>= 3;
+ if (finalWidth > 28)
+ finalWidth = 28;
+
+ return finalWidth;
+}
+
+void CopyMonCategoryText(int dexNum, u8 *dest)
+{
+ u8 *str = StringCopy(dest, gPokedexEntries[dexNum].categoryName);
+ *str = CHAR_SPACE;
+ StringCopy(str + 1, gText_Pokemon);
+}
+
+u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth)
+{
+ u8 *buffer;
+ int width;
+ int clearWidth;
+
+ if (str2)
+ {
+ buffer = StringCopy(str, str2);
+ width = GetStringWidth(fontId, str2, 0);
+ }
+ else
+ {
+ buffer = str;
+ width = 0;
+ }
+
+ clearWidth = totalStringWidth - width;
+ if (clearWidth > 0)
+ {
+ *buffer = EXT_CTRL_CODE_BEGIN;
+ buffer++;
+ *buffer = EXT_CTRL_CODE_CLEAR;
+ buffer++;
+ *buffer = clearWidth;
+ buffer++;
+ *buffer = EOS;
+ }
+
+ return buffer;
+}
+
+void PadNameString(u8 *dest, u8 padChar)
+{
+ u8 length;
+
+ StripExtCtrlCodes(dest);
+ length = StringLength(dest);
+ if (padChar == EXT_CTRL_CODE_BEGIN)
+ {
+ while (length < PLAYER_NAME_LENGTH - 1)
+ {
+ dest[length] = EXT_CTRL_CODE_BEGIN;
+ dest[length + 1] = EXT_CTRL_CODE_UNKNOWN_7;
+ length += 2;
+ }
+ }
+ else
+ {
+ while (length < PLAYER_NAME_LENGTH - 1)
+ {
+ dest[length] = padChar;
+ length++;
+ }
+ }
+
+ dest[length] = EOS;
+}
+
+void sub_81DB52C(u8 *str)
+{
+ if (StringLength(str) < PLAYER_NAME_LENGTH - 1)
+ ConvertInternationalString(str, LANGUAGE_JAPANESE);
+ else
+ StripExtCtrlCodes(str);
+}
+
+void sub_81DB554(u8 *str, u8 arg1)
+{
+ u8 *buffer;
+ if (StringLength(str) < PLAYER_NAME_LENGTH - 1)
+ {
+ ConvertInternationalString(str, LANGUAGE_JAPANESE);
+ }
+ else if (arg1 == EXT_CTRL_CODE_BEGIN)
+ {
+ StripExtCtrlCodes(str);
+ }
+ else
+ {
+ buffer = str;
+ while (buffer[1] != EOS)
+ buffer++;
+
+ while (buffer >= str && buffer[0] == arg1)
+ {
+ buffer[0] = EOS;
+ buffer--;
+ }
+ }
+}
+
+void sub_81DB5AC(u8 *str)
+{
+ if (*str++ == EXT_CTRL_CODE_BEGIN && *str++ == EXT_CTRL_CODE_JPN)
+ {
+ while (*str != EOS)
+ {
+ if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_ENG)
+ return;
+
+ str++;
+ }
+
+ *str++ = EXT_CTRL_CODE_BEGIN;
+ *str++ = EXT_CTRL_CODE_ENG;
+ *str = EOS;
+ }
+}
+
+void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language)
+{
+ StringCopy(dest, src);
+ ConvertInternationalString(dest, language);
+}
+
+int sub_81DB604(u8 *str)
+{
+ if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN)
+ return LANGUAGE_JAPANESE;
+ else
+ return LANGUAGE_ENGLISH;
+}
+
+void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows)
+{
+ u8 *windowTileData;
+ int fillSize, windowRowSize, rowsToFill;
+ struct Window *window = &gWindows[windowId];
+
+ fillSize = numFillTiles * TILE_SIZE_4BPP;
+ windowRowSize = window->window.width * TILE_SIZE_4BPP;
+ windowTileData = window->tileData + (rowStart * windowRowSize) + (columnStart * TILE_SIZE_4BPP);
+ if (numRows > 0)
+ {
+ rowsToFill = numRows;
+ while (rowsToFill)
+ {
+ CpuFastFill8(0x11, windowTileData, fillSize);
+ windowTileData += windowRowSize;
+ rowsToFill--;
+ }
+ }
+}
diff --git a/src/pokedex.c b/src/pokedex.c
index 66a68f0bd..fa3faab84 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -42,19 +42,6 @@ static EWRAM_DATA struct PokedexListItem *gUnknown_02039B54 = NULL;
u8 gUnknown_030060B0;
void (*gUnknown_030060B4)(void);
-struct PokedexEntry
-{
- /*0x00*/ u8 categoryName[12];
- /*0x0C*/ u16 height; //in decimeters
- /*0x0E*/ u16 weight; //in hectograms
- /*0x10*/ const u8 *description;
- /*0x14*/ u16 unused;
- /*0x16*/ u16 pokemonScale;
- /*0x18*/ u16 pokemonOffset;
- /*0x1A*/ u16 trainerScale;
- /*0x1C*/ u16 trainerOffset;
-}; /*size = 0x20*/
-
struct UnknownStruct2
{
const u8 *text1;
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 5f1aef1df..df4a1a720 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -1848,7 +1848,7 @@ static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src)
if (mail->message.itemId != 0)
{
if (mail->gameLanguage != LANGUAGE_JAPANESE)
- PadNameString(mail->OT_name, 0xFC);
+ PadNameString(mail->OT_name, EXT_CTRL_CODE_BEGIN);
ConvertInternationalString(mail->monName, mail->monLanguage);
}
diff --git a/src/text.c b/src/text.c
index ecd3a3095..07c15596e 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1539,7 +1539,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
return 2;
- case 7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
return 2;
case 8:
textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar;
@@ -1591,7 +1591,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
case 24:
m4aMPlayContinue(&gMPlayInfo_BGM);
return 2;
- case 17:
+ case EXT_CTRL_CODE_CLEAR:
width = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
if (width > 0)
@@ -1622,10 +1622,10 @@ u16 RenderText(struct TextPrinter *textPrinter)
case 20:
textPrinter->minLetterSpacing = *textPrinter->printerTemplate.currentChar++;
return 2;
- case 21:
+ case EXT_CTRL_CODE_JPN:
textPrinter->japanese = 1;
return 2;
- case 22:
+ case EXT_CTRL_CODE_ENG:
textPrinter->japanese = 0;
return 2;
}
@@ -1810,12 +1810,12 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
case 0x14:
++strPos;
break;
- case 0x7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
case 0x9:
case 0xA:
case 0xF:
- case 0x15:
- case 0x16:
+ case EXT_CTRL_CODE_JPN:
+ case EXT_CTRL_CODE_ENG:
default:
break;
}
@@ -1970,13 +1970,13 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
case 0x14:
minGlyphWidth = *++str;
break;
- case 0x15:
+ case EXT_CTRL_CODE_JPN:
isJapanese = 1;
break;
- case 0x16:
+ case EXT_CTRL_CODE_ENG:
isJapanese = 0;
break;
- case 0x7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
case 0x9:
case 0xA:
case 0xF:
@@ -2096,12 +2096,12 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
case 0x14:
++strPos;
break;
- case 0x7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
case 0x9:
case 0xA:
case 0xF:
- case 0x15:
- case 0x16:
+ case EXT_CTRL_CODE_JPN:
+ case EXT_CTRL_CODE_ENG:
default:
continue;
}