fix HelpSystemRenderText fakematching
This commit is contained in:
+14
-22
@@ -400,7 +400,8 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid
|
|||||||
case PLACEHOLDER_BEGIN:
|
case PLACEHOLDER_BEGIN:
|
||||||
curChar = *src;
|
curChar = *src;
|
||||||
src++;
|
src++;
|
||||||
if (curChar == PLACEHOLDER_ID_PLAYER) {
|
if (curChar == PLACEHOLDER_ID_PLAYER)
|
||||||
|
{
|
||||||
for (i = 0; i < 10; i++)
|
for (i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
if (gSaveBlock2Ptr->playerName[i] == EOS)
|
if (gSaveBlock2Ptr->playerName[i] == EOS)
|
||||||
@@ -477,42 +478,33 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid
|
|||||||
case EXT_CTRL_CODE_SHIFT_RIGHT:
|
case EXT_CTRL_CODE_SHIFT_RIGHT:
|
||||||
case EXT_CTRL_CODE_SHIFT_DOWN:
|
case EXT_CTRL_CODE_SHIFT_DOWN:
|
||||||
src++;
|
src++;
|
||||||
|
case EXT_CTRL_CODE_RESET_FONT:
|
||||||
|
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||||
|
case EXT_CTRL_CODE_WAIT_SE:
|
||||||
|
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||||
|
break;
|
||||||
|
case EXT_CTRL_CODE_CLEAR:
|
||||||
|
case EXT_CTRL_CODE_SKIP:
|
||||||
|
src++;
|
||||||
break;
|
break;
|
||||||
case EXT_CTRL_CODE_CLEAR_TO:
|
case EXT_CTRL_CODE_CLEAR_TO:
|
||||||
{
|
{
|
||||||
#ifdef NONMATCHING
|
clearPixels = *src + orig_x - x;
|
||||||
curChar = *src;
|
|
||||||
clearPixels = curChar + orig_x - x;
|
|
||||||
#else // dumb fakematch
|
|
||||||
s32 r0;
|
|
||||||
register const u8 * _src asm("r2") = src;
|
|
||||||
asm("":::"r1");
|
|
||||||
r0 = *_src;
|
|
||||||
r0 += orig_x;
|
|
||||||
clearPixels = r0 - x;
|
|
||||||
#endif
|
|
||||||
if (clearPixels > 0)
|
if (clearPixels > 0)
|
||||||
{
|
{
|
||||||
destBlit.pixels = dest;
|
destBlit.pixels = dest;
|
||||||
destBlit.width = width * 8;
|
destBlit.width = width * 8;
|
||||||
destBlit.height = height * 8;
|
destBlit.height = height * 8;
|
||||||
FillBitmapRect4Bit(&destBlit, x, y, clearPixels, GetFontAttribute(font, FONTATTR_MAX_LETTER_HEIGHT),
|
FillBitmapRect4Bit(&destBlit, x, y, clearPixels, GetFontAttribute(font, FONTATTR_MAX_LETTER_HEIGHT), 0);
|
||||||
0);
|
|
||||||
x += clearPixels;
|
x += clearPixels;
|
||||||
}
|
}
|
||||||
src++;
|
src++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EXT_CTRL_CODE_CLEAR:
|
|
||||||
case EXT_CTRL_CODE_SKIP:
|
|
||||||
case EXT_CTRL_CODE_MIN_LETTER_SPACING:
|
case EXT_CTRL_CODE_MIN_LETTER_SPACING:
|
||||||
src++;
|
src++;
|
||||||
break;
|
break;
|
||||||
case EXT_CTRL_CODE_RESET_FONT:
|
|
||||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
|
||||||
case EXT_CTRL_CODE_WAIT_SE:
|
|
||||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
|
||||||
break;
|
|
||||||
case EXT_CTRL_CODE_JPN:
|
case EXT_CTRL_CODE_JPN:
|
||||||
case EXT_CTRL_CODE_ENG:
|
case EXT_CTRL_CODE_ENG:
|
||||||
break;
|
break;
|
||||||
@@ -521,7 +513,7 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid
|
|||||||
case CHAR_KEYPAD_ICON:
|
case CHAR_KEYPAD_ICON:
|
||||||
curChar = *src;
|
curChar = *src;
|
||||||
src++;
|
src++;
|
||||||
srcBlit.pixels = (u8 *)gKeypadIconTiles + 0x20 * GetKeypadIconTileOffset(curChar);
|
srcBlit.pixels = (u8 *)&gKeypadIconTiles[0x20 * GetKeypadIconTileOffset(curChar)];
|
||||||
srcBlit.width = 0x80;
|
srcBlit.width = 0x80;
|
||||||
srcBlit.height = 0x80;
|
srcBlit.height = 0x80;
|
||||||
destBlit.pixels = dest;
|
destBlit.pixels = dest;
|
||||||
|
|||||||
Reference in New Issue
Block a user