#include "d/dolzel.h" // IWYU pragma: keep #include "d/d_name.h" #include "d/d_lib.h" #include "m_Do/m_Do_controller_pad.h" #include "JSystem/J2DGraph/J2DTextBox.h" #include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "stdio.h" /* 80215E38-80215F64 .text __ct__9dNm_HIO_cFv */ dNm_HIO_c::dNm_HIO_c() { field_0x42 = -150; field_0x44 = 350; field_0x46 = 490; field_0x48 = 120; field_0x6 = 6; field_0x7 = 6; field_0x8 = 6; field_0x9 = 6; field_0xa = 6; field_0xb = 6; field_0xc = 6; field_0xd = 6; field_0xe = 0; field_0xf = 0; field_0x10 = 0; field_0x11 = 0; field_0x12 = 2; field_0x13 = 4; #if VERSION == VERSION_USA field_0x14 = 4; field_0x15 = 6; #else field_0x14 = 6; field_0x15 = 8; #endif field_0x1f = 14; field_0x20 = 140; field_0x21 = 70; field_0x1b = 15; field_0x1d = 255; field_0x1e = 64; field_0x1c = 31; field_0x28 = 0; field_0x26 = 0; field_0x16 = 7; field_0x17 = 160; field_0x18 = 80; field_0x19 = 14; field_0x1a = 0; field_0x2a[0] = 0; field_0x2a[1] = 1; field_0x2a[2] = 1; field_0x30[0] = 0; field_0x30[1] = 0; field_0x30[2] = 0; field_0x36[0] = 0; field_0x36[1] = -1; field_0x36[2] = -1; field_0x3c[0] = 0; field_0x3c[1] = 0; field_0x3c[2] = 0; field_0x23 = 5; field_0x22 = 20; field_0x5 = 0; } dNm_HIO_c g_nmHIO; typedef void (dName_c::*selProcFunc)(void); static selProcFunc SelProc[] = { &dName_c::MojiSelect, &dName_c::MenuSelect, &dName_c::MenuButtonAnime, &dName_c::EndWait }; /* 80215F64-80216190 .text _create__7dName_cFv */ void dName_c::_create() { nameIn.NameInScr = new J2DScreen(); JUT_ASSERT(VERSION_SELECT(208, 208, 212, 212), nameIn.NameInScr != NULL); stick = new STControl(5, 2, 3, 2); JUT_ASSERT(VERSION_SELECT(212, 212, 216, 216), stick != NULL); stick->setWaitParm(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x800); archive = dComIfGp_getNameResArchive(); nameIn.NameInScr->set("name_input.blo", archive); nameIn.font = mDoExt_getMesgFont(); JUT_ASSERT(VERSION_SELECT(222, 222, 226, 226), nameIn.font != NULL); g_nmHIO.id = mDoHIO_createChild("名前登録画面", &g_nmHIO); screenSet(); *nextNameStr = 0; #if VERSION_JPN displayInit(); #endif paneTransInit(); } /* 80216190-802161C4 .text initial__7dName_cFv */ void dName_c::initial() { displayInit(); paneTransInit(); } /* 802161C4-80216248 .text _delete__7dName_cFv */ void dName_c::_delete() { delete nameIn.NameInScr; mDoExt_removeMesgFont(); delete stick; archive->removeResourceAll(); mDoHIO_deleteChild(g_nmHIO.id); // supposed to be _deleteSp? } void dName_c::_deleteSp() { mDoHIO_deleteChild(g_nmHIO.id); } /* 80216248-80216268 .text _move__7dName_cFv */ void dName_c::_move() { NameInMain(); } /* 80216268-802162A4 .text nameCheck__7dName_cFv */ int dName_c::nameCheck() { for (int i = 8, len = 7; i > 0; i--) { #if VERSION <= VERSION_JPN // ' ' (full-width space) if (chrInfo[len].character != ' ' && chrInfo[len].character != '\x81\x40') #else if (chrInfo[len].character != ' ') #endif { return len + 1; } len--; } return 0; } /* 802162A4-802162F8 .text playNameSet__7dName_cFi */ void dName_c::playNameSet(int nameLength) { char* str = inputStr; for (int i = 0; i < nameLength; i++) { #if VERSION <= VERSION_USA if (chrInfo[i].set == MOJI_EIGO) { *str = chrInfo[i].character; str += 1; } else { *(u16*)str = chrInfo[i].character; str += 2; } #else *str = chrInfo[i].character; str += 1; #endif } *str = 0; } /* 802162F8-80216670 .text _open__7dName_cFv */ bool dName_c::_open() { BOOL base0_rt = PaneTranceBase0(paneTransTimer - g_nmHIO.field_0x10, g_nmHIO.field_0x8, g_nmHIO.field_0x46, 0.0f, 1, 0); BOOL title_rt = PaneTranceTitle(paneTransTimer - g_nmHIO.field_0xe, g_nmHIO.field_0x6, g_nmHIO.field_0x42, 0.0f, 1, 0); BOOL name_rt = PaneTranceName(paneTransTimer - g_nmHIO.field_0xf, g_nmHIO.field_0x7, g_nmHIO.field_0x44, 0.0f, 1, 0); BOOL base_rt = PaneTranceBase(paneTransTimer - g_nmHIO.field_0x10, g_nmHIO.field_0x8, g_nmHIO.field_0x46, 0.0f, 1, 0); BOOL kata_rt = PaneTranceKata(paneTransTimer - g_nmHIO.field_0x12, g_nmHIO.field_0xa, g_nmHIO.field_0x48, 0.0f, 1, 0); BOOL hira_rt = PaneTranceHira(paneTransTimer - g_nmHIO.field_0x11, g_nmHIO.field_0x9, g_nmHIO.field_0x48, 0.0f, 1, 0); #if VERSION <= VERSION_USA BOOL eisu_rt = PaneTranceEisu(paneTransTimer - g_nmHIO.field_0x13, g_nmHIO.field_0xb, g_nmHIO.field_0x48, 0.0f, 1, 0); #endif BOOL arw_rt = PaneTranceArrow(paneTransTimer - g_nmHIO.field_0x14, g_nmHIO.field_0xc, g_nmHIO.field_0x48, 0.0f, 1, 0); BOOL end_rt = PaneTranceEnd(paneTransTimer - g_nmHIO.field_0x15, g_nmHIO.field_0x15, g_nmHIO.field_0x48, 0.0f, 1, 0); paneTransTimer++; if (base0_rt == TRUE && title_rt == TRUE && name_rt == TRUE && base_rt == TRUE && kata_rt == TRUE && hira_rt == TRUE #if VERSION <= VERSION_USA && eisu_rt == TRUE #endif && arw_rt == TRUE && end_rt == TRUE) { paneTransTimer = 0; return true; } return false; } /* 80216670-802169E0 .text _close__7dName_cFv */ bool dName_c::_close() { BOOL base0_rt = PaneTranceBase0(paneTransTimer - g_nmHIO.field_0x10, g_nmHIO.field_0x8, 0.0f, g_nmHIO.field_0x46, 0, 1); BOOL title_rt = PaneTranceTitle(paneTransTimer - g_nmHIO.field_0xe, g_nmHIO.field_0x6, 0.0f, g_nmHIO.field_0x42, 0, 1); BOOL name_rt = PaneTranceName(paneTransTimer - g_nmHIO.field_0xf, g_nmHIO.field_0x7, 0.0f, g_nmHIO.field_0x44, 0, 1); BOOL base_rt = PaneTranceBase(paneTransTimer - g_nmHIO.field_0x10, g_nmHIO.field_0x8, 0.0f, g_nmHIO.field_0x46, 0, 1); BOOL kata_rt = PaneTranceKata(paneTransTimer - g_nmHIO.field_0x12, g_nmHIO.field_0xa, 0.0f, g_nmHIO.field_0x48, 0, 1); BOOL hira_rt = PaneTranceHira(paneTransTimer - g_nmHIO.field_0x11, g_nmHIO.field_0x9, 0.0f, g_nmHIO.field_0x48, 0, 1); #if VERSION <= VERSION_USA BOOL eisu_rt = PaneTranceEisu(paneTransTimer - g_nmHIO.field_0x13, g_nmHIO.field_0xb, 0.0f, g_nmHIO.field_0x48, 0, 1); #endif BOOL arw_rt = PaneTranceArrow(paneTransTimer - g_nmHIO.field_0x14, g_nmHIO.field_0xc, 0.0f, g_nmHIO.field_0x48, 0, 1); BOOL end_rt = PaneTranceEnd(paneTransTimer - g_nmHIO.field_0x15, g_nmHIO.field_0x15, 0.0f, g_nmHIO.field_0x48, 0, 1); paneTransTimer++; if (base0_rt == TRUE && title_rt == TRUE && name_rt == TRUE && base_rt == TRUE && kata_rt == TRUE && hira_rt == TRUE #if VERSION <= VERSION_USA && eisu_rt == TRUE #endif && arw_rt == TRUE && end_rt == TRUE) { return true; } return false; } /* 802169E0-80216C08 .text NameInMain__7dName_cFv */ void dName_c::NameInMain() { stick->checkTrigger(); (this->*SelProc[selProc])(); #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL if (CPad_CHECK_TRIG_Y(0)) { mDoAud_seStart(JA_SE_NAME_PUSH_BUTTON, NULL, 0, 0); prevMojiSet = mojiSet; mojiSet++; #if VERSION <= VERSION_JPN if (mojiSet > MOJI_EIGO) { #else if (mojiSet > MOJI_KATA) { #endif mojiSet = MOJI_HIRA; } mojiListChange(prevMojiSet); } else #endif #if VERSION <= VERSION_JPN if (CPad_CHECK_TRIG_X(0)) { if (curPos != 0) { if (mojiChange(curPos - 1) == 1) { mDoAud_seStart(JA_SE_NAME_STR_SWITCH, NULL, 0, 0); } else { mDoAud_seStart(JA_SE_NAME_INPUT_LIMIT, NULL, 0, 0); } } } else #endif if (CPad_CHECK_TRIG_RIGHT(0)) { if (curPos != 8) { mDoAud_seStart(JA_SE_NAME_NAME_CURSOR, NULL, 0, 0); curPos++; nameCursorMove(); } } else if (CPad_CHECK_TRIG_LEFT(0)) { if (curPos != 0) { mDoAud_seStart(JA_SE_NAME_NAME_CURSOR, NULL, 0, 0); curPos--; nameCursorMove(); } } else if (CPad_CHECK_TRIG_B(0)) { if (curPos == 0) { mDoAud_seStart(JA_SE_MSEL_CANCEL_1, NULL, 0, 0); field_0x97c[0].pane->hide(); selProc = PROC_END_WAIT; isInputEnd_ = 2; } else { backSpace(); } } else if (CPad_CHECK_TRIG_START(0)) { if (selProc != PROC_MENU_BUTTON_ANIME && (selProc != PROC_MENU_SELECT || selMenu != MENU_END)) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); selProc = PROC_MENU_SELECT; selMenu = MENU_END; menuCursorMove(); for (int i = 0; i < 3; i++) { field_0x8d4[i].pane->hide(); } field_0x97c[0].pane->show(); selectCursorMove(); } } nameCursorAnime(); } /* 80216C08-80216D14 .text nameCursorAnime__7dName_cFv */ void dName_c::nameCursorAnime() { f32 var_f1 = fopMsgM_valueIncrease(g_nmHIO.field_0x1f, field_0x1c4c.mUserArea, 0); if (field_0x2906 != 0) { var_f1 = 1.0f - var_f1; } f32 temp2 = g_nmHIO.field_0x1d - g_nmHIO.field_0x1e; field_0x1c4c.mNowAlpha = (f32)g_nmHIO.field_0x1e + (u32)(temp2 * var_f1); fopMsgM_setAlpha(&field_0x1c4c); if (field_0x1c4c.mUserArea == 0) { field_0x2906 ^= 1; field_0x1c4c.mUserArea = g_nmHIO.field_0x1b; } else { field_0x1c4c.mUserArea--; } } /* 80216D14-80216D18 .text EndWait__7dName_cFv */ void dName_c::EndWait() {} /* 80216D18-80216F14 .text MojiSelect__7dName_cFv */ void dName_c::MojiSelect() { if (CPad_CHECK_TRIG_A(0)) { selectMojiSet(); } else if (stick->checkRightTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); charColumn++; if (charColumn > 12) { charColumn = 0; } selectCursorMove(); } else if (stick->checkLeftTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); if (charColumn == 0) { charColumn = 12; } else { charColumn--; } selectCursorMove(); } if (stick->checkUpTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); if (charRow == 0) { selProc = PROC_MENU_SELECT; menuCursorPosSet(); } else { charRow--; } selectCursorMove(); } else if (stick->checkDownTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); charRow++; if (charRow > 4) { charRow = 4; selProc = PROC_MENU_SELECT; menuCursorPosSet(); } selectCursorMove(); } selectCursorAnime(); } /* 80216F14-80217284 .text mojiChange__7dName_cFUc */ int dName_c::mojiChange(u8 idx) { if (chrInfo[idx].field_0x3 == 0 || chrInfo[idx].set == MOJI_EIGO || chrInfo[idx].character == SJIS(' ', 0x8140U)) { return 0; } if (chrInfo[idx].column == 4 || chrInfo[idx].column == 6 || chrInfo[idx].column == 8 || chrInfo[idx].column == 9) { return 0; } switch (chrInfo[idx].column) { case 0: case 10: { if (chrInfo[idx].character == SJIS('ウ', 0x8345U) || chrInfo[idx].character == SJIS('ゥ', 0x8344U) || chrInfo[idx].character == SJIS('ヴ', 0x8394U)) { chrInfo[idx].character++; if (chrInfo[idx].character == SJIS('ェ', 0x8346U)) { chrInfo[idx].character = SJIS('ヴ', 0x8394U); } if (chrInfo[idx].character == SJIS('ヵ', 0x8395U)) { chrInfo[idx].character = SJIS('ゥ', 0x8344U); } } else { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('ァ', 0x8340U) : SJIS('ぁ', 0x829fU); if ((chrInfo[idx].character - c) % 2) { --chrInfo[idx].character; } else { ++chrInfo[idx].character; } } break; } case 1: { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('カ', 0x834aU) : SJIS('か', 0x82a9U); c = ((chrInfo[idx].character - c) % 2); int c2 = c + 1; chrInfo[idx].character = (chrInfo[idx].character - c) + (c2 & 1); break; } case 2: { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('サ', 0x8354U) : SJIS('さ', 0x82b3U); c = ((chrInfo[idx].character - c) % 2); int c2 = c + 1; chrInfo[idx].character = (chrInfo[idx].character - c) + (c2 & 1); break; } case 3: case 12: { if (chrInfo[idx].character != (u32)0x815b) { if (chrInfo[idx].character <= (chrInfo[idx].set != MOJI_HIRA ? SJIS('ヂ', 0x8361U) : SJIS('ぢ', 0x82c0U))) { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('タ', 0x835eU) : SJIS('た', 0x82bdU); c = ((chrInfo[idx].character - c) % 2); int c2 = c + 1; chrInfo[idx].character = (chrInfo[idx].character - c) + (c2 & 1); } else if (chrInfo[idx].character <= (chrInfo[idx].set != MOJI_HIRA ? SJIS('ド', 0x8368U) : SJIS('ど', 0x82c7U)) && chrInfo[idx].character >= (chrInfo[idx].set != MOJI_HIRA ? SJIS('テ', 0x8365U) : SJIS('て', 0x82c4U))) { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('テ', 0x8365U) : SJIS('て', 0x82c4U); c = ((chrInfo[idx].character - c) % 2); int c2 = c + 1; chrInfo[idx].character = (chrInfo[idx].character - c) + (c2 & 1); } else { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('ッ', 0x8362U) : SJIS('っ', 0x82c1U); int c2 = (chrInfo[idx].character - c) % 3; int ivar2 = c2 + 1; if (ivar2 > 2) { ivar2 = 0; } chrInfo[idx].character = ivar2 + (chrInfo[idx].character - c2); } } break; } case 5: { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('ハ', 0x836eU) : SJIS('は', 0x82cdU); int c2 = (chrInfo[idx].character - c) % 3; int ivar2 = c2 + 1; if (ivar2 > 2) { ivar2 = 0; } chrInfo[idx].character = ivar2 + (chrInfo[idx].character - c2); break; } case 7: case 11: { int c = chrInfo[idx].set != MOJI_HIRA ? SJIS('ャ', 0x8383U) : SJIS('ゃ', 0x82e1U); c = ((chrInfo[idx].character - c) % 2); int c2 = c + 1; chrInfo[idx].character = (chrInfo[idx].character - c) + (c2 & 1); break; } } setNameText(); return 1; } /* 80217284-802172CC .text selectMojiSet__7dName_cFv */ void dName_c::selectMojiSet() { #if VERSION <= VERSION_JPN int moji = getMoji(); if (moji != -1) { if (moji == SJIS('゛', 0x814AU) || moji == SJIS('゜', 0x814BU)) { if (curPos != 0) { if (checkDakuon(moji, curPos - 1) == 1) { mDoAud_seStart(JA_SE_NAME_INPUT, NULL, 0, 0); setDakuon(moji, curPos - 1); } else { mDoAud_seStart(JA_SE_NAME_INPUT_LIMIT, NULL, 0, 0); } } } else { setMoji(moji); } } #else setMoji(getMoji()); #endif setNameText(); nameCursorMove(); } #if VERSION <= VERSION_JPN BOOL dName_c::checkDakuon(int param_0, u8 param_1) { if (chrInfo[param_1].set == MOJI_EIGO) { return 0; } if (param_1 == 0 && chrInfo[param_1].field_0x3 == 0) { return 0; } #if VERSION == VERSION_DEMO if (param_0 == SJIS('゛', 0x814AU) && chrInfo[param_1].column != 1 && chrInfo[param_1].column != 2 && chrInfo[param_1].column != 0 && chrInfo[param_1].column != 3 && chrInfo[param_1].column != 5) { return 0; } if (param_0 == SJIS('゜', 0x814BU) && chrInfo[param_1].column != 5) { return 0; } #else if (param_0 == SJIS('゜', 0x814BU) && chrInfo[param_1].column != 5) { return 0; } if (param_0 == SJIS('゛', 0x814AU) && (chrInfo[param_1].character == SJIS('ウ', 0x8345U) || chrInfo[param_1].character == SJIS('ヴ', 0x8394U))) { return 1; } if (param_0 == SJIS('゛', 0x814AU) && chrInfo[param_1].column != 1 && chrInfo[param_1].column != 2 && chrInfo[param_1].column != 3 && chrInfo[param_1].column != 5) { return 0; } #endif return 1; } BOOL dName_c::setDakuon(int param_1, u8 param_2) { int c; if (param_1 == SJIS('゛', 0x814AU)) { switch (chrInfo[param_2].column) { case 0: { c = -1; if (chrInfo[param_2].character == SJIS('ウ', 0x8345U) || chrInfo[param_2].character == SJIS('ヴ', 0x8394U)) { c = 4; chrInfo[param_2].character = SJIS('ヴ', 0x8394U); } break; } case 1: { int c2 = chrInfo[param_2].set != MOJI_HIRA ? SJIS('カ', 0x834aU) : SJIS('か', 0x82a9U); c = (chrInfo[param_2].character - c2) % 2; break; } case 2: { int c2 = chrInfo[param_2].set != MOJI_HIRA ? SJIS('サ', 0x8354U) : SJIS('さ', 0x82b3U); c = (chrInfo[param_2].character - c2) % 2; break; } case 3: { int c2; if (chrInfo[param_2].character <= ((chrInfo[param_2].set != MOJI_HIRA ? SJIS('ヂ', 0x8361U) : SJIS('ぢ', 0x82c0U)))) { c2 = chrInfo[param_2].set != MOJI_HIRA ? SJIS('タ', 0x835eU) : SJIS('た', 0x82bdU); c = (chrInfo[param_2].character - c2) % 2; } else { if (chrInfo[param_2].character <= (chrInfo[param_2].set != 0 ? SJIS('ド', 0x8368U) : SJIS('ど', 0x82c7U))) { if (chrInfo[param_2].character >= (chrInfo[param_2].set != 0 ? SJIS('テ', 0x8365U) : SJIS('て', 0x82c4U))) { c2 = chrInfo[param_2].set != MOJI_HIRA ? SJIS('テ', 0x8365U) : SJIS('て', 0x82c4U); c = (chrInfo[param_2].character - c2) % 2; break; } } c2 = chrInfo[param_2].set != MOJI_HIRA ? SJIS('ッ', 0x8362U) : SJIS('っ', 0x82c1U); c = (chrInfo[param_2].character - c2) % 3; if (c == 2) { c = 1; } else if (c == 1) { c = 0; } else if (c == 0) { c = 3; } } break; } case 5: { int c2 = chrInfo[param_2].set != MOJI_HIRA ? SJIS('ハ', 0x836eU) : SJIS('は', 0x82cdU); c = (chrInfo[param_2].character - c2) % 3; break; } } if (c != 1) { if (c == 2) { chrInfo[param_2].character -= 1; } else if (c == 0) { chrInfo[param_2].character += 1; } else if (c == 3) { chrInfo[param_2].character += 2; } setNameText(); return 1; } } else if (param_1 == SJIS('゜', 0x814BU)) { int c2 = chrInfo[param_2].set != MOJI_HIRA ? SJIS('ハ', 0x836eU) : SJIS('は', 0x82cdU); c = (chrInfo[param_2].character - c2) % 3; if (c != 2) { chrInfo[param_2].character = chrInfo[param_2].character + (2 - c); setNameText(); return 1; } } return 0; } #endif /* 802172CC-802173E8 .text getMoji__7dName_cFv */ int dName_c::getMoji() { int i; int result = -1; const char* moji; fopMsgM_pane_class* pane; switch (mojiSet) { case MOJI_HIRA: pane = &hiraMojiPanes[charColumn]; break; case MOJI_KATA: pane = &kataMojiPanes[charColumn]; break; #if VERSION <= VERSION_USA case MOJI_EIGO: pane = &eisuMojiPanes[charColumn]; break; #endif } moji = ((J2DTextBox*)(pane->pane))->getStringPtr(); i = 0; while (*moji != 0) { if (*moji == '\n') { moji++; continue; } #if VERSION <= VERSION_USA if (*(u8*)moji >> 4 == 0x8 || *(u8*)moji >> 4 == 0x9) { if (i == charRow) { result = *(u16*)moji; break; } moji += 2; i++; } else { if (i == charRow) { result = *moji; break; } moji++; i++; } #else if (i == charRow) { result = *moji; break; } moji++; i++; #endif } return result; } /* 802173E8-80217610 .text setMoji__7dName_cFi */ void dName_c::setMoji(int moji) { if (curPos == 8 || nameCheck() == 8) { mDoAud_seStart(JA_SE_NAME_INPUT_LIMIT, NULL, 0, 0); } else { mDoAud_seStart(JA_SE_NAME_INPUT, NULL, 0, 0); s32 notEmpty = false; for (int i = curPos; i < 8; i++) { #if VERSION <= VERSION_JPN // ' ' (full-width space) if (chrInfo[i].character != '\x81\x40') #else if (chrInfo[i].character != ' ') #endif { notEmpty = true; break; } } if (notEmpty) { #if VERSION <= VERSION_JPN // ' ' (full-width space) if (chrInfo[7].character == '\x81\x40') #else if (chrInfo[7].character == ' ') #endif { for (int i = 6; i >= curPos; i--) { chrInfo[i + 1] = chrInfo[i]; } chrInfo[curPos].column = charColumn; chrInfo[curPos].row = charRow; chrInfo[curPos].set = mojiSet; chrInfo[curPos].field_0x3 = 1; #if VERSION <= VERSION_USA chrInfo[curPos].character = moji; #else chrInfo[curPos].character = moji & 0xFF; #endif if (curPos != 8) { curPos++; } } } else { chrInfo[curPos].column = charColumn; chrInfo[curPos].row = charRow; chrInfo[curPos].set = mojiSet; chrInfo[curPos].field_0x3 = 1; #if VERSION <= VERSION_USA chrInfo[curPos].character = moji; #else chrInfo[curPos].character = moji & 0xFF; #endif if (curPos != 8) { curPos++; } } } } /* 80217610-802177E4 .text setNameText__7dName_cFv */ void dName_c::setNameText() { f32 var_f31 = ((J2DTextBox*)namePane.pane)->mFontSizeX; f32 ratio = var_f31 / nameIn.font->getCellWidth(); *pNameTxt = 0; for (int i = 0; i < 8; i++) { if (chrInfo[i].field_0x3 != 0) { JUTFont::TWidth twidth; int character = chrInfo[i].character; nameIn.font->getWidthEntry(character, &twidth); f32 temp = (int)twidth.field_0x1; temp *= ratio; int sp50 = temp * 10000.0f; f32 fvar4 = sp50 / 10000.0f; f32 fvar5 = (var_f31 - fvar4) / 2.0f; f32 fvar6 = var_f31 - (fvar4 + fvar5); int ivar7 = (int)fvar5 + (int)fvar4 + (int)fvar6; if (ivar7 < (int)var_f31) { fvar6 += (int)var_f31 - ivar7; } char spC[320]; #if VERSION <= VERSION_JPN if (chrInfo[i].set == MOJI_EIGO) #endif { sprintf(spC, "\x1b" "CR[%d]%c\x1b" "CR[%d]\x1b" "CR[%d]", (int)fvar5, (u8)chrInfo[i].character, (int)fvar6, 2 ); } #if VERSION <= VERSION_JPN else { sprintf(spC, "\x1b" "CR[%d]%c%c\x1b" "CR[%d]\x1b" "CR[%d]", (int)fvar5, (u8)((chrInfo[i].character & 0xFF00) >> 8), (u8)chrInfo[i].character, (int)fvar6, 2 ); } #endif strcat(pNameTxt, spC); } } } /* 802177E4-80217870 .text nameCursorMove__7dName_cFv */ void dName_c::nameCursorMove() { fopMsgM_paneTrans(&field_0x1c4c, (f32)g_nmHIO.field_0x28 + curPos * g_nmHIO.field_0x1c, g_nmHIO.field_0x26); } /* 80217870-802179BC .text selectCursorMove__7dName_cFv */ void dName_c::selectCursorMove() { int idx; #if VERSION == VERSION_PAL if (charColumn < 3) { idx = 0; } else if (charColumn < 6) { idx = 1; } else if (charColumn < 8) { idx = 4; } else if (charColumn < 10) { idx = 2; } else if (charColumn >= 10) { idx = 3; } #else #if VERSION <= VERSION_JPN if (charColumn < 3) { idx = 0; } else if (charColumn < 6) { idx = 1; } else if (charColumn < 8) { idx = 2; } else #endif if (charColumn < 10) { idx = 3; } else if (charColumn >= 10) { idx = 4; } #endif field_0x2ab0[idx][0] = charColumn; field_0x2ab0[idx][1] = charRow; field_0x2ab0[idx][2] = 1; for (int i = 0; i < 2; i++) { fopMsgM_paneTrans(&field_0x8d4[i], charColumn * 39.0f, charRow * 40.0f); } fopMsgM_paneTrans(&field_0x8d4[2], charColumn * 39.0f, charRow * 40.0f); selectCursorTxtChange(); } /* 802179BC-80217A28 .text selectCursorTxtChange__7dName_cFv */ void dName_c::selectCursorTxtChange() { int moji = getMoji(); if (moji > 0xFF) { pCurTxt[0] = (moji >> 8) & 0xFF; pCurTxt[1] = moji; pCurTxt[2] = 0; } else { pCurTxt[0] = moji; pCurTxt[1] = 0; } } /* 80217A28-80217D44 .text selectCursorAnime__7dName_cFv */ void dName_c::selectCursorAnime() { f32 sp14[3] = {0.0f, -3.0f, 4.0f}; f32 sp8[3] = {0.0f, 4.0f, -3.0f}; if (field_0x8d4[0].mUserArea == 0) { field_0x8d4[0].mUserArea = g_nmHIO.field_0x16; fopMsgM_paneTrans(&field_0x8d4[0], (f32)charColumn * 39.0f + (f32)g_nmHIO.field_0x2a[field_0x2905], (f32)charRow * 40.0f + (f32)g_nmHIO.field_0x30[field_0x2905]); fopMsgM_paneTrans(&field_0x8d4[1], (f32)charColumn * 39.0f + (f32)g_nmHIO.field_0x36[field_0x2905], (f32)charRow * 40.0f + (f32)g_nmHIO.field_0x3c[field_0x2905]); field_0x8d4[0].pane->rotate(field_0x2ac8 + sp14[field_0x2905]); field_0x8d4[1].pane->rotate(field_0x2acc + sp8[field_0x2905]); field_0x2905++; if (field_0x2905 > 2) { field_0x2905 = 0; } } else { field_0x8d4[0].mUserArea--; } if (field_0x8d4[2].mUserArea == 0) { f32 temp_f1 = fopMsgM_valueIncrease(g_nmHIO.field_0x19, field_0x8d4[1].mUserArea, 0); if (field_0x2909) { temp_f1 = 1.0f - temp_f1; } f32 temp2 = g_nmHIO.field_0x17 - g_nmHIO.field_0x18; u32 temp = temp2 * temp_f1; field_0x8d4[0].mNowAlpha = g_nmHIO.field_0x18 + temp; field_0x8d4[1].mNowAlpha = g_nmHIO.field_0x18 + temp; fopMsgM_setAlpha(&field_0x8d4[0]); fopMsgM_setAlpha(&field_0x8d4[1]); if (field_0x8d4[1].mUserArea == 0) { field_0x8d4[1].mUserArea = g_nmHIO.field_0x19; field_0x2909 ^= 1; } else { field_0x8d4[1].mUserArea--; } field_0x8d4[2].mUserArea = g_nmHIO.field_0x1a; } else { field_0x8d4[2].mUserArea--; } } /* 80217D44-80217DC8 .text menuCursorPosSet__7dName_cFv */ void dName_c::menuCursorPosSet() { #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL if (charColumn < 3) { selMenu = MENU_HIRA; } else if (charColumn < 6) { selMenu = MENU_KATA; } #if VERSION != VERSION_PAL else if (charColumn < 8) { selMenu = MENU_EIGO; } #endif else #endif if (charColumn < 10) { selMenu = MENU_BACKSPACE; } else if (charColumn >= 10) { selMenu = MENU_END; } menuCursorMove(); for (int i = 0; i < 3; i++) { field_0x8d4[i].pane->hide(); } field_0x97c[0].pane->show(); } /* 80217DC8-802180E4 .text MenuSelect__7dName_cFv */ void dName_c::MenuSelect() { if (stick->checkRightTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); selMenu++; if (selMenu > MENU_END) { #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL selMenu = MENU_HIRA; #else selMenu = MENU_BACKSPACE; #endif } menuCursorMove(); } else if (stick->checkLeftTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL if (selMenu == MENU_HIRA) #else if (selMenu == MENU_BACKSPACE) #endif { selMenu = MENU_END; } else { selMenu--; } menuCursorMove(); } else if (stick->checkUpTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); selProc = PROC_MOJI_SELECT; selectCursorPosSet(4); } else if (stick->checkDownTrigger()) { mDoAud_seStart(JA_SE_NAME_CURSOR, NULL, 0, 0); selProc = PROC_MOJI_SELECT; selectCursorPosSet(0); } else if (CPad_CHECK_TRIG_A(0)) { if (selMenu == MENU_END) { if (nameCheck() != 0) { mDoAud_seStart(inputCompleteSound, NULL, 0, 0); } else { mDoAud_seStart(JA_SE_NAME_INPUT_LIMIT, NULL, 0, 0); } } else { mDoAud_seStart(JA_SE_NAME_PUSH_BUTTON, NULL, 0, 0); } field_0x97c[0].pane->hide(); paneTransTimer = 0; selProc = PROC_MENU_BUTTON_ANIME; } else if (CPad_CHECK_TRIG_START(0)) { if (selMenu == MENU_END) { if (nameCheck() != 0) { mDoAud_seStart(inputCompleteSound, NULL, 0, 0); } else { mDoAud_seStart(JA_SE_NAME_INPUT_LIMIT, NULL, 0, 0); } field_0x97c[0].pane->hide(); paneTransTimer = 0; selProc = PROC_MENU_BUTTON_ANIME; } } menuCursorAnime(); } /* 802180E4-80218228 .text MenuButtonAnime__7dName_cFv */ void dName_c::MenuButtonAnime() { field_0x2ac4 = g_nmHIO.field_0x22 * fopMsgM_valueIncrease(g_nmHIO.field_0x23, paneTransTimer, 5); switch (selMenu) { case MENU_HIRA: fopMsgM_paneTrans(&field_0x1afc[0], 0.0f, field_0x2ac4); break; case MENU_KATA: fopMsgM_paneTrans(&field_0x177c[0], 0.0f, field_0x2ac4); break; #if VERSION <= VERSION_USA case MENU_EIGO: fopMsgM_paneTrans(&field_0x13fc[0], 0.0f, field_0x2ac4); break; #endif case MENU_BACKSPACE: fopMsgM_paneTrans(&field_0x107c[0], 0.0f, field_0x2ac4); break; case MENU_END: fopMsgM_paneTrans(&field_0xcfc[0], 0.0f, field_0x2ac4); break; } paneTransTimer++; if (paneTransTimer > g_nmHIO.field_0x23) { field_0x97c[0].pane->show(); menuAbtnSelect(); selProc = PROC_MENU_SELECT; paneTransTimer = 0; } } /* 80218228-802182FC .text menuAbtnSelect__7dName_cFv */ void dName_c::menuAbtnSelect() { switch (selMenu) { case MENU_HIRA: case MENU_KATA: #if VERSION <= VERSION_USA case MENU_EIGO: #endif if (selMenu != mojiSet) { prevMojiSet = mojiSet; mojiSet = selMenu; mojiListChange(prevMojiSet); } break; case MENU_BACKSPACE: backSpace(); break; case MENU_END: int namelen = nameCheck(); if (namelen != 0) { field_0x97c[0].pane->hide(); playNameSet(namelen); isInputEnd_ = 1; } else { mDoAud_seStart(JA_SE_NAME_INPUT_LIMIT, NULL, 0, 0); } break; } } /* 802182FC-80218428 .text backSpace__7dName_cFv */ void dName_c::backSpace() { if (curPos != 0) { mDoAud_seStart(JA_SE_NAME_DELETE, NULL, 0, 0); #if VERSION <= VERSION_JPN // ' ' (full-width space) if (curPos == 8 && chrInfo[7].character != '\x81\x40') #else if (curPos == 8 && chrInfo[7].character != ' ') #endif { chrInfo[7].column = 7; chrInfo[7].row = 1; #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL chrInfo[7].set = MOJI_HIRA; #else chrInfo[7].set = MOJI_EIGO; #endif chrInfo[7].field_0x3 = 1; #if VERSION <= VERSION_JPN chrInfo[7].character = '\x81\x40'; #else chrInfo[7].character = ' '; #endif } else { for (int i = curPos - 1; i < 7; i++) { chrInfo[i] = chrInfo[i + 1]; } chrInfo[7].column = 7; chrInfo[7].row = 1; #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL chrInfo[7].set = MOJI_HIRA; #else chrInfo[7].set = MOJI_EIGO; #endif chrInfo[7].field_0x3 = 1; #if VERSION <= VERSION_JPN chrInfo[7].character = '\x81\x40'; #else chrInfo[7].character = ' '; #endif } curPos--; setNameText(); nameCursorMove(); } } /* 80218428-802184EC .text mojiListChange__7dName_cFUc */ void dName_c::mojiListChange(u8 i_prevSet) { fopMsgM_pane_class* prevMojiPanes; switch (i_prevSet) { case MOJI_HIRA: prevMojiPanes = hiraMojiPanes; break; case MOJI_KATA: prevMojiPanes = kataMojiPanes; break; #if VERSION <= VERSION_USA case MOJI_EIGO: prevMojiPanes = eisuMojiPanes; break; #endif } fopMsgM_pane_class* newMojiPanes; switch (mojiSet) { case MOJI_HIRA: newMojiPanes = hiraMojiPanes; break; case MOJI_KATA: newMojiPanes = kataMojiPanes; break; #if VERSION <= VERSION_USA case MOJI_EIGO: newMojiPanes = eisuMojiPanes; break; #endif } for (int i = 0; i < 13; i++) { prevMojiPanes[i].pane->hide(); newMojiPanes[i].pane->show(); } selectCursorTxtChange(); } /* 802184EC-80218818 .text menuCursorMove__7dName_cFv */ void dName_c::menuCursorMove() { field_0x97c[0].mNowAlpha = 0; field_0x97c[0].mUserArea = 0; field_0x97c[1].mUserArea = 0; field_0x2908 = 0; fopMsgM_setAlpha(&field_0x97c[0]); for (int i = 0; i < 5; i++) { field_0x97c[i].mInitAlpha = field_0x97c[i].pane->getAlpha(); field_0x97c[i].mPosTopLeft.x = field_0x97c[i].mPosTopLeftOrig.x; field_0x97c[i].mPosTopLeft.y = field_0x97c[i].mPosTopLeftOrig.y; field_0x97c[i].mPosCenter.x = field_0x97c[i].mPosCenterOrig.x; field_0x97c[i].mPosCenter.y = field_0x97c[i].mPosCenterOrig.y; field_0x97c[i].mSize.x = field_0x97c[i].mSizeOrig.x; field_0x97c[i].mSize.y = field_0x97c[i].mSizeOrig.y; fopMsgM_cposMove(&field_0x97c[i]); } static f32 PosData[] = { #if VERSION <= VERSION_USA -117.0f, 0.0f, 117.0f, 194.0f, 272.0f, #else -130.0f, 0.0f, 130.0f, 260.0f, #endif }; switch (selMenu) { case MENU_HIRA: case MENU_KATA: ((J2DPicture*)field_0x97c[1].pane)->setMirror((J2DMirror)3); ((J2DPicture*)field_0x97c[3].pane)->setMirror((J2DMirror)0); fopMsgM_paneTrans(&field_0x97c[0], PosData[selMenu], 0.0f); break; #if VERSION <= VERSION_USA case MENU_EIGO: #endif case MENU_BACKSPACE: ((J2DPicture*)field_0x97c[1].pane)->setMirror((J2DMirror)3); ((J2DPicture*)field_0x97c[3].pane)->setMirror((J2DMirror)0); fopMsgM_paneTrans(&field_0x97c[0], PosData[selMenu], 0.0f); #if VERSION <= VERSION_USA fopMsgM_paneScaleX(&field_0x97c[1], 0.45f); fopMsgM_paneScaleX(&field_0x97c[3], 0.45f); fopMsgM_paneScaleX(&field_0x97c[4], 0.45f); field_0x97c[1].pane->move(field_0x97c[0].mSizeOrig.x, field_0x97c[1].mPosTopLeft.y); field_0x97c[3].pane->move(field_0x97c[0].mSizeOrig.x, field_0x97c[3].mPosTopLeft.y); field_0x97c[4].pane->move(field_0x97c[0].mSizeOrig.x, field_0x97c[4].mPosTopLeft.y); field_0x97c[2].pane->move(field_0x97c[0].mSizeOrig.x + field_0x97c[1].mSize.x, field_0x97c[2].mPosTopLeft.y); #endif break; case MENU_END: ((J2DPicture*)field_0x97c[1].pane)->setMirror(J2DMirror_Y); ((J2DPicture*)field_0x97c[3].pane)->setMirror(J2DMirror_X); fopMsgM_paneTrans(&field_0x97c[0], PosData[selMenu], 2.0f); fopMsgM_paneTrans(&field_0x97c[1], PosData[selMenu], -2.0f); fopMsgM_paneTrans(&field_0x97c[3], PosData[selMenu], -2.0f); fopMsgM_paneTrans(&field_0x97c[4], PosData[selMenu], -2.0f); fopMsgM_paneTrans(&field_0x97c[2], PosData[selMenu], -5.0f); for (int i = 1; i < 5; i++) { field_0x97c[i].mPosCenter.x = field_0x97c[i].mPosCenterOrig.x; field_0x97c[i].mPosTopLeft.x = field_0x97c[i].mPosCenter.x - (field_0x97c[i].mSize.x / 2); field_0x97c[i].pane->move(field_0x97c[i].mPosTopLeft.x, field_0x97c[i].mPosTopLeft.y); } break; } } /* 80218818-80218944 .text selectCursorPosSet__7dName_cFi */ void dName_c::selectCursorPosSet(int row) { if (field_0x2ab0[selMenu][2] == 1) { charColumn = field_0x2ab0[selMenu][0]; charRow = row; } else { switch (selMenu) { case MENU_HIRA: charColumn = 0; break; case MENU_KATA: charColumn = 3; break; #if VERSION <= VERSION_USA case MENU_EIGO: charColumn = 6; break; #endif case MENU_BACKSPACE: charColumn = 8; break; case MENU_END: charColumn = 10; break; } charRow = row; field_0x2ab0[selMenu][0] = charColumn; field_0x2ab0[selMenu][1] = charRow; field_0x2ab0[selMenu][2] = 1; } for (int i = 0; i < 3; i++) { field_0x8d4[i].pane->show(); } selectCursorMove(); field_0x97c[0].pane->hide(); } /* 80218944-80218A48 .text menuCursorAnime__7dName_cFv */ void dName_c::menuCursorAnime() { f32 var_f1 = fopMsgM_valueIncrease(g_nmHIO.field_0x1f, field_0x97c[0].mUserArea, 0); if (field_0x2908 != 0) { var_f1 = 1.0f - var_f1; } f32 temp2 = g_nmHIO.field_0x20 - g_nmHIO.field_0x21; field_0x97c[0].mNowAlpha = (f32)g_nmHIO.field_0x21 + (u32)(temp2 * var_f1); fopMsgM_setAlpha(&field_0x97c[0]); if (field_0x97c[0].mUserArea == 0) { field_0x97c[0].mUserArea = g_nmHIO.field_0x1f; field_0x2908 ^= 1; } else { field_0x97c[0].mUserArea--; } } /* 80218A48-80218A84 .text _draw__7dName_cFv */ void dName_c::_draw() { dComIfGd_set2DOpa(&nameIn); } /* 80218A84-8021937C .text screenSet__7dName_cFv */ void dName_c::screenSet() { int i; fopMsgM_setPaneData(&field_0x14, nameIn.NameInScr->search('cc00')); for (i = 0; i < 13; i++) { #if VERSION <= VERSION_USA static u32 l_Eisu[] = { 'ena', 'enb', 'enc', 'end', 'ene', 'enf', 'eng', 'enh', 'eni', 'enj', 'enk', 'enl', 'enm', }; fopMsgM_setPaneData(&eisuMojiPanes[i], nameIn.NameInScr->search(l_Eisu[i])); #endif static u32 l_Kata[] = { 'jka', 'jkk', 'jks', 'jkt', 'jkn', 'jkh', 'jkm', 'jky', 'jkr', 'jkw', 'jkxa', 'jkxy', 'jkxt', }; fopMsgM_setPaneData(&kataMojiPanes[i], nameIn.NameInScr->search(l_Kata[i])); static u32 l_Hira[] = { 'jha', 'jhk', 'jhs', 'jht', 'jhn', 'jhh', 'jhm', 'jhy', 'jhr', 'jhw', 'jhxa', 'jhxy', 'jhxt', }; fopMsgM_setPaneData(&hiraMojiPanes[i], nameIn.NameInScr->search(l_Hira[i])); #if VERSION <= VERSION_USA ((J2DTextBox*)eisuMojiPanes[i].pane)->setFont(nameIn.font); #endif ((J2DTextBox*)kataMojiPanes[i].pane)->setFont(nameIn.font); ((J2DTextBox*)hiraMojiPanes[i].pane)->setFont(nameIn.font); #if VERSION == VERSION_PAL static char str01[13][10] = { "A\nN\n\xC0\n\xCF\n1", "B\nO\n\xC1\n\xD0\n2", "C\nP\n\xC2\n\xD1\n3", "D\nQ\n\xC4\n\xD2\n4", "E\nR\n\xC6\n\xD3\n5", "F\nS\n\xC7\n\xD4\n6", "G\nT\n\xC8\n\xD6\n7", "H\nU\n\xC9\n\x8C\n8", "I\nV\n\xCA\n\xD9\n9", "J\nW\n\xCB\n\xDA\n0", "K\nX\n\xCC\n\xDB\n,", "L\nY\n\xCD\n\xDC\n.", "M\nZ\n\xCE\n-\n ", }; static char str02[13][10] = { "a\nn\n\xE0\n\xEF\n1", "b\no\n\xE1\n\xF0\n2", "c\np\n\xE2\n\xF1\n3", "d\nq\n\xE4\n\xF2\n4", "e\nr\n\xE6\n\xF3\n5", "f\ns\n\xE7\n\xF4\n6", "g\nt\n\xE8\n\xF6\n7", "h\nu\n\xE9\n\x9C\n8", "i\nv\n\xEA\n\xF9\n9", "j\nw\n\xEB\n\xFA\n0", "k\nx\n\xEC\n\xFB\n,", "l\ny\n\xED\n\xFC\n.", "m\nz\n\xEE\n\xDF\n ", }; ((J2DTextBox*)hiraMojiPanes[i].pane)->setString(str01[i]); ((J2DTextBox*)kataMojiPanes[i].pane)->setString(str02[i]); #endif } fopMsgM_setPaneData(&titlePane, nameIn.NameInScr->search('dtle')); char msg[32]; if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { #if VERSION <= VERSION_JPN ((J2DTextBox*)titlePane.pane)->setString("合言葉入力"); #elif VERSION == VERSION_USA ((J2DTextBox*)titlePane.pane)->setString("Enter the password!"); #else switch (dComIfGs_getPalLanguage()) { case 0: ((J2DTextBox*)titlePane.pane)->setString("Enter the password!"); break; case 1: ((J2DTextBox*)titlePane.pane)->setString("Paroleneingabe"); break; case 2: ((J2DTextBox*)titlePane.pane)->setString("Saisissez le mot de passe."); break; case 3: { strcpy(msg, "Ingresar contrasena"); msg[17] = 0xF1; ((J2DTextBox*)titlePane.pane)->setString(msg); break; } case 4: ((J2DTextBox*)titlePane.pane)->setString("Inserisci la parola d\'ordine"); break; } #endif } else { fopMsgM_messageGet(msg, 0x28); ((J2DTextBox*)titlePane.pane)->setString(msg); } fopMsgM_setPaneData(&hiraBtnPane, nameIn.NameInScr->search('hira')); ((J2DTextBox*)hiraBtnPane.pane)->setFont(nameIn.font); fopMsgM_setPaneData(&kanaBtnPane, nameIn.NameInScr->search('kana')); ((J2DTextBox*)kanaBtnPane.pane)->setFont(nameIn.font); #if VERSION <= VERSION_USA fopMsgM_setPaneData(&englBtnPane, nameIn.NameInScr->search('engl')); ((J2DTextBox*)englBtnPane.pane)->setFont(nameIn.font); #endif fopMsgM_setPaneData(&yazBtnPane, nameIn.NameInScr->search('yaz')); #if VERSION <= VERSION_JPN ((J2DTextBox*)yazBtnPane.pane)->setFont(nameIn.font); #endif fopMsgM_setPaneData(&finBtnPane, nameIn.NameInScr->search('fin')); ((J2DTextBox*)finBtnPane.pane)->setFont(nameIn.font); fopMsgM_setPaneData(&namePane, nameIn.NameInScr->search('name')); ((J2DTextBox*)namePane.pane)->setFont(nameIn.font); #if VERSION == VERSION_PAL for (i = 0; i < 8; i++) {} field_0x2ae8 = ((J2DTextBox*)finBtnPane.pane)->getStringPtr(); #endif ((J2DTextBox*)namePane.pane)->setCharSpace(0.0f); for (i = 0; i < 320; i++) { nameBuffer[i] = 'A'; } nameBuffer[320 - 1] = 0; ((J2DTextBox*)namePane.pane)->setString(nameBuffer); pNameTxt = ((J2DTextBox*)namePane.pane)->getStringPtr(); *pNameTxt = 0; JUT_ASSERT(VERSION_SELECT(1774, 1776, 2052, 2057), pNameTxt != NULL); fopMsgM_setPaneData(&field_0x8d4[0], nameIn.NameInScr->search('1cu1')); fopMsgM_setPaneData(&field_0x8d4[1], nameIn.NameInScr->search('1cu2')); fopMsgM_setPaneData(&field_0x8d4[2], nameIn.NameInScr->search('4cu')); ((J2DTextBox*)field_0x8d4[2].pane)->setFont(nameIn.font); pCurTxt = ((J2DTextBox*)field_0x8d4[2].pane)->getStringPtr(); JUT_ASSERT(VERSION_SELECT(1781, 1783, 2059, 2064), pCurTxt != NULL); field_0x8d4[0].mNowAlpha = g_nmHIO.field_0x17; field_0x8d4[1].mNowAlpha = g_nmHIO.field_0x18; field_0x8d4[0].mUserArea = g_nmHIO.field_0x16; field_0x8d4[1].mUserArea = g_nmHIO.field_0x19; field_0x8d4[2].mUserArea = g_nmHIO.field_0x1a; field_0x2909 = 0; field_0x2905 = 0; field_0x2ac8 = field_0x8d4[0].pane->getRotate(); field_0x2acc = field_0x8d4[1].pane->getRotate(); fopMsgM_setAlpha(&field_0x8d4[0]); fopMsgM_setAlpha(&field_0x8d4[1]); u32 var_r22 = '2cu1'; u32 var_r27 = 'nk51'; u32 var_r26 = 'nk41'; u32 var_r25 = 'nk31'; u32 var_r24 = 'nk21'; u32 var_r23 = 'nk11'; for (i = 0; i < 5; i++) { fopMsgM_setPaneData(&field_0x97c[i], nameIn.NameInScr->search(var_r22)); fopMsgM_setPaneData(&field_0xcfc[i], nameIn.NameInScr->search(var_r27)); fopMsgM_setPaneData(&field_0x107c[i], nameIn.NameInScr->search(var_r26)); #if VERSION <= VERSION_USA fopMsgM_setPaneData(&field_0x13fc[i], nameIn.NameInScr->search(var_r25)); #endif fopMsgM_setPaneData(&field_0x177c[i], nameIn.NameInScr->search(var_r24)); fopMsgM_setPaneData(&field_0x1afc[i], nameIn.NameInScr->search(var_r23)); static u32 l_NameNt[] = {'d007', 'd008', 'd009', 'd010', 'd011'}; fopMsgM_setPaneData(&field_0x1c84[i], nameIn.NameInScr->search(l_NameNt[i])); static u32 l_MenuNmB[] = {'c007', 'c008', 'c009', 'c010', 'c011'}; fopMsgM_setPaneData(&field_0x20e4[i], nameIn.NameInScr->search(l_MenuNmB[i])); var_r22++; var_r27++; var_r26++; var_r25++; var_r24++; var_r23++; } for (i = 0; i < 10; i++) { static u32 l_endB[] = { 'n501', 'n502', 'n503', 'n504', 'n505', 'n506', 'n507', 'n508', 'n509', 'n510', }; fopMsgM_setPaneData(&field_0xacc[i], nameIn.NameInScr->search(l_endB[i])); static u32 l_ArwB[] = { 'n401', 'n402', 'n403', 'n404', 'n405', 'n406', 'n407', 'n408', 'n409', 'n410', }; fopMsgM_setPaneData(&field_0xe4c[i], nameIn.NameInScr->search(l_ArwB[i])); static u32 l_EisuB[] = { 'n301', 'n302', 'n303', 'n304', 'n305', 'n306', 'n307', 'n308', 'n309', 'n310', }; #if VERSION <= VERSION_USA fopMsgM_setPaneData(&field_0x11cc[i], nameIn.NameInScr->search(l_EisuB[i])); #endif static u32 l_KataB[] = { 'n201', 'n202', 'n203', 'n204', 'n205', 'n206', 'n207', 'n208', 'n209', 'n210', }; fopMsgM_setPaneData(&field_0x154c[i], nameIn.NameInScr->search(l_KataB[i])); static u32 l_HiraB[] = { 'n101', 'n102', 'n103', 'n104', 'n105', 'n106', 'n107', 'n108', 'n109', 'n110', }; fopMsgM_setPaneData(&field_0x18cc[i], nameIn.NameInScr->search(l_HiraB[i])); } fopMsgM_setPaneData(&field_0x1c4c, nameIn.NameInScr->search('3cu1')); fopMsgM_paneTrans(&field_0x1c4c, g_nmHIO.field_0x28, g_nmHIO.field_0x26); field_0x2906 = 0; field_0x1c4c.mUserArea = g_nmHIO.field_0x1b; field_0x1c4c.mNowAlpha = g_nmHIO.field_0x1d; fopMsgM_setAlpha(&field_0x1c4c); u32 var_r21 = 'd000'; u32 var_r22_2 = 'dk00'; u32 var_r23_2 = 'c000'; u32 var_r24_2 = 'ck00'; for (i = 0; i < 7; i++) { fopMsgM_setPaneData(&field_0x1d9c[i], nameIn.NameInScr->search(var_r21)); fopMsgM_setPaneData(&field_0x1f24[i], nameIn.NameInScr->search(var_r22_2)); fopMsgM_setPaneData(&field_0x21fc[i], nameIn.NameInScr->search(var_r23_2)); fopMsgM_setPaneData(&field_0x2384[i], nameIn.NameInScr->search(var_r24_2)); var_r21++; var_r22_2++; var_r23_2++; var_r24_2++; } u32 var_r21_2 = 'b000'; u32 var_r22_3 = 'bk00'; for (i = 0; i < 9; i++) { fopMsgM_setPaneData(&field_0x250c[i], nameIn.NameInScr->search(var_r21_2)); fopMsgM_setPaneData(&field_0x2704[i], nameIn.NameInScr->search(var_r22_3)); var_r21_2++; var_r22_3++; } } /* 8021937C-8021960C .text paneTransInit__7dName_cFv */ void dName_c::paneTransInit() { paneTransTimer = 0; PaneTranceBase0(paneTransTimer, g_nmHIO.field_0x8, g_nmHIO.field_0x46, 0.0f, 1, 0); PaneTranceTitle(paneTransTimer, g_nmHIO.field_0x6, g_nmHIO.field_0x42, 0.0f, 1, 0); PaneTranceName(paneTransTimer, g_nmHIO.field_0x7, g_nmHIO.field_0x44, 0.0f, 1, 0); PaneTranceBase(paneTransTimer, g_nmHIO.field_0x8, g_nmHIO.field_0x46, 0.0f, 1, 0); PaneTranceKata(paneTransTimer, g_nmHIO.field_0x9, g_nmHIO.field_0x48, 0.0f, 1, 0); PaneTranceHira(paneTransTimer, g_nmHIO.field_0xa, g_nmHIO.field_0x48, 0.0f, 1, 0); #if VERSION <= VERSION_USA PaneTranceEisu(paneTransTimer, g_nmHIO.field_0xb, g_nmHIO.field_0x48, 0.0f, 1, 0); #endif PaneTranceArrow(paneTransTimer, g_nmHIO.field_0xc, g_nmHIO.field_0x48, 0.0f, 1, 0); PaneTranceEnd(paneTransTimer, g_nmHIO.field_0xd, g_nmHIO.field_0x48, 0.0f, 1, 0); } /* 8021960C-802197A0 .text PaneTranceTitle__7dName_cFsUcffUci */ int dName_c::PaneTranceTitle(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&titlePane, 0.0f, param_2 + temp_f0); for (i = 0; i < 5; i++) { fopMsgM_paneTrans(&field_0x20e4[i], 0.0f, param_2 + temp_f0); } fopMsgM_paneTrans(&field_0x21fc[0], 0.0f, param_2 + temp_f0); fopMsgM_paneTrans(&field_0x2384[0], 0.0f, param_2 + temp_f0); if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&titlePane, ratio); fopMsgM_setAlpha(&titlePane); for (i = 0; i < 5; i++) { fopMsgM_setNowAlpha(&field_0x20e4[i], ratio); fopMsgM_setAlpha(&field_0x20e4[i]); } fopMsgM_setNowAlpha(&field_0x21fc[0], ratio); fopMsgM_setNowAlpha(&field_0x2384[0], ratio); fopMsgM_setAlpha(&field_0x21fc[0]); fopMsgM_setAlpha(&field_0x2384[0]); } return 0; } /* 802197A0-802199F4 .text PaneTranceName__7dName_cFsUcffUci */ int dName_c::PaneTranceName(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&namePane, param_2 + temp_f0, 0.0f); fopMsgM_paneTrans(&field_0x1f24[0], param_2 + temp_f0, 0.0f); fopMsgM_paneTrans(&field_0x1c4c, (g_nmHIO.field_0x28 + (param_2 + temp_f0)) + (curPos * g_nmHIO.field_0x1c), g_nmHIO.field_0x26); for (i = 0; i < 5; i++) { fopMsgM_paneTrans(&field_0x1c84[i], param_2 + temp_f0, 0.0f); } for (i = 0; i < 7; i++) { fopMsgM_paneTrans(&field_0x1d9c[i], param_2 + temp_f0, 0.0f); } if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&namePane, ratio); fopMsgM_setNowAlpha(&field_0x1f24[0], ratio); fopMsgM_setAlpha(&namePane); fopMsgM_setAlpha(&field_0x1f24[0]); fopMsgM_setNowAlpha(&field_0x1c4c, ratio); fopMsgM_setAlpha(&field_0x1c4c); for (i = 0; i < 5; i++) { fopMsgM_setNowAlpha(&field_0x1c84[i], ratio); fopMsgM_setAlpha(&field_0x1c84[i]); } for (i = 0; i < 7; i++) { fopMsgM_setNowAlpha(&field_0x1d9c[i], ratio); fopMsgM_setAlpha(&field_0x1d9c[i]); } } return 0; } /* 802199F4-80219ADC .text PaneTranceBase0__7dName_cFsUcffUci */ int dName_c::PaneTranceBase0(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&field_0x14, 0.0f, param_2 + temp_f0); if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&field_0x14, ratio); fopMsgM_setAlpha(&field_0x14); } return 0; } /* 80219ADC-80219D04 .text PaneTranceBase__7dName_cFsUcffUci */ int dName_c::PaneTranceBase(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } fopMsgM_pane_class* pane; switch (mojiSet) { case MOJI_HIRA: pane = hiraMojiPanes; break; case MOJI_KATA: pane = kataMojiPanes; break; #if VERSION <= VERSION_USA case MOJI_EIGO: pane = eisuMojiPanes; break; #endif } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&field_0x250c[0], 0.0f, param_2 + temp_f0); fopMsgM_paneTrans(&field_0x2704[0], 0.0f, param_2 + temp_f0); for (i = 0; i < 3; i++) { fopMsgM_paneTrans(&field_0x8d4[i], 0.0f, param_2 + temp_f0); } for (i = 0; i < 13; i++) { fopMsgM_paneTrans(&hiraMojiPanes[i], 0.0f, param_2 + temp_f0); fopMsgM_paneTrans(&kataMojiPanes[i], 0.0f, param_2 + temp_f0); #if VERSION <= VERSION_USA fopMsgM_paneTrans(&eisuMojiPanes[i], 0.0f, param_2 + temp_f0); #endif } if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&field_0x250c[0], ratio); fopMsgM_setNowAlpha(&field_0x2704[0], ratio); fopMsgM_setAlpha(&field_0x250c[0]); fopMsgM_setAlpha(&field_0x2704[0]); for (i = 0; i < 3; i++) { fopMsgM_setNowAlpha(&field_0x8d4[i], ratio); fopMsgM_setAlpha(&field_0x8d4[i]); } for (i = 0; i < 13; i++) { fopMsgM_setNowAlpha(&pane[i], ratio); fopMsgM_setAlpha(&pane[i]); } } return 0; } /* 80219D04-80219E14 .text PaneTranceHira__7dName_cFsUcffUci */ int dName_c::PaneTranceHira(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&field_0x1afc[0], 0.0f, param_2 + temp_f0); if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&hiraBtnPane, ratio); fopMsgM_setNowAlpha(&field_0x1afc[0], ratio); fopMsgM_setNowAlpha(&field_0x18cc[0], ratio); fopMsgM_setAlpha(&hiraBtnPane); fopMsgM_setAlpha(&field_0x1afc[0]); fopMsgM_setAlpha(&field_0x18cc[0]); } return 0; } /* 80219E14-80219F24 .text PaneTranceKata__7dName_cFsUcffUci */ int dName_c::PaneTranceKata(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&field_0x177c[0], 0.0f, param_2 + temp_f0); if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&kanaBtnPane, ratio); fopMsgM_setNowAlpha(&field_0x154c[0], ratio); fopMsgM_setNowAlpha(&field_0x177c[0], ratio); fopMsgM_setAlpha(&kanaBtnPane); fopMsgM_setAlpha(&field_0x154c[0]); fopMsgM_setAlpha(&field_0x177c[0]); } return 0; } /* 80219F24-8021A034 .text PaneTranceEisu__7dName_cFsUcffUci */ int dName_c::PaneTranceEisu(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&field_0x13fc[0], 0.0f, param_2 + temp_f0); if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&englBtnPane, ratio); fopMsgM_setNowAlpha(&field_0x11cc[0], ratio); fopMsgM_setNowAlpha(&field_0x13fc[0], ratio); fopMsgM_setAlpha(&englBtnPane); fopMsgM_setAlpha(&field_0x11cc[0]); fopMsgM_setAlpha(&field_0x13fc[0]); } return 0; } /* 8021A034-8021A144 .text PaneTranceArrow__7dName_cFsUcffUci */ int dName_c::PaneTranceArrow(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&field_0x107c[0], 0.0f, param_2 + temp_f0); if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&yazBtnPane, ratio); fopMsgM_setNowAlpha(&field_0xe4c[0], ratio); fopMsgM_setNowAlpha(&field_0x107c[0], ratio); fopMsgM_setAlpha(&yazBtnPane); fopMsgM_setAlpha(&field_0xe4c[0]); fopMsgM_setAlpha(&field_0x107c[0]); } return 0; } /* 8021A144-8021A254 .text PaneTranceEnd__7dName_cFsUcffUci */ int dName_c::PaneTranceEnd(s16 i_value, u8 i_max, f32 param_2, f32 param_3, u8 i_mode, int param_5) { int i; if (i_value < 0) { return 0; } if (i_value > i_max) { return 1; } f32 ratio = fopMsgM_valueIncrease(i_max, i_value, i_mode); f32 temp_f0 = ratio * (param_3 - param_2); fopMsgM_paneTrans(&field_0xcfc[0], 0.0f, param_2 + temp_f0); if (param_5 != 2) { if (param_5 == 1) { ratio = 1.0f - ratio; } fopMsgM_setNowAlpha(&finBtnPane, ratio); fopMsgM_setNowAlpha(&field_0xacc[0], ratio); fopMsgM_setNowAlpha(&field_0xcfc[0], ratio); fopMsgM_setAlpha(&finBtnPane); fopMsgM_setAlpha(&field_0xacc[0]); fopMsgM_setAlpha(&field_0xcfc[0]); } return 0; } /* 8021A254-8021A43C .text displayInit__7dName_cFv */ void dName_c::displayInit() { int i; field_0x290d = 1; for (i = 0; i < 5; i++) { field_0x2ab0[i][2] = 0; } charColumn = 0; charRow = 0; field_0x2ab0[0][0] = 0; field_0x2ab0[0][1] = 0; field_0x2ab0[0][2] = 1; curPos = 0; *pNameTxt = 0; for (i = 0; i < 8; i++) { chrInfo[i].column = 7; chrInfo[i].row = 1; #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL chrInfo[i].set = MOJI_HIRA; #else chrInfo[i].set = MOJI_EIGO; #endif chrInfo[i].field_0x3 = 1; #if VERSION <= VERSION_JPN chrInfo[i].character = '\x81\x40'; #else chrInfo[i].character = ' '; #endif } inputCompleteSound = JA_SE_TALK_WIN_CLOSE; if (strcmp(dComIfGp_getStartStageName(), "Name") == 0) { field_0x14.pane->hide(); if (nextNameStr[0] != 0) { NameStrSet(); } #if VERSION == VERSION_PAL char msg[32]; fopMsgM_messageGet(msg, 0x28); ((J2DTextBox*)titlePane.pane)->setString(msg); #endif inputCompleteSound = JA_SE_MSEL_ENTER_GAME; } #if VERSION == VERSION_PAL switch (dComIfGs_getPalLanguage()) { case 0: strcpy(field_0x2ae8, "END"); break; case 1: strcpy(field_0x2ae8, "O.K."); break; case 2: strcpy(field_0x2ae8, "FIN"); break; case 3: strcpy(field_0x2ae8, "FIN"); break; case 4: strcpy(field_0x2ae8, "FINE"); break; } #endif #if VERSION <= VERSION_JPN || VERSION == VERSION_PAL selMenu = MENU_HIRA; mojiSet = MOJI_HIRA; #else selMenu = MENU_BACKSPACE; mojiSet = MOJI_EIGO; field_0x1afc[0].pane->hide(); field_0x177c[0].pane->hide(); field_0x13fc[0].pane->hide(); #endif selProc = PROC_MOJI_SELECT; for (i = 0; i < 13; i++) { fopMsgM_setInitAlpha(&hiraMojiPanes[i]); #if VERSION <= VERSION_USA fopMsgM_setInitAlpha(&eisuMojiPanes[i]); #endif fopMsgM_setInitAlpha(&kataMojiPanes[i]); fopMsgM_setAlpha(&hiraMojiPanes[i]); #if VERSION <= VERSION_USA fopMsgM_setAlpha(&eisuMojiPanes[i]); #endif fopMsgM_setAlpha(&kataMojiPanes[i]); #if VERSION <= VERSION_JPN hiraMojiPanes[i].pane->show(); eisuMojiPanes[i].pane->hide(); kataMojiPanes[i].pane->hide(); #elif VERSION == VERSION_USA hiraMojiPanes[i].pane->hide(); eisuMojiPanes[i].pane->show(); kataMojiPanes[i].pane->hide(); #else hiraMojiPanes[i].pane->show(); kataMojiPanes[i].pane->hide(); #endif } field_0x97c[0].pane->hide(); for (i = 0; i < 3; i++) { field_0x8d4[i].pane->show(); } selectCursorTxtChange(); isInputEnd_ = 0; } /* 8021A43C-8021A658 .text NameStrSet__7dName_cFv */ void dName_c::NameStrSet() { char* moji = nextNameStr; int i = 0; int j; BOOL found; while (*moji != 0) { #if VERSION == VERSION_PAL chrInfo[i].character = (u8)*moji; found = false; for (j = 0; j < 13; j++) { if (found) break; char* upperMoji = ((J2DTextBox*)hiraMojiPanes[j].pane)->getStringPtr(); char* lowerMoji = ((J2DTextBox*)kataMojiPanes[j].pane)->getStringPtr(); int row = 0; while (*upperMoji != 0) { if (*upperMoji == '\n') { upperMoji++; continue; } if (*upperMoji == chrInfo[i].character) { chrInfo[i].column = j; chrInfo[i].row = row; chrInfo[i].set = MOJI_HIRA; found = true; break; } row++; upperMoji++; } row = 0; while (*lowerMoji != 0) { if (*lowerMoji == '\n') { lowerMoji++; continue; } if (*lowerMoji == chrInfo[i].character) { chrInfo[i].column = j; chrInfo[i].row = row; chrInfo[i].set = MOJI_KATA; found = true; break; } row++; lowerMoji++; } } moji++; i++; #else if (*(u8*)moji >> 4 == 8 || *(u8*)moji >> 4 == 9) { chrInfo[i].character = *(u16*)moji; found = false; for (j = 0; j < 13; j++) { if (found) break; char* hiraMoji = ((J2DTextBox*)hiraMojiPanes[j].pane)->getStringPtr(); char* kataMoji = ((J2DTextBox*)kataMojiPanes[j].pane)->getStringPtr(); int row = 0; while (*hiraMoji != 0) { if (*hiraMoji == '\n') { hiraMoji++; continue; } if (*(u16*)hiraMoji == chrInfo[i].character) { chrInfo[i].column = j; chrInfo[i].row = row; chrInfo[i].set = MOJI_HIRA; found = true; break; } row++; hiraMoji += 2; } row = 0; while (*kataMoji != 0) { if (*kataMoji == '\n') { kataMoji++; continue; } if (*(u16*)kataMoji == chrInfo[i].character) { chrInfo[i].column = j; chrInfo[i].row = row; chrInfo[i].set = MOJI_KATA; found = true; break; } row++; kataMoji += 2; } } moji += 2; i++; } else { chrInfo[i].character = *moji; chrInfo[i].set = MOJI_EIGO; found = false; for (j = 0; j < 13; j++) { if (found) break; char* eisuMoji = ((J2DTextBox*)eisuMojiPanes[j].pane)->getStringPtr(); int row = 0; while (*eisuMoji != 0) { if (*eisuMoji == '\n') { eisuMoji++; continue; } if (*eisuMoji == chrInfo[i].character) { chrInfo[i].column = j; chrInfo[i].row = row; found = true; break; } row++; eisuMoji++; } } moji++; i++; } #endif } curPos = i; setNameText(); nameCursorMove(); } /* 8021A658-8021A6BC .text draw__14dDlst_NameIN_cFv */ void dDlst_NameIN_c::draw() { J2DOrthoGraph* graf = dComIfGp_getCurrentGrafPort(); graf->setPort(); NameInScr->draw(0.0f, 0.0f, graf); }