summaryrefslogtreecommitdiff
path: root/gflib
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-08-10 23:50:49 -0400
committerGriffinR <griffin.g.richards@gmail.com>2020-08-11 00:23:28 -0400
commitcc4255d4c064384cf3516441e340b6377c99de3d (patch)
treecb12985a80967c095a2bcf914d9841605ffd8bdc /gflib
parent8b95e1964b174d664abcb5864549feea83cfebfe (diff)
Add some charmap constant usage
Diffstat (limited to 'gflib')
-rw-r--r--gflib/string_util.c171
-rw-r--r--gflib/text.c222
-rw-r--r--gflib/text.h59
3 files changed, 245 insertions, 207 deletions
diff --git a/gflib/string_util.c b/gflib/string_util.c
index db972a8ed..92f8eea5a 100644
--- a/gflib/string_util.c
+++ b/gflib/string_util.c
@@ -342,50 +342,61 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
switch (c)
{
- case PLACEHOLDER_BEGIN:
- placeholderId = *src++;
- expandedString = GetExpandedPlaceholder(placeholderId);
- dest = StringExpandPlaceholders(dest, expandedString);
- break;
- case EXT_CTRL_CODE_BEGIN:
- *dest++ = c;
- c = *src++;
- *dest++ = c;
-
- switch (c)
- {
- case 0x07:
- case 0x09:
- case 0x0F:
- case 0x15:
- case 0x16:
- case 0x17:
- case 0x18:
- break;
- case 0x04:
- *dest++ = *src++;
- case 0x0B:
- *dest++ = *src++;
- default:
- *dest++ = *src++;
- }
+ case PLACEHOLDER_BEGIN:
+ placeholderId = *src++;
+ expandedString = GetExpandedPlaceholder(placeholderId);
+ dest = StringExpandPlaceholders(dest, expandedString);
+ break;
+ case EXT_CTRL_CODE_BEGIN:
+ *dest++ = c;
+ c = *src++;
+ *dest++ = c;
+
+ switch (c)
+ {
+ case EXT_CTRL_CODE_RESET_SIZE:
+ case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
+ case EXT_CTRL_CODE_FILL_WINDOW:
+ case EXT_CTRL_CODE_JPN:
+ case EXT_CTRL_CODE_ENG:
+ case EXT_CTRL_CODE_PAUSE_MUSIC:
+ case EXT_CTRL_CODE_RESUME_MUSIC:
break;
- case EOS:
- *dest = EOS;
- return dest;
- case CHAR_PROMPT_SCROLL:
- case CHAR_PROMPT_CLEAR:
- case CHAR_NEWLINE:
+ case EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW:
+ *dest++ = *src++;
+ case EXT_CTRL_CODE_PLAY_BGM:
+ *dest++ = *src++;
default:
- *dest++ = c;
+ *dest++ = *src++;
+ }
+ break;
+ case EOS:
+ *dest = EOS;
+ return dest;
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
+ case CHAR_NEWLINE:
+ default:
+ *dest++ = c;
}
}
}
u8 *StringBraille(u8 *dest, const u8 *src)
{
- u8 setBrailleFont[] = { EXT_CTRL_CODE_BEGIN, 0x06, 0x06, EOS };
- u8 gotoLine2[] = { CHAR_NEWLINE, EXT_CTRL_CODE_BEGIN, 0x0E, 0x02, EOS };
+ const u8 setBrailleFont[] = {
+ EXT_CTRL_CODE_BEGIN,
+ EXT_CTRL_CODE_SIZE,
+ 6,
+ EOS
+ };
+ const u8 gotoLine2[] = {
+ CHAR_NEWLINE,
+ EXT_CTRL_CODE_BEGIN,
+ EXT_CTRL_CODE_SHIFT_DOWN,
+ 2,
+ EOS
+ };
dest = StringCopy(dest, setBrailleFont);
@@ -395,16 +406,16 @@ u8 *StringBraille(u8 *dest, const u8 *src)
switch (c)
{
- case EOS:
- *dest = c;
- return dest;
- case CHAR_NEWLINE:
- dest = StringCopy(dest, gotoLine2);
- break;
- default:
- *dest++ = c;
- *dest++ = c + 0x40;
- break;
+ case EOS:
+ *dest = c;
+ return dest;
+ case CHAR_NEWLINE:
+ dest = StringCopy(dest, gotoLine2);
+ break;
+ default:
+ *dest++ = c;
+ *dest++ = c + 0x40;
+ break;
}
}
}
@@ -564,7 +575,7 @@ u8 *StringCopyN_Multibyte(u8 *dest, u8 *src, u32 n)
else
{
*dest++ = *src++;
- if (*(src - 1) == CHAR_SPECIAL_F9)
+ if (*(src - 1) == CHAR_EXTRA_SYMBOL)
*dest++ = *src++;
}
}
@@ -579,7 +590,7 @@ u32 StringLength_Multibyte(const u8 *str)
while (*str != EOS)
{
- if (*str == CHAR_SPECIAL_F9)
+ if (*str == CHAR_EXTRA_SYMBOL)
str++;
str++;
length++;
@@ -596,15 +607,15 @@ u8 *WriteColorChangeControlCode(u8 *dest, u32 colorType, u8 color)
switch (colorType)
{
case 0:
- *dest = 1;
+ *dest = EXT_CTRL_CODE_COLOR;
dest++;
break;
case 1:
- *dest = 3;
+ *dest = EXT_CTRL_CODE_SHADOW;
dest++;
break;
case 2:
- *dest = 2;
+ *dest = EXT_CTRL_CODE_HIGHLIGHT;
dest++;
break;
}
@@ -619,7 +630,7 @@ bool32 IsStringJapanese(u8 *str)
{
while (*str != EOS)
{
- if (*str <= 0xA0)
+ if (*str < CHAR_0)
if (*str != CHAR_SPACE)
return TRUE;
str++;
@@ -634,7 +645,7 @@ bool32 sub_800924C(u8 *str, s32 n)
for (i = 0; *str != EOS && i < n; i++)
{
- if (*str <= 0xA0)
+ if (*str < CHAR_0)
if (*str != CHAR_SPACE)
return TRUE;
str++;
@@ -647,31 +658,31 @@ u8 GetExtCtrlCodeLength(u8 code)
{
static const u8 lengths[] =
{
- 1,
- 2,
- 2,
- 2,
- 4,
- 2,
- 2,
- 1,
- 2,
- 1,
- 1,
- 3,
- 2,
- 2,
- 2,
- 1,
- 3,
- 2,
- 2,
- 2,
- 2,
- 1,
- 1,
- 1,
- 1,
+ [0] = 1,
+ [EXT_CTRL_CODE_COLOR] = 2,
+ [EXT_CTRL_CODE_HIGHLIGHT] = 2,
+ [EXT_CTRL_CODE_SHADOW] = 2,
+ [EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW] = 4,
+ [EXT_CTRL_CODE_PALETTE] = 2,
+ [EXT_CTRL_CODE_SIZE] = 2,
+ [EXT_CTRL_CODE_RESET_SIZE] = 1,
+ [EXT_CTRL_CODE_PAUSE] = 2,
+ [EXT_CTRL_CODE_PAUSE_UNTIL_PRESS] = 1,
+ [EXT_CTRL_CODE_WAIT_SE] = 1,
+ [EXT_CTRL_CODE_PLAY_BGM] = 3,
+ [EXT_CTRL_CODE_ESCAPE] = 2,
+ [EXT_CTRL_CODE_SHIFT_TEXT] = 2,
+ [EXT_CTRL_CODE_SHIFT_DOWN] = 2,
+ [EXT_CTRL_CODE_FILL_WINDOW] = 1,
+ [EXT_CTRL_CODE_PLAY_SE] = 3,
+ [EXT_CTRL_CODE_CLEAR] = 2,
+ [EXT_CTRL_CODE_SKIP] = 2,
+ [EXT_CTRL_CODE_CLEAR_TO] = 2,
+ [EXT_CTRL_CODE_MIN_LETTER_SPACING] = 2,
+ [EXT_CTRL_CODE_JPN] = 1,
+ [EXT_CTRL_CODE_ENG] = 1,
+ [EXT_CTRL_CODE_PAUSE_MUSIC] = 1,
+ [EXT_CTRL_CODE_RESUME_MUSIC] = 1,
};
u8 length = 0;
@@ -734,7 +745,7 @@ void ConvertInternationalString(u8 *s, u8 language)
StripExtCtrlCodes(s);
i = StringLength(s);
s[i++] = EXT_CTRL_CODE_BEGIN;
- s[i++] = 22;
+ s[i++] = EXT_CTRL_CODE_ENG;
s[i++] = EOS;
i--;
@@ -746,7 +757,7 @@ void ConvertInternationalString(u8 *s, u8 language)
}
s[0] = EXT_CTRL_CODE_BEGIN;
- s[1] = 21;
+ s[1] = EXT_CTRL_CODE_JPN;
}
}
diff --git a/gflib/text.c b/gflib/text.c
index 6e5af0e12..5d407e5e4 100644
--- a/gflib/text.c
+++ b/gflib/text.c
@@ -67,19 +67,19 @@ const struct GlyphWidthFunc gGlyphWidthFuncs[] =
const struct KeypadIcon gKeypadIcons[] =
{
- { 0x0, 0x8, 0xC },
- { 0x1, 0x8, 0xC },
- { 0x2, 0x10, 0xC },
- { 0x4, 0x10, 0xC },
- { 0x6, 0x18, 0xC },
- { 0x9, 0x18, 0xC },
- { 0xC, 0x8, 0xC },
- { 0xD, 0x8, 0xC },
- { 0xE, 0x8, 0xC },
- { 0xF, 0x8, 0xC },
- { 0x20, 0x8, 0xC },
- { 0x21, 0x8, 0xC },
- { 0x22, 0x8, 0xC }
+ [CHAR_A_BUTTON] = { 0x0, 0x8, 0xC },
+ [CHAR_B_BUTTON] = { 0x1, 0x8, 0xC },
+ [CHAR_L_BUTTON] = { 0x2, 0x10, 0xC },
+ [CHAR_R_BUTTON] = { 0x4, 0x10, 0xC },
+ [CHAR_START_BUTTON] = { 0x6, 0x18, 0xC },
+ [CHAR_SELECT_BUTTON] = { 0x9, 0x18, 0xC },
+ [CHAR_DPAD_UP] = { 0xC, 0x8, 0xC },
+ [CHAR_DPAD_DOWN] = { 0xD, 0x8, 0xC },
+ [CHAR_DPAD_LEFT] = { 0xE, 0x8, 0xC },
+ [CHAR_DPAD_RIGHT] = { 0xF, 0x8, 0xC },
+ [CHAR_DPAD_UPDOWN] = { 0x20, 0x8, 0xC },
+ [CHAR_DPAD_LEFTRIGHT] = { 0x21, 0x8, 0xC },
+ [CHAR_DPAD_NONE] = { 0x22, 0x8, 0xC }
};
const u8 gKeypadIconTiles[] = INCBIN_U8("graphics/fonts/keypad_icons.4bpp");
@@ -1609,22 +1609,22 @@ u16 RenderText(struct TextPrinter *textPrinter)
textPrinter->printerTemplate.currentChar++;
switch (currChar)
{
- case 1:
+ case EXT_CTRL_CODE_COLOR:
textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 2:
+ case EXT_CTRL_CODE_HIGHLIGHT:
textPrinter->printerTemplate.bgColor = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 3:
+ case EXT_CTRL_CODE_SHADOW:
textPrinter->printerTemplate.shadowColor = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 4:
+ case EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW:
textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
textPrinter->printerTemplate.bgColor = *textPrinter->printerTemplate.currentChar;
@@ -1633,63 +1633,63 @@ u16 RenderText(struct TextPrinter *textPrinter)
textPrinter->printerTemplate.currentChar++;
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 5:
+ case EXT_CTRL_CODE_PALETTE:
textPrinter->printerTemplate.currentChar++;
return 2;
- case 6:
+ case EXT_CTRL_CODE_SIZE:
subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
return 2;
- case EXT_CTRL_CODE_UNKNOWN_7:
+ case EXT_CTRL_CODE_RESET_SIZE:
return 2;
- case 8:
+ case EXT_CTRL_CODE_PAUSE:
textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
textPrinter->state = 6;
return 2;
- case 9:
+ case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
textPrinter->state = 1;
if (gTextFlags.autoScroll)
subStruct->autoScrollDelay = 0;
return 3;
- case 10:
+ case EXT_CTRL_CODE_WAIT_SE:
textPrinter->state = 5;
return 3;
- case 11:
+ case EXT_CTRL_CODE_PLAY_BGM:
currChar = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
currChar |= *textPrinter->printerTemplate.currentChar << 8;
textPrinter->printerTemplate.currentChar++;
PlayBGM(currChar);
return 2;
- case 12:
+ case EXT_CTRL_CODE_ESCAPE:
currChar = *textPrinter->printerTemplate.currentChar | 0x100;
textPrinter->printerTemplate.currentChar++;
break;
- case 16:
+ case EXT_CTRL_CODE_PLAY_SE:
currChar = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
currChar |= (*textPrinter->printerTemplate.currentChar << 8);
textPrinter->printerTemplate.currentChar++;
PlaySE(currChar);
return 2;
- case 13:
+ case EXT_CTRL_CODE_SHIFT_TEXT:
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x + *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
return 2;
- case 14:
+ case EXT_CTRL_CODE_SHIFT_DOWN:
textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y + *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
return 2;
- case 15:
+ case EXT_CTRL_CODE_FILL_WINDOW:
FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y;
return 2;
- case 23:
+ case EXT_CTRL_CODE_PAUSE_MUSIC:
m4aMPlayStop(&gMPlayInfo_BGM);
return 2;
- case 24:
+ case EXT_CTRL_CODE_RESUME_MUSIC:
m4aMPlayContinue(&gMPlayInfo_BGM);
return 2;
case EXT_CTRL_CODE_CLEAR:
@@ -1702,7 +1702,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
return 0;
}
return 2;
- case 18:
+ case EXT_CTRL_CODE_SKIP:
textPrinter->printerTemplate.currentX = *textPrinter->printerTemplate.currentChar + textPrinter->printerTemplate.x;
textPrinter->printerTemplate.currentChar++;
return 2;
@@ -1739,11 +1739,11 @@ u16 RenderText(struct TextPrinter *textPrinter)
textPrinter->state = 3;
TextPrinterInitDownArrowCounters(textPrinter);
return 3;
- case CHAR_SPECIAL_F9:
+ case CHAR_EXTRA_SYMBOL:
currChar = *textPrinter->printerTemplate.currentChar | 0x100;
textPrinter->printerTemplate.currentChar++;
break;
- case CHAR_SPECIAL_F8:
+ case CHAR_KEYPAD_ICON:
currChar = *textPrinter->printerTemplate.currentChar++;
gUnknown_03002F90.unk80 = DrawKeypadIcon(textPrinter->printerTemplate.windowId, currChar, textPrinter->printerTemplate.currentX, textPrinter->printerTemplate.currentY);
textPrinter->printerTemplate.currentX += gUnknown_03002F90.unk80 + textPrinter->printerTemplate.letterSpacing;
@@ -1891,45 +1891,45 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
temp2 = strLocal[strPos++];
switch (temp2)
{
- case 0x4:
+ case EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW:
++strPos;
- case 0xB:
- case 0x10:
+ case EXT_CTRL_CODE_PLAY_BGM:
+ case EXT_CTRL_CODE_PLAY_SE:
++strPos;
- case 0x1:
- case 0x2:
- case 0x3:
- case 0x5:
- case 0x6:
- case 0x8:
- case 0xC:
- case 0xD:
- case 0xE:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
+ case EXT_CTRL_CODE_COLOR:
+ case EXT_CTRL_CODE_HIGHLIGHT:
+ case EXT_CTRL_CODE_SHADOW:
+ case EXT_CTRL_CODE_PALETTE:
+ case EXT_CTRL_CODE_SIZE:
+ case EXT_CTRL_CODE_PAUSE:
+ case EXT_CTRL_CODE_ESCAPE:
+ case EXT_CTRL_CODE_SHIFT_TEXT:
+ case EXT_CTRL_CODE_SHIFT_DOWN:
+ case EXT_CTRL_CODE_CLEAR:
+ case EXT_CTRL_CODE_SKIP:
+ case EXT_CTRL_CODE_CLEAR_TO:
+ case EXT_CTRL_CODE_MIN_LETTER_SPACING:
++strPos;
break;
- case EXT_CTRL_CODE_UNKNOWN_7:
- case 0x9:
- case 0xA:
- case 0xF:
+ case EXT_CTRL_CODE_RESET_SIZE:
+ case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
+ case EXT_CTRL_CODE_WAIT_SE:
+ case EXT_CTRL_CODE_FILL_WINDOW:
case EXT_CTRL_CODE_JPN:
case EXT_CTRL_CODE_ENG:
default:
break;
}
break;
- case CHAR_SPECIAL_F7:
+ case CHAR_DYNAMIC:
case PLACEHOLDER_BEGIN:
++strPos;
break;
case CHAR_PROMPT_SCROLL:
case CHAR_PROMPT_CLEAR:
break;
- case CHAR_SPECIAL_F8:
- case CHAR_SPECIAL_F9:
+ case CHAR_KEYPAD_ICON:
+ case CHAR_EXTRA_SYMBOL:
++strPos;
default:
++width;
@@ -1999,19 +1999,19 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
case PLACEHOLDER_BEGIN:
switch (*++str)
{
- case 0x2:
+ case PLACEHOLDER_ID_STRING_VAR_1:
bufferPointer = gStringVar1;
break;
- case 0x3:
+ case PLACEHOLDER_ID_STRING_VAR_2:
bufferPointer = gStringVar2;
break;
- case 0x4:
+ case PLACEHOLDER_ID_STRING_VAR_3:
bufferPointer = gStringVar3;
break;
default:
return 0;
}
- case CHAR_SPECIAL_F7:
+ case CHAR_DYNAMIC:
if (bufferPointer == NULL)
bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
while (*bufferPointer != EOS)
@@ -2035,40 +2035,40 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
case EXT_CTRL_CODE_BEGIN:
switch (*++str)
{
- case 0x4:
+ case EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW:
++str;
- case 0xB:
- case 0x10:
+ case EXT_CTRL_CODE_PLAY_BGM:
+ case EXT_CTRL_CODE_PLAY_SE:
++str;
- case 0x1:
- case 0x2:
- case 0x3:
- case 0x5:
- case 0x8:
- case 0xC:
- case 0xD:
- case 0xE:
+ case EXT_CTRL_CODE_COLOR:
+ case EXT_CTRL_CODE_HIGHLIGHT:
+ case EXT_CTRL_CODE_SHADOW:
+ case EXT_CTRL_CODE_PALETTE:
+ case EXT_CTRL_CODE_PAUSE:
+ case EXT_CTRL_CODE_ESCAPE:
+ case EXT_CTRL_CODE_SHIFT_TEXT:
+ case EXT_CTRL_CODE_SHIFT_DOWN:
++str;
break;
- case 0x6:
+ case EXT_CTRL_CODE_SIZE:
func = GetFontWidthFunc(*++str);
if (func == NULL)
return 0;
if (letterSpacing == -1)
localLetterSpacing = GetFontAttribute(*str, FONTATTR_LETTER_SPACING);
break;
- case 0x11:
+ case EXT_CTRL_CODE_CLEAR:
glyphWidth = *++str;
lineWidth += glyphWidth;
break;
- case 0x12:
+ case EXT_CTRL_CODE_SKIP:
lineWidth = *++str;
break;
- case 0x13:
+ case EXT_CTRL_CODE_CLEAR_TO:
if (*++str > lineWidth)
lineWidth = *str;
break;
- case 0x14:
+ case EXT_CTRL_CODE_MIN_LETTER_SPACING:
minGlyphWidth = *++str;
break;
case EXT_CTRL_CODE_JPN:
@@ -2077,17 +2077,17 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
case EXT_CTRL_CODE_ENG:
isJapanese = 0;
break;
- case EXT_CTRL_CODE_UNKNOWN_7:
- case 0x9:
- case 0xA:
- case 0xF:
+ case EXT_CTRL_CODE_RESET_SIZE:
+ case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
+ case EXT_CTRL_CODE_WAIT_SE:
+ case EXT_CTRL_CODE_FILL_WINDOW:
default:
break;
}
break;
- case CHAR_SPECIAL_F8:
- case CHAR_SPECIAL_F9:
- if (*str == CHAR_SPECIAL_F9)
+ case CHAR_KEYPAD_ICON:
+ case CHAR_EXTRA_SYMBOL:
+ if (*str == CHAR_EXTRA_SYMBOL)
glyphWidth = func(*++str | 0x100, isJapanese);
else
glyphWidth = GetKeypadIconWidth(*++str);
@@ -2146,11 +2146,11 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
SaveTextColors(&colorBackup[0], &colorBackup[1], &colorBackup[2]);
- fgColor = 1;
- bgColor = 0;
- shadowColor = 3;
+ fgColor = TEXT_COLOR_WHITE;
+ bgColor = TEXT_COLOR_TRANSPARENT;
+ shadowColor = TEXT_COLOR_LIGHT_GREY;
- GenerateFontHalfRowLookupTable(1, 0, 3);
+ GenerateFontHalfRowLookupTable(TEXT_COLOR_WHITE, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY);
strLocal = str;
strPos = 0;
@@ -2163,54 +2163,54 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
temp2 = strLocal[strPos++];
switch (temp2)
{
- case 0x4:
+ case EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW:
fgColor = strLocal[strPos++];
bgColor = strLocal[strPos++];
shadowColor = strLocal[strPos++];
GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
continue;
- case 0x1:
+ case EXT_CTRL_CODE_COLOR:
fgColor = strLocal[strPos++];
GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
continue;
- case 0x2:
+ case EXT_CTRL_CODE_HIGHLIGHT:
bgColor = strLocal[strPos++];
GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
continue;
- case 0x3:
+ case EXT_CTRL_CODE_SHADOW:
shadowColor = strLocal[strPos++];
GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
continue;
- case 0x6:
+ case EXT_CTRL_CODE_SIZE:
fontId = strLocal[strPos++];
break;
- case 0xB:
- case 0x10:
+ case EXT_CTRL_CODE_PLAY_BGM:
+ case EXT_CTRL_CODE_PLAY_SE:
++strPos;
- case 0x5:
- case 0x8:
- case 0xC:
- case 0xD:
- case 0xE:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
+ case EXT_CTRL_CODE_PALETTE:
+ case EXT_CTRL_CODE_PAUSE:
+ case EXT_CTRL_CODE_ESCAPE:
+ case EXT_CTRL_CODE_SHIFT_TEXT:
+ case EXT_CTRL_CODE_SHIFT_DOWN:
+ case EXT_CTRL_CODE_CLEAR:
+ case EXT_CTRL_CODE_SKIP:
+ case EXT_CTRL_CODE_CLEAR_TO:
+ case EXT_CTRL_CODE_MIN_LETTER_SPACING:
++strPos;
break;
- case EXT_CTRL_CODE_UNKNOWN_7:
- case 0x9:
- case 0xA:
- case 0xF:
+ case EXT_CTRL_CODE_RESET_SIZE:
+ case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
+ case EXT_CTRL_CODE_WAIT_SE:
+ case EXT_CTRL_CODE_FILL_WINDOW:
case EXT_CTRL_CODE_JPN:
case EXT_CTRL_CODE_ENG:
default:
continue;
}
break;
- case CHAR_SPECIAL_F7:
- case CHAR_SPECIAL_F8:
- case CHAR_SPECIAL_F9:
+ case CHAR_DYNAMIC:
+ case CHAR_KEYPAD_ICON:
+ case CHAR_EXTRA_SYMBOL:
case PLACEHOLDER_BEGIN:
++strPos;
break;
diff --git a/gflib/text.h b/gflib/text.h
index 5b317600e..ba74cde6e 100644
--- a/gflib/text.h
+++ b/gflib/text.h
@@ -169,9 +169,9 @@
#define CHAR_a_DIAERESIS 0xF4
#define CHAR_o_DIAERESIS 0xF5
#define CHAR_u_DIAERESIS 0xF6
-#define CHAR_SPECIAL_F7 0xF7
-#define CHAR_SPECIAL_F8 0xF8
-#define CHAR_SPECIAL_F9 0xF9
+#define CHAR_DYNAMIC 0xF7
+#define CHAR_KEYPAD_ICON 0xF8
+#define CHAR_EXTRA_SYMBOL 0xF9
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
@@ -179,7 +179,22 @@
#define CHAR_NEWLINE 0xFE
#define EOS 0xFF // end of string
-// Special F9 chars
+// CHAR_KEYPAD_ICON chars
+#define CHAR_A_BUTTON 0x00
+#define CHAR_B_BUTTON 0x01
+#define CHAR_L_BUTTON 0x02
+#define CHAR_R_BUTTON 0x03
+#define CHAR_START_BUTTON 0x04
+#define CHAR_SELECT_BUTTON 0x05
+#define CHAR_DPAD_UP 0x06
+#define CHAR_DPAD_DOWN 0x07
+#define CHAR_DPAD_LEFT 0x08
+#define CHAR_DPAD_RIGHT 0x09
+#define CHAR_DPAD_UPDOWN 0x0A
+#define CHAR_DPAD_LEFTRIGHT 0x0B
+#define CHAR_DPAD_NONE 0x0C
+
+// CHAR_EXTRA_SYMBOL chars
#define CHAR_UP_ARROW_2 0x00
#define CHAR_DOWN_ARROW_2 0x01
#define CHAR_LEFT_ARROW_2 0x02
@@ -191,18 +206,30 @@
#define CHAR_NO 0x08
#define CHAR_UNDERSCORE 0x09
-#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_CLEAR_TO 0x13
-#define EXT_CTRL_CODE_MIN_LETTER_SPACING 0x14
-#define EXT_CTRL_CODE_JPN 0x15
-#define EXT_CTRL_CODE_ENG 0x16
+#define EXT_CTRL_CODE_COLOR 0x01
+#define EXT_CTRL_CODE_HIGHLIGHT 0x02
+#define EXT_CTRL_CODE_SHADOW 0x03
+#define EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW 0x04
+#define EXT_CTRL_CODE_PALETTE 0x05
+#define EXT_CTRL_CODE_SIZE 0x06
+#define EXT_CTRL_CODE_RESET_SIZE 0x07
+#define EXT_CTRL_CODE_PAUSE 0x08
+#define EXT_CTRL_CODE_PAUSE_UNTIL_PRESS 0x09
+#define EXT_CTRL_CODE_WAIT_SE 0x0A
+#define EXT_CTRL_CODE_PLAY_BGM 0x0B
+#define EXT_CTRL_CODE_ESCAPE 0x0C
+#define EXT_CTRL_CODE_SHIFT_TEXT 0x0D
+#define EXT_CTRL_CODE_SHIFT_DOWN 0x0E
+#define EXT_CTRL_CODE_FILL_WINDOW 0x0F
+#define EXT_CTRL_CODE_PLAY_SE 0x10
+#define EXT_CTRL_CODE_CLEAR 0x11
+#define EXT_CTRL_CODE_SKIP 0x12
+#define EXT_CTRL_CODE_CLEAR_TO 0x13
+#define EXT_CTRL_CODE_MIN_LETTER_SPACING 0x14
+#define EXT_CTRL_CODE_JPN 0x15
+#define EXT_CTRL_CODE_ENG 0x16
+#define EXT_CTRL_CODE_PAUSE_MUSIC 0x17
+#define EXT_CTRL_CODE_RESUME_MUSIC 0x18
#define TEXT_COLOR_TRANSPARENT 0x0
#define TEXT_COLOR_WHITE 0x1