Sync characters
This commit is contained in:
@@ -2195,7 +2195,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
|| *src == B_TXT_TRAINER2_LOSE_TEXT || *src == B_TXT_TRAINER2_WIN_TEXT)
|
||||
{
|
||||
dst[dstId++] = EXT_CTRL_CODE_BEGIN;
|
||||
dst[dstId++] = EXT_CTRL_CODE_WAIT_BUTTON;
|
||||
dst[dstId++] = EXT_CTRL_CODE_PAUSE_UNTIL_PRESS;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -110,7 +110,7 @@ u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src)
|
||||
{
|
||||
while (*src != EOS)
|
||||
{
|
||||
if (*src != CHAR_DYNAMIC_PLACEHOLDER)
|
||||
if (*src != CHAR_DYNAMIC)
|
||||
{
|
||||
*dest++ = *src++;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1454,7 +1454,7 @@ static void PrintECFields(void)
|
||||
for (k = 0; k < 7; k++)
|
||||
{
|
||||
*str++ = CHAR_EXTRA_SYMBOL;
|
||||
*str++ = 9;
|
||||
*str++ = CHAR_UNDERSCORE;
|
||||
}
|
||||
|
||||
str = WriteColorChangeControlCode(str, 0, TEXT_COLOR_DARK_GRAY);
|
||||
|
||||
@@ -479,7 +479,7 @@ void HelpSystemRenderText(u8 fontId, u8 * dest, const u8 * src, u8 x, u8 y, u8 w
|
||||
case EXT_CTRL_CODE_SHIFT_DOWN:
|
||||
src++;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
break;
|
||||
|
||||
+1
-1
@@ -220,7 +220,7 @@ static const u8 sWireless_RSEtoASCIITable[] = {
|
||||
[CHAR_y] = 'y',
|
||||
[CHAR_z] = 'z',
|
||||
0x20, 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
|
||||
[CHAR_DYNAMIC_PLACEHOLDER] = ' ',
|
||||
[CHAR_DYNAMIC] = ' ',
|
||||
[CHAR_KEYPAD_ICON] = ' ',
|
||||
[CHAR_EXTRA_SYMBOL] = ' ',
|
||||
[CHAR_PROMPT_SCROLL] = ' ',
|
||||
|
||||
@@ -355,7 +355,7 @@ static void BufferCardText(void)
|
||||
// Copy stat texts
|
||||
for (i = 0, charsUntilStat = 0; i < WONDER_CARD_TEXT_LENGTH; i++)
|
||||
{
|
||||
if (sWonderCardData->card.footerLine2Text[i] != CHAR_DYNAMIC_PLACEHOLDER)
|
||||
if (sWonderCardData->card.footerLine2Text[i] != CHAR_DYNAMIC)
|
||||
{
|
||||
// Regular text, just copy as is
|
||||
sWonderCardData->statTextData[sWonderCardData->recordIdx].statText[charsUntilStat] = sWonderCardData->card.footerLine2Text[i];
|
||||
|
||||
+72
-80
@@ -58,106 +58,98 @@ static const struct WindowTemplate sYesNo_WindowTemplate =
|
||||
|
||||
static const struct FontInfo gFontInfos[] =
|
||||
{
|
||||
{
|
||||
[FONT_0] = {
|
||||
.fontFunction = Font0Func,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0xD,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 13,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_1] = {
|
||||
.fontFunction = Font1Func,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_2] = {
|
||||
.fontFunction = Font2Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x1,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 1,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_3] = {
|
||||
.fontFunction = Font3Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x1,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 1,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_4] = {
|
||||
.fontFunction = Font4Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_5] = {
|
||||
.fontFunction = Font5Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_BRAILLE] = {
|
||||
.fontFunction = Font6Func,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0x10,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x2,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 16,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 2,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_7] = {
|
||||
.fontFunction = NULL,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0x8,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x1,
|
||||
.bgColor = 0x2,
|
||||
.shadowColor = 0xF,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 8,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 1,
|
||||
.bgColor = 2,
|
||||
.shadowColor = 15,
|
||||
}
|
||||
};
|
||||
|
||||
static const u8 gMenuCursorDimensions[][2] =
|
||||
{
|
||||
{ 0x8, 0xD },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0x10 },
|
||||
{ 0x0, 0x0 }
|
||||
[FONT_0] = { 8, 13 },
|
||||
[FONT_1] = { 8, 14 },
|
||||
[FONT_2] = { 8, 14 },
|
||||
[FONT_3] = { 8, 14 },
|
||||
[FONT_4] = { 8, 14 },
|
||||
[FONT_5] = { 8, 14 },
|
||||
[FONT_BRAILLE] = { 8, 16 },
|
||||
[FONT_7] = {}
|
||||
};
|
||||
|
||||
static u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
|
||||
|
||||
@@ -2735,20 +2735,20 @@ void DexScreen_PrintMonHeight(u8 windowId, u16 species, u8 x, u8 y)
|
||||
buffer[i++] = feet / 10 + CHAR_0;
|
||||
buffer[i++] = feet % 10 + CHAR_0;
|
||||
}
|
||||
buffer[i++] = CHAR_SGL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_SGL_QUOTE_RIGHT;
|
||||
buffer[i++] = inches / 10 + CHAR_0;
|
||||
buffer[i++] = inches % 10 + CHAR_0;
|
||||
buffer[i++] = CHAR_DBL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_DBL_QUOTE_RIGHT;
|
||||
buffer[i++] = EOS;
|
||||
}
|
||||
else
|
||||
{
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_SGL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_SGL_QUOTE_RIGHT;
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_DBL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_DBL_QUOTE_RIGHT;
|
||||
}
|
||||
|
||||
buffer[i++] = EOS;
|
||||
|
||||
+42
-32
@@ -20,17 +20,21 @@ static const u8 sTinyDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow
|
||||
static const u8 sDoubleArrowTiles1[] = INCBIN_U8("graphics/fonts/down_arrow_3.4bpp");
|
||||
static const u8 sDoubleArrowTiles2[] = INCBIN_U8("graphics/fonts/down_arrow_4.4bpp");
|
||||
|
||||
static const u8 sDownArrowYCoords[] = { 0x0, 0x10, 0x20, 0x10 };
|
||||
static const u8 sWindowVerticalScrollSpeeds[] = { 0x1, 0x2 , 0x4 , 0x0 };
|
||||
static const u8 sDownArrowYCoords[] = { 0, 16, 32, 16 };
|
||||
static const u8 sWindowVerticalScrollSpeeds[] = {
|
||||
[OPTIONS_TEXT_SPEED_SLOW] = 1,
|
||||
[OPTIONS_TEXT_SPEED_MID] = 2,
|
||||
[OPTIONS_TEXT_SPEED_FAST] = 4,
|
||||
};
|
||||
|
||||
static const struct GlyphWidthFunc sGlyphWidthFuncs[] = {
|
||||
{ 0x0, GetGlyphWidthFont0 },
|
||||
{ 0x1, GetGlyphWidthFont1 },
|
||||
{ 0x2, GetGlyphWidthFont2 },
|
||||
{ 0x3, GetGlyphWidthFont3 },
|
||||
{ 0x4, GetGlyphWidthFont4 },
|
||||
{ 0x5, GetGlyphWidthFont5 },
|
||||
{ 0x6, GetGlyphWidthFont6 }
|
||||
{ FONT_0, GetGlyphWidthFont0 },
|
||||
{ FONT_1, GetGlyphWidthFont1 },
|
||||
{ FONT_2, GetGlyphWidthFont2 },
|
||||
{ FONT_3, GetGlyphWidthFont3 },
|
||||
{ FONT_4, GetGlyphWidthFont4 },
|
||||
{ FONT_5, GetGlyphWidthFont5 },
|
||||
{ FONT_BRAILLE, GetGlyphWidthFont6 }
|
||||
};
|
||||
|
||||
static const struct SpriteSheet sUnknown_81EA68C[] =
|
||||
@@ -57,20 +61,26 @@ static const struct SpriteTemplate sUnknown_81EA6B4 =
|
||||
.callback = sub_80062B0,
|
||||
};
|
||||
|
||||
static const struct KeypadIcon sKeypadIcons[] = {
|
||||
{ 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 },
|
||||
struct
|
||||
{
|
||||
u16 tileOffset;
|
||||
u8 width;
|
||||
u8 height;
|
||||
} static const sKeypadIcons[] =
|
||||
{
|
||||
[CHAR_A_BUTTON] = { 0x0, 8, 12 },
|
||||
[CHAR_B_BUTTON] = { 0x1, 8, 12 },
|
||||
[CHAR_L_BUTTON] = { 0x2, 16, 12 },
|
||||
[CHAR_R_BUTTON] = { 0x4, 16, 12 },
|
||||
[CHAR_START_BUTTON] = { 0x6, 24, 12 },
|
||||
[CHAR_SELECT_BUTTON] = { 0x9, 24, 12 },
|
||||
[CHAR_DPAD_UP] = { 0xC, 8, 12 },
|
||||
[CHAR_DPAD_DOWN] = { 0xD, 8, 12 },
|
||||
[CHAR_DPAD_LEFT] = { 0xE, 8, 12 },
|
||||
[CHAR_DPAD_RIGHT] = { 0xF, 8, 12 },
|
||||
[CHAR_DPAD_UPDOWN] = { 0x20, 8, 12 },
|
||||
[CHAR_DPAD_LEFTRIGHT] = { 0x21, 8, 12 },
|
||||
[CHAR_DPAD_NONE] = { 0x22, 8, 12 },
|
||||
};
|
||||
|
||||
const u8 gKeypadIconTiles[] = INCBIN_U8("graphics/fonts/keypad_icons.4bpp");
|
||||
@@ -694,7 +704,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
textPrinter->state = 6;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
textPrinter->state = 1;
|
||||
if (gTextFlags.autoScroll)
|
||||
subStruct->autoScrollDelay = 0;
|
||||
@@ -732,10 +742,10 @@ u16 RenderText(struct TextPrinter *textPrinter)
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_STOP_BGM:
|
||||
case EXT_CTRL_CODE_PAUSE_MUSIC:
|
||||
m4aMPlayStop(&gMPlayInfo_BGM);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_RESUME_BGM:
|
||||
case EXT_CTRL_CODE_RESUME_MUSIC:
|
||||
m4aMPlayContinue(&gMPlayInfo_BGM);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_CLEAR:
|
||||
@@ -955,7 +965,7 @@ static s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpaci
|
||||
++strPos;
|
||||
break;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
case EXT_CTRL_CODE_JPN:
|
||||
@@ -964,7 +974,7 @@ static s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpaci
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CHAR_DYNAMIC_PLACEHOLDER:
|
||||
case CHAR_DYNAMIC:
|
||||
case PLACEHOLDER_BEGIN:
|
||||
++strPos;
|
||||
break;
|
||||
@@ -1053,7 +1063,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
case CHAR_DYNAMIC_PLACEHOLDER:
|
||||
case CHAR_DYNAMIC:
|
||||
if (bufferPointer == NULL)
|
||||
bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
|
||||
while (*bufferPointer != EOS)
|
||||
@@ -1087,7 +1097,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
case EXT_CTRL_CODE_SHIFT_DOWN:
|
||||
++str;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
break;
|
||||
@@ -1231,7 +1241,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str, int a3, int a4, int a5, int a
|
||||
++strPos;
|
||||
break;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
case EXT_CTRL_CODE_JPN:
|
||||
@@ -1240,7 +1250,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str, int a3, int a4, int a5, int a
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case CHAR_DYNAMIC_PLACEHOLDER:
|
||||
case CHAR_DYNAMIC:
|
||||
case CHAR_KEYPAD_ICON:
|
||||
case CHAR_EXTRA_SYMBOL:
|
||||
case PLACEHOLDER_BEGIN:
|
||||
|
||||
+23
-22
@@ -73,16 +73,14 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
if (!gFonts)
|
||||
return FALSE;
|
||||
|
||||
sTempTextPrinter.active = 1;
|
||||
sTempTextPrinter.state = 0;
|
||||
sTempTextPrinter.active = TRUE;
|
||||
sTempTextPrinter.state = RENDER_STATE_HANDLE_CHAR;
|
||||
sTempTextPrinter.textSpeed = speed;
|
||||
sTempTextPrinter.delayCounter = 0;
|
||||
sTempTextPrinter.scrollDistance = 0;
|
||||
|
||||
for (i = 0; i < 7; ++i)
|
||||
{
|
||||
for (i = 0; i < (int)ARRAY_COUNT(sTempTextPrinter.subUnion.fields); ++i)
|
||||
sTempTextPrinter.subUnion.fields[i] = 0;
|
||||
}
|
||||
|
||||
sTempTextPrinter.printerTemplate = *textSubPrinter;
|
||||
sTempTextPrinter.callback = callback;
|
||||
@@ -90,7 +88,7 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
sTempTextPrinter.japanese = 0;
|
||||
|
||||
GenerateFontHalfRowLookupTable(textSubPrinter->fgColor, textSubPrinter->bgColor, textSubPrinter->shadowColor);
|
||||
if (speed != TEXT_SKIP_DRAW && speed != 0x0)
|
||||
if (speed != TEXT_SKIP_DRAW && speed != 0)
|
||||
{
|
||||
--sTempTextPrinter.textSpeed;
|
||||
sTextPrinters[textSubPrinter->windowId] = sTempTextPrinter;
|
||||
@@ -98,15 +96,18 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
else
|
||||
{
|
||||
sTempTextPrinter.textSpeed = 0;
|
||||
|
||||
// Render all text (up to limit) at once
|
||||
for (j = 0; j < 0x400; ++j)
|
||||
{
|
||||
if ((u32)RenderFont(&sTempTextPrinter) == 1)
|
||||
if (RenderFont(&sTempTextPrinter) == RENDER_FINISH)
|
||||
break;
|
||||
}
|
||||
|
||||
// All the text is rendered to the window but don't draw it yet.
|
||||
if (speed != TEXT_SKIP_DRAW)
|
||||
CopyWindowToVram(sTempTextPrinter.printerTemplate.windowId, COPYWIN_GFX);
|
||||
sTextPrinters[textSubPrinter->windowId].active = 0;
|
||||
sTextPrinters[textSubPrinter->windowId].active = FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -114,23 +115,23 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
void RunTextPrinters(void)
|
||||
{
|
||||
int i;
|
||||
u16 temp;
|
||||
|
||||
for (i = 0; i < 0x20; ++i)
|
||||
for (i = 0; i < NUM_TEXT_PRINTERS; ++i)
|
||||
{
|
||||
if (sTextPrinters[i].active != 0)
|
||||
if (sTextPrinters[i].active)
|
||||
{
|
||||
temp = RenderFont(&sTextPrinters[i]);
|
||||
switch (temp) {
|
||||
case 0:
|
||||
CopyWindowToVram(sTextPrinters[i].printerTemplate.windowId, COPYWIN_GFX);
|
||||
case 3:
|
||||
if (sTextPrinters[i].callback != 0)
|
||||
sTextPrinters[i].callback(&sTextPrinters[i].printerTemplate, temp);
|
||||
break;
|
||||
case 1:
|
||||
sTextPrinters[i].active = 0;
|
||||
break;
|
||||
u16 renderCmd = RenderFont(&sTextPrinters[i]);
|
||||
switch (renderCmd)
|
||||
{
|
||||
case RENDER_PRINT:
|
||||
CopyWindowToVram(sTextPrinters[i].printerTemplate.windowId, COPYWIN_GFX);
|
||||
case RENDER_UPDATE:
|
||||
if (sTextPrinters[i].callback != NULL)
|
||||
sTextPrinters[i].callback(&sTextPrinters[i].printerTemplate, renderCmd);
|
||||
break;
|
||||
case RENDER_FINISH:
|
||||
sTextPrinters[i].active = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+145
-33
@@ -128,39 +128,151 @@ static const u8 sKeyboardPageMaxRow[] =
|
||||
9
|
||||
};
|
||||
|
||||
static const u8 sCaseToggleTable[] = {
|
||||
0x00, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C,
|
||||
0x1D, 0x1E, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24,
|
||||
0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02,
|
||||
0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00,
|
||||
0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12,
|
||||
0x13, 0x14, 0x2A, 0x2B, 0x2C, 0x2D, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x36, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, 0x00,
|
||||
0x00, 0x00, 0x6F, 0x5B, 0x5C, 0x5D, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x84, 0x85, 0x86, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
|
||||
0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
|
||||
0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
|
||||
0xB8, 0xB9, 0xBA, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9,
|
||||
0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1,
|
||||
0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9,
|
||||
0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xBB, 0xBC, 0xBD,
|
||||
0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5,
|
||||
0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD,
|
||||
0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xEF,
|
||||
0xF0, 0xF4, 0xF5, 0xF6, 0xF1, 0xF2, 0xF3, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
static const u8 sCaseToggleTable[256] = {
|
||||
[CHAR_A] = CHAR_a,
|
||||
[CHAR_B] = CHAR_b,
|
||||
[CHAR_C] = CHAR_c,
|
||||
[CHAR_D] = CHAR_d,
|
||||
[CHAR_E] = CHAR_e,
|
||||
[CHAR_F] = CHAR_f,
|
||||
[CHAR_G] = CHAR_g,
|
||||
[CHAR_H] = CHAR_h,
|
||||
[CHAR_I] = CHAR_i,
|
||||
[CHAR_J] = CHAR_j,
|
||||
[CHAR_K] = CHAR_k,
|
||||
[CHAR_L] = CHAR_l,
|
||||
[CHAR_M] = CHAR_m,
|
||||
[CHAR_N] = CHAR_n,
|
||||
[CHAR_O] = CHAR_o,
|
||||
[CHAR_P] = CHAR_p,
|
||||
[CHAR_Q] = CHAR_q,
|
||||
[CHAR_R] = CHAR_r,
|
||||
[CHAR_S] = CHAR_s,
|
||||
[CHAR_T] = CHAR_t,
|
||||
[CHAR_U] = CHAR_u,
|
||||
[CHAR_V] = CHAR_v,
|
||||
[CHAR_W] = CHAR_w,
|
||||
[CHAR_X] = CHAR_x,
|
||||
[CHAR_Y] = CHAR_y,
|
||||
[CHAR_Z] = CHAR_z,
|
||||
[CHAR_a] = CHAR_A,
|
||||
[CHAR_b] = CHAR_B,
|
||||
[CHAR_c] = CHAR_C,
|
||||
[CHAR_d] = CHAR_D,
|
||||
[CHAR_e] = CHAR_E,
|
||||
[CHAR_f] = CHAR_F,
|
||||
[CHAR_g] = CHAR_G,
|
||||
[CHAR_h] = CHAR_H,
|
||||
[CHAR_i] = CHAR_I,
|
||||
[CHAR_j] = CHAR_J,
|
||||
[CHAR_k] = CHAR_K,
|
||||
[CHAR_l] = CHAR_L,
|
||||
[CHAR_m] = CHAR_M,
|
||||
[CHAR_n] = CHAR_N,
|
||||
[CHAR_o] = CHAR_O,
|
||||
[CHAR_p] = CHAR_P,
|
||||
[CHAR_q] = CHAR_Q,
|
||||
[CHAR_r] = CHAR_R,
|
||||
[CHAR_s] = CHAR_S,
|
||||
[CHAR_t] = CHAR_T,
|
||||
[CHAR_u] = CHAR_U,
|
||||
[CHAR_v] = CHAR_V,
|
||||
[CHAR_w] = CHAR_W,
|
||||
[CHAR_x] = CHAR_X,
|
||||
[CHAR_y] = CHAR_Y,
|
||||
[CHAR_z] = CHAR_Z,
|
||||
[CHAR_A_GRAVE] = CHAR_a_GRAVE,
|
||||
[CHAR_A_ACUTE] = CHAR_a_ACUTE,
|
||||
[CHAR_A_CIRCUMFLEX] = CHAR_a_CIRCUMFLEX,
|
||||
[CHAR_A_DIAERESIS] = CHAR_a_DIAERESIS,
|
||||
[CHAR_C_CEDILLA] = CHAR_c_CEDILLA,
|
||||
[CHAR_E_GRAVE] = CHAR_e_GRAVE,
|
||||
[CHAR_E_ACUTE] = CHAR_e_ACUTE,
|
||||
[CHAR_E_CIRCUMFLEX] = CHAR_e_CIRCUMFLEX,
|
||||
[CHAR_E_DIAERESIS] = CHAR_e_DIAERESIS,
|
||||
[CHAR_I_GRAVE] = CHAR_i_GRAVE,
|
||||
[CHAR_I_ACUTE] = CHAR_i_ACUTE,
|
||||
[CHAR_I_CIRCUMFLEX] = CHAR_i_CIRCUMFLEX,
|
||||
[CHAR_I_DIAERESIS] = CHAR_i_DIAERESIS,
|
||||
[CHAR_O_GRAVE] = CHAR_o_GRAVE,
|
||||
[CHAR_O_ACUTE] = CHAR_o_ACUTE,
|
||||
[CHAR_O_CIRCUMFLEX] = CHAR_o_CIRCUMFLEX,
|
||||
[CHAR_O_DIAERESIS] = CHAR_o_DIAERESIS,
|
||||
[CHAR_OE] = CHAR_oe,
|
||||
[CHAR_U_GRAVE] = CHAR_u_GRAVE,
|
||||
[CHAR_U_ACUTE] = CHAR_u_ACUTE,
|
||||
[CHAR_U_CIRCUMFLEX] = CHAR_u_CIRCUMFLEX,
|
||||
[CHAR_U_DIAERESIS] = CHAR_u_DIAERESIS,
|
||||
[CHAR_N_TILDE] = CHAR_n_TILDE,
|
||||
[CHAR_ESZETT] = CHAR_ESZETT,
|
||||
[CHAR_a_GRAVE] = CHAR_A_GRAVE,
|
||||
[CHAR_a_ACUTE] = CHAR_A_ACUTE,
|
||||
[CHAR_a_CIRCUMFLEX] = CHAR_A_CIRCUMFLEX,
|
||||
[CHAR_a_DIAERESIS] = CHAR_A_DIAERESIS,
|
||||
[CHAR_c_CEDILLA] = CHAR_C_CEDILLA,
|
||||
[CHAR_e_GRAVE] = CHAR_E_GRAVE,
|
||||
[CHAR_e_ACUTE] = CHAR_E_ACUTE,
|
||||
[CHAR_e_CIRCUMFLEX] = CHAR_E_CIRCUMFLEX,
|
||||
[CHAR_e_DIAERESIS] = CHAR_E_DIAERESIS,
|
||||
[CHAR_i_GRAVE] = CHAR_I_GRAVE,
|
||||
[CHAR_i_ACUTE] = CHAR_I_ACUTE,
|
||||
[CHAR_i_CIRCUMFLEX] = CHAR_I_CIRCUMFLEX,
|
||||
[CHAR_i_DIAERESIS] = CHAR_I_DIAERESIS,
|
||||
[CHAR_o_GRAVE] = CHAR_O_GRAVE,
|
||||
[CHAR_o_ACUTE] = CHAR_O_ACUTE,
|
||||
[CHAR_o_CIRCUMFLEX] = CHAR_O_CIRCUMFLEX,
|
||||
[CHAR_o_DIAERESIS] = CHAR_O_DIAERESIS,
|
||||
[CHAR_oe] = CHAR_OE,
|
||||
[CHAR_u_GRAVE] = CHAR_U_GRAVE,
|
||||
[CHAR_u_ACUTE] = CHAR_U_ACUTE,
|
||||
[CHAR_u_CIRCUMFLEX] = CHAR_U_CIRCUMFLEX,
|
||||
[CHAR_u_DIAERESIS] = CHAR_U_DIAERESIS,
|
||||
[CHAR_n_TILDE] = CHAR_N_TILDE,
|
||||
[CHAR_0] = CHAR_0,
|
||||
[CHAR_1] = CHAR_1,
|
||||
[CHAR_2] = CHAR_2,
|
||||
[CHAR_3] = CHAR_3,
|
||||
[CHAR_4] = CHAR_4,
|
||||
[CHAR_5] = CHAR_5,
|
||||
[CHAR_6] = CHAR_6,
|
||||
[CHAR_7] = CHAR_7,
|
||||
[CHAR_8] = CHAR_8,
|
||||
[CHAR_9] = CHAR_9,
|
||||
[CHAR_PK] = CHAR_PK,
|
||||
[CHAR_MN] = CHAR_MN,
|
||||
[CHAR_PO] = CHAR_PO,
|
||||
[CHAR_KE] = CHAR_KE,
|
||||
[CHAR_SUPER_E] = CHAR_SUPER_E,
|
||||
[CHAR_SUPER_ER] = CHAR_SUPER_ER,
|
||||
[CHAR_SUPER_RE] = CHAR_SUPER_RE,
|
||||
[CHAR_PERIOD] = CHAR_PERIOD,
|
||||
[CHAR_COMMA] = CHAR_COMMA,
|
||||
[CHAR_COLON] = CHAR_COLON,
|
||||
[CHAR_SEMICOLON] = CHAR_SEMICOLON,
|
||||
[CHAR_EXCL_MARK] = CHAR_EXCL_MARK,
|
||||
[CHAR_QUESTION_MARK] = CHAR_QUESTION_MARK,
|
||||
[CHAR_HYPHEN] = CHAR_HYPHEN,
|
||||
[CHAR_SLASH] = CHAR_SLASH,
|
||||
[CHAR_ELLIPSIS] = CHAR_ELLIPSIS,
|
||||
[CHAR_LEFT_PAREN] = CHAR_LEFT_PAREN,
|
||||
[CHAR_RIGHT_PAREN] = CHAR_RIGHT_PAREN,
|
||||
[CHAR_AMPERSAND] = CHAR_AMPERSAND,
|
||||
[CHAR_DBL_QUOTE_LEFT] = CHAR_DBL_QUOTE_LEFT,
|
||||
[CHAR_DBL_QUOTE_RIGHT] = CHAR_DBL_QUOTE_RIGHT,
|
||||
[CHAR_SGL_QUOTE_LEFT] = CHAR_SGL_QUOTE_LEFT,
|
||||
[CHAR_SGL_QUOTE_RIGHT] = CHAR_SGL_QUOTE_RIGHT,
|
||||
[CHAR_MASCULINE_ORDINAL] = CHAR_MASCULINE_ORDINAL,
|
||||
[CHAR_FEMININE_ORDINAL] = CHAR_FEMININE_ORDINAL,
|
||||
[CHAR_BULLET] = CHAR_BULLET,
|
||||
[CHAR_EQUALS] = CHAR_EQUALS,
|
||||
[CHAR_MULT_SIGN] = CHAR_MULT_SIGN,
|
||||
[CHAR_PERCENT] = CHAR_PERCENT,
|
||||
[CHAR_LESS_THAN] = CHAR_LESS_THAN,
|
||||
[CHAR_GREATER_THAN] = CHAR_GREATER_THAN,
|
||||
[CHAR_MALE] = CHAR_MALE,
|
||||
[CHAR_FEMALE] = CHAR_FEMALE,
|
||||
[CHAR_CURRENCY] = CHAR_CURRENCY,
|
||||
[CHAR_BLACK_TRIANGLE] = CHAR_BLACK_TRIANGLE,
|
||||
};
|
||||
|
||||
const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT] = {
|
||||
|
||||
Reference in New Issue
Block a user