summaryrefslogtreecommitdiff
path: root/src/d/d_msg_class.cpp
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2025-06-13 05:33:33 -0700
committerGitHub <noreply@github.com>2025-06-13 15:33:33 +0300
commit288a08b7987619869874d6a84d109f053a8951b8 (patch)
treeb52353420eca142bc17a6e2a110dadeaafbc26a2 /src/d/d_msg_class.cpp
parent4cf11063f650b4393d26788814c3a13c8eaa600a (diff)
cleanup/doc JMessage / d_msg_class (#2484)
* jmessage cleanup pass * more JMessage cleanup * d_msg_class cleanup
Diffstat (limited to 'src/d/d_msg_class.cpp')
-rw-r--r--src/d/d_msg_class.cpp4505
1 files changed, 2203 insertions, 2302 deletions
diff --git a/src/d/d_msg_class.cpp b/src/d/d_msg_class.cpp
index e20d3f84ab..8332a1f1a4 100644
--- a/src/d/d_msg_class.cpp
+++ b/src/d/d_msg_class.cpp
@@ -1,288 +1,14 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/d_msg_class
-//
-
#include "d/d_msg_class.h"
-#include "stdio.h"
+#include <stdio.h>
#include "d/d_meter2_info.h"
#include "d/d_msg_object.h"
#include "d/d_msg_unit.h"
-#include "dol2asm.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "d/d_msg_out_font.h"
#include "m_Do/m_Do_graphic.h"
#include "d/d_lib.h"
#include "JSystem/JUtility/JUTFont.h"
-//
-// Forward References:
-//
-
-extern "C" static void checkCharInfoCharactor__Fi();
-extern "C" static void changeCodeToChar__FUs();
-extern "C" static void change1ByteTo2Bytes__Fi();
-extern "C" static void changeKataToHira__Fi();
-extern "C" static void isOutfontKanjiCode__Fi();
-extern "C" static void getFontCCColorTable__FUcUc();
-extern "C" static void getFontGCColorTable__FUcUc();
-extern "C" static void getOutFontNumberType__Fi();
-extern "C" static void getPohNum__Fv();
-extern "C" void __ct__19jmessage_tReferenceFv();
-extern "C" void __dt__19jmessage_tReferenceFv();
-extern "C" void calcDistance__19jmessage_tReferenceFv();
-extern "C" void getLineMax__19jmessage_tReferenceFv();
-extern "C" void isKanban__19jmessage_tReferenceFv();
-extern "C" void isPlaceName__19jmessage_tReferenceFv();
-extern "C" void isBossName__19jmessage_tReferenceFv();
-extern "C" void isSaveSeq__19jmessage_tReferenceFv();
-extern "C" void isBook__19jmessage_tReferenceFv();
-extern "C" void isStaffRoll__19jmessage_tReferenceFv();
-extern "C" void isHowl__19jmessage_tReferenceFv();
-extern "C" void isMidona__19jmessage_tReferenceFv();
-extern "C" void resetReference__19jmessage_tReferenceFv();
-extern "C" void pageSend__19jmessage_tReferenceFv();
-extern "C" void selectMessage__19jmessage_tReferenceFv();
-extern "C" void inputNumber__19jmessage_tReferenceFv();
-extern "C" void getWord__19jmessage_tReferenceFi();
-extern "C" void resetWord__19jmessage_tReferenceFv();
-extern "C" void setCharactor__19jmessage_tReferenceFUs();
-extern "C" void addCharactor__19jmessage_tReferenceFUs();
-extern "C" void resetCharactor__19jmessage_tReferenceFv();
-extern "C" void shiftCharCountBuffer__19jmessage_tReferenceFv();
-extern "C" void resetCharCountBuffer__19jmessage_tReferenceFv();
-extern "C" void allsetCharCountBuffer__19jmessage_tReferenceFv();
-extern "C" void isCharSend__19jmessage_tReferenceFv();
-extern "C" void isLightSend__19jmessage_tReferenceFv();
-extern "C" void isLightEnd__19jmessage_tReferenceFv();
-extern "C" void decideOutFontRupeeColor__19jmessage_tReferenceFi();
-extern "C" void __ct__17jmessage_tControlFv();
-extern "C" void __ct__26jmessage_tMeasureProcessorFPC19jmessage_tReference();
-extern "C" void do_begin__26jmessage_tMeasureProcessorFPCvPCc();
-extern "C" void do_end__26jmessage_tMeasureProcessorFv();
-extern "C" void do_character__26jmessage_tMeasureProcessorFi();
-extern "C" void do_tag__26jmessage_tMeasureProcessorFUlPCvUl();
-extern "C" void do_scale__26jmessage_tMeasureProcessorFf();
-extern "C" void do_space__26jmessage_tMeasureProcessorFUl();
-extern "C" void do_pageType__26jmessage_tMeasureProcessorFi();
-extern "C" void do_name1__26jmessage_tMeasureProcessorFv();
-extern "C" void do_rubyset__26jmessage_tMeasureProcessorFPCvUl();
-extern "C" void push_word__26jmessage_tMeasureProcessorFPc();
-extern "C" void __ct__27jmessage_tSequenceProcessorFPC19jmessage_tReferenceP17jmessage_tControl();
-extern "C" void __dt__26jmessage_tMeasureProcessorFv();
-extern "C" void do_reset__27jmessage_tSequenceProcessorFv();
-extern "C" void do_begin__27jmessage_tSequenceProcessorFPCvPCc();
-extern "C" void do_end__27jmessage_tSequenceProcessorFv();
-extern "C" void do_isReady__27jmessage_tSequenceProcessorFv();
-extern "C" void do_character__27jmessage_tSequenceProcessorFi();
-extern "C" void do_tag__27jmessage_tSequenceProcessorFUlPCvUl();
-extern "C" bool do_jump_isReady__27jmessage_tSequenceProcessorFv();
-extern "C" void do_name1__27jmessage_tSequenceProcessorFv();
-extern "C" void do_space__27jmessage_tSequenceProcessorFUl();
-extern "C" void do_rubyset__27jmessage_tSequenceProcessorFPCvUl();
-extern "C" void push_word__27jmessage_tSequenceProcessorFv();
-extern "C" void messageSePlay__27jmessage_tSequenceProcessorFUcUcP4cXyz();
-extern "C" void do_jump__27jmessage_tSequenceProcessorFPCvPCc();
-extern "C" void calcStringLength__27jmessage_tSequenceProcessorFv();
-extern "C" void __ct__28jmessage_tRenderingProcessorFPC19jmessage_tReference();
-extern "C" void do_reset__28jmessage_tRenderingProcessorFv();
-extern "C" void do_begin__28jmessage_tRenderingProcessorFPCvPCc();
-extern "C" void do_end__28jmessage_tRenderingProcessorFv();
-extern "C" void do_character__28jmessage_tRenderingProcessorFi();
-extern "C" void do_tag__28jmessage_tRenderingProcessorFUlPCvUl();
-extern "C" void resetRendering__28jmessage_tRenderingProcessorFv();
-extern "C" void do_widthcenter__28jmessage_tRenderingProcessorFv();
-extern "C" void do_selwidthcenter__28jmessage_tRenderingProcessorFi();
-extern "C" void do_heightcenter__28jmessage_tRenderingProcessorFv();
-extern "C" void do_color__28jmessage_tRenderingProcessorFUc();
-extern "C" void do_scale__28jmessage_tRenderingProcessorFf();
-extern "C" void do_linedown__28jmessage_tRenderingProcessorFs();
-extern "C" void do_transY__28jmessage_tRenderingProcessorFsb();
-extern "C" void do_outfont__28jmessage_tRenderingProcessorFUcUl();
-extern "C" void do_arrow2__28jmessage_tRenderingProcessorFv();
-extern "C" void getLineLength__28jmessage_tRenderingProcessorFi();
-extern "C" void do_strcat__28jmessage_tRenderingProcessorFPcbbb();
-extern "C" void do_rubyset__28jmessage_tRenderingProcessorFPCvUl();
-extern "C" void do_rubystrcat__28jmessage_tRenderingProcessorFPcPcff();
-extern "C" void do_name1__28jmessage_tRenderingProcessorFv();
-extern "C" void do_numset__28jmessage_tRenderingProcessorFs();
-extern "C" void push_word__28jmessage_tRenderingProcessorFv();
-extern "C" void getCharInfo__28jmessage_tRenderingProcessorFfffff();
-extern "C" void __ct__26jmessage_string_tReferenceFv();
-extern "C" void __dt__26jmessage_string_tReferenceFv();
-extern "C" void
-init__26jmessage_string_tReferenceFP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc();
-extern "C" void setCharactor__26jmessage_string_tReferenceFUs();
-extern "C" void addCharactor__26jmessage_string_tReferenceFUs();
-extern "C" void resetCharactor__26jmessage_string_tReferenceFv();
-extern "C" void getLineLength__26jmessage_string_tReferenceFi();
-extern "C" void addLineLength__26jmessage_string_tReferenceFif();
-extern "C" void getOutfontLength__26jmessage_string_tReferenceFi();
-extern "C" void setOutfontLength__26jmessage_string_tReferenceFif();
-extern "C" void clearOutfontLength__26jmessage_string_tReferenceFi();
-extern "C" void getLineCountNowPage__26jmessage_string_tReferenceFv();
-extern "C" void __ct__24jmessage_string_tControlFv();
-extern "C" void __ct__33jmessage_string_tMeasureProcessorFPC26jmessage_string_tReference();
-extern "C" void do_begin__33jmessage_string_tMeasureProcessorFPCvPCc();
-extern "C" void do_end__33jmessage_string_tMeasureProcessorFv();
-extern "C" void do_character__33jmessage_string_tMeasureProcessorFi();
-extern "C" void do_tag__33jmessage_string_tMeasureProcessorFUlPCvUl();
-extern "C" void do_rubyset__33jmessage_string_tMeasureProcessorFPCvUl();
-extern "C" void
-__ct__34jmessage_string_tSequenceProcessorFPC26jmessage_string_tReferenceP24jmessage_string_tControl();
-extern "C" void __dt__33jmessage_string_tMeasureProcessorFv();
-extern "C" void do_reset__34jmessage_string_tSequenceProcessorFv();
-extern "C" void do_begin__34jmessage_string_tSequenceProcessorFPCvPCc();
-extern "C" void do_end__34jmessage_string_tSequenceProcessorFv();
-extern "C" bool do_isReady__34jmessage_string_tSequenceProcessorFv();
-extern "C" void do_character__34jmessage_string_tSequenceProcessorFi();
-extern "C" void do_tag__34jmessage_string_tSequenceProcessorFUlPCvUl();
-extern "C" bool do_jump_isReady__34jmessage_string_tSequenceProcessorFv();
-extern "C" void do_jump__34jmessage_string_tSequenceProcessorFPCvPCc();
-extern "C" void __ct__35jmessage_string_tRenderingProcessorFPC26jmessage_string_tReference();
-extern "C" void getLineCountNowPage__35jmessage_string_tRenderingProcessorFv();
-extern "C" void do_reset__35jmessage_string_tRenderingProcessorFv();
-extern "C" void do_begin__35jmessage_string_tRenderingProcessorFPCvPCc();
-extern "C" void do_end__35jmessage_string_tRenderingProcessorFv();
-extern "C" void do_character__35jmessage_string_tRenderingProcessorFi();
-extern "C" void do_tag__35jmessage_string_tRenderingProcessorFUlPCvUl();
-extern "C" void do_widthcenter__35jmessage_string_tRenderingProcessorFv();
-extern "C" void do_heightcenter__35jmessage_string_tRenderingProcessorFv();
-extern "C" void do_strcat__35jmessage_string_tRenderingProcessorFPc();
-extern "C" void do_rubyset__35jmessage_string_tRenderingProcessorFPCvUl();
-extern "C" void do_rubystrcat__35jmessage_string_tRenderingProcessorFPc();
-extern "C" void do_outfont__35jmessage_string_tRenderingProcessorFUc();
-extern "C" void do_color__35jmessage_string_tRenderingProcessorFUc();
-extern "C" void do_scale__35jmessage_string_tRenderingProcessorFf();
-extern "C" void do_linedown__35jmessage_string_tRenderingProcessorFs();
-extern "C" void do_numset__35jmessage_string_tRenderingProcessorFs();
-extern "C" void push_word__35jmessage_string_tRenderingProcessorFPCc();
-extern "C" void __dt__35jmessage_string_tRenderingProcessorFv();
-extern "C" void __dt__34jmessage_string_tSequenceProcessorFv();
-extern "C" void __dt__24jmessage_string_tControlFv();
-extern "C" void __dt__28jmessage_tRenderingProcessorFv();
-extern "C" void __dt__27jmessage_tSequenceProcessorFv();
-extern "C" void getActorPos__19jmessage_tReferenceFv();
-extern "C" extern char const* const d_msg_d_msg_class__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void mDoExt_getMesgFont__Fv();
-extern "C" void dComIfGp_getReverb__Fi();
-extern "C" void dComIfGs_checkGetInsectNum__Fv();
-extern "C" void __ct__9STControlFssssffss();
-extern "C" void setWaitParm__9STControlFssssffss();
-extern "C" void checkTrigger__9STControlFv();
-extern "C" void checkLeftTrigger__9STControlFv();
-extern "C" void checkRightTrigger__9STControlFv();
-extern "C" void checkUpTrigger__9STControlFv();
-extern "C" void checkDownTrigger__9STControlFv();
-extern "C" void getBombNum__21dSv_player_item_max_cCFUc();
-extern "C" void onEventBit__11dSv_event_cFUs();
-extern "C" void getEventReg__11dSv_event_cCFUs();
-extern "C" void dMeter2Info_getNewLetterNum__Fv();
-extern "C" void initialize__10COutFont_cFv();
-extern "C" void talkStartInit__12dMsgObject_cFv();
-extern "C" void isKanbanMessage__12dMsgObject_cFv();
-extern "C" void isHowlMessage__12dMsgObject_cFv();
-extern "C" void isMidonaMessage__12dMsgObject_cFv();
-extern "C" void isPlaceMessage__12dMsgObject_cFv();
-extern "C" void isBossMessage__12dMsgObject_cFv();
-extern "C" bool isBookMessage__12dMsgObject_cFv();
-extern "C" void isStaffMessage__12dMsgObject_cFv();
-extern "C" void isSaveMessage__12dMsgObject_cFv();
-extern "C" void getSmellName__12dMsgObject_cFv();
-extern "C" void getPortalName__12dMsgObject_cFv();
-extern "C" void getBombName__12dMsgObject_cFv();
-extern "C" void getInsectName__12dMsgObject_cFv();
-extern "C" void getLetterName__12dMsgObject_cFv();
-extern "C" void getSelectBombNum__12dMsgObject_cFv();
-extern "C" void addSelectBomBag__12dMsgObject_cFUc();
-extern "C" void resetSelectBomBag__12dMsgObject_cFv();
-extern "C" void getMsgOutputType__12dMsgObject_cFv();
-extern "C" void getWord__12dMsgObject_cFv();
-extern "C" void getSelectWord__12dMsgObject_cFi();
-extern "C" void getSelectWordFlag__12dMsgObject_cFv();
-extern "C" void getSelectBombPrice__12dMsgObject_cFv();
-extern "C" void getItemEquipButton__12dMsgObject_cFv();
-extern "C" void dMsgObject_getFundRaising__Fv();
-extern "C" void setTag__10dMsgUnit_cFiiPcb();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void __ct__Q28JMessage8TControlFv();
-extern "C" void __dt__Q28JMessage8TControlFv();
-extern "C" void __dt__Q28JMessage10TReferenceFv();
-extern "C" bool do_word__Q28JMessage10TReferenceCFUl();
-extern "C" void stack_pushCurrent__Q28JMessage10TProcessorFPCc();
-extern "C" void do_reset__Q28JMessage10TProcessorFv();
-extern "C" void do_select_begin__Q28JMessage10TProcessorFUl();
-extern "C" void do_select_end__Q28JMessage10TProcessorFv();
-extern "C" void do_select_separate__Q28JMessage10TProcessorFv();
-extern "C" void do_resetStatus___Q28JMessage10TProcessorFPCc();
-extern "C" bool do_setBegin_isReady___Q28JMessage10TProcessorCFv();
-extern "C" void process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor();
-extern "C" void
-__ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl();
-extern "C" void __dt__Q28JMessage18TSequenceProcessorFv();
-extern "C" void do_branch_query__Q28JMessage18TSequenceProcessorFUl();
-extern "C" s32 do_branch_queryResult__Q28JMessage18TSequenceProcessorFv();
-extern "C" void do_branch__Q28JMessage18TSequenceProcessorFPCvPCc();
-extern "C" void do_resetStatus___Q28JMessage18TSequenceProcessorFPCc();
-extern "C" void do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv();
-extern "C" void do_begin___Q28JMessage18TSequenceProcessorFPCvPCc();
-extern "C" void do_end___Q28JMessage18TSequenceProcessorFv();
-extern "C" void do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl();
-extern "C" void __ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference();
-extern "C" void __dt__Q28JMessage19TRenderingProcessorFv();
-extern "C" void process__Q28JMessage19TRenderingProcessorFPCc();
-extern "C" void do_begin___Q28JMessage19TRenderingProcessorFPCvPCc();
-extern "C" void do_end___Q28JMessage19TRenderingProcessorFv();
-extern "C" void do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl();
-extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
-extern "C" void setString__12Z2SpeechMgr2FPCUssUcUs();
-extern "C" void playOneShotVoice__12Z2SpeechMgr2FUcUsP3VecSc();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void getBounds__7J2DPaneFv();
-extern "C" void getParentPane__7J2DPaneFv();
-extern "C" void getStringPtr__10J2DTextBoxCFv();
-extern "C" void _savefpr_27();
-extern "C" void _restfpr_27();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
-extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-extern "C" extern void* __vt__17jmessage_tControl[3];
-extern "C" extern void* __vt__Q28JMessage10TReference[4 + 1 /* padding */];
-extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
-extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-
-SECTION_DATA extern void* __vt__35jmessage_string_tRenderingProcessor[16];
-SECTION_DATA extern void* __vt__34jmessage_string_tSequenceProcessor[22];
-SECTION_DATA extern void* __vt__33jmessage_string_tMeasureProcessor[16];
-SECTION_DATA extern void* __vt__24jmessage_string_tControl[3];
-SECTION_DATA extern void* __vt__26jmessage_string_tReference[4];
-SECTION_DATA extern void* __vt__28jmessage_tRenderingProcessor[16];
-SECTION_DATA extern void* __vt__27jmessage_tSequenceProcessor[22];
-SECTION_DATA extern void* __vt__26jmessage_tMeasureProcessor[16];
-SECTION_DATA extern void* __vt__19jmessage_tReference[4 + 1 /* padding */];
-
-//
-// Declarations:
-//
-
/* 80228578-802285CC 222EB8 0054+00 1/1 0/0 0/0 .text checkCharInfoCharactor__Fi */
static bool checkCharInfoCharactor(int c) {
if (c != 0x8140 && c != 0x8141 && c != 0x8142 && c != 0x0020 && c != 0x0022 && c != 0x0027 &&
@@ -299,20 +25,19 @@ static char* changeCodeToChar(u16 param_0) {
static char mMoji[3];
mMoji[0] = mMoji[1] = mMoji[2] = 0;
- mMoji[0] = param_0 >> 8;
+ mMoji[0] = (param_0 & 0xFF00) >> 8;
- int val = param_0;
if (mMoji[0] == 0) {
- mMoji[0] = val;
+ mMoji[0] = param_0 & 0xFF;
} else {
- mMoji[1] = val;
+ mMoji[1] = param_0 & 0xFF;
}
return mMoji;
}
/* 80228608-80228838 222F48 0230+00 5/4 0/0 0/0 .text change1ByteTo2Bytes__Fi */
-static u16 change1ByteTo2Bytes(int param_0) {
+static u16 change1ByteTo2Bytes(int iCharacter) {
static u16 char_table[] = {
0x0000, 0x8142, 0x8175, 0x8176, 0x8141, 0x8145, 0x8392, 0x8340, 0x8342, 0x8344, 0x8346,
0x8348, 0x8383, 0x8385, 0x8387, 0x8362, 0x815B, 0x8341, 0x8343, 0x8345, 0x8347, 0x8349,
@@ -322,141 +47,141 @@ static u16 change1ByteTo2Bytes(int param_0) {
0x8389, 0x838A, 0x838B, 0x838C, 0x838D, 0x838F, 0x8393, 0x814A, 0x814B,
};
- u16 var_r30 = param_0;
- if (param_0 >= '0' && param_0 <= '9') {
- var_r30 = param_0 + 0x821F;
- } else if (param_0 >= 'A' && param_0 <= 'Z') {
- var_r30 = param_0 + 0x8230;
- } else if (param_0 >= 'a' && param_0 <= 'z') {
- var_r30 = param_0 + 0x8251;
- } else if (param_0 >= 0xA0 && param_0 <= 0xDF) {
- int sp8 = param_0 - 0xA0;
- var_r30 = char_table[sp8];
+ u16 character2Bytes = iCharacter;
+ if (iCharacter >= '0' && iCharacter <= '9') {
+ character2Bytes = iCharacter + 0x821F;
+ } else if (iCharacter >= 'A' && iCharacter <= 'Z') {
+ character2Bytes = iCharacter + 0x8230;
+ } else if (iCharacter >= 'a' && iCharacter <= 'z') {
+ character2Bytes = iCharacter + 0x8251;
+ } else if (iCharacter >= 0xA0 && iCharacter <= 0xDF) {
+ int sp8 = iCharacter - 0xA0;
+ character2Bytes = char_table[sp8];
} else {
- switch (param_0) {
- case 0x20:
- var_r30 = 0x8140;
+ switch (iCharacter) {
+ case ' ':
+ character2Bytes = 0x8140;
break;
- case 0x21:
- var_r30 = 0x8149;
+ case '!':
+ character2Bytes = 0x8149;
break;
- case 0x22:
- var_r30 = 0x8168;
+ case '\"':
+ character2Bytes = 0x8168;
break;
- case 0x23:
- var_r30 = 0x8194;
+ case '#':
+ character2Bytes = 0x8194;
break;
- case 0x24:
- var_r30 = 0x8190;
+ case '$':
+ character2Bytes = 0x8190;
break;
- case 0x25:
- var_r30 = 0x8193;
+ case '%':
+ character2Bytes = 0x8193;
break;
- case 0x26:
- var_r30 = 0x8195;
+ case '&':
+ character2Bytes = 0x8195;
break;
- case 0x27:
- var_r30 = 0x8166;
+ case '\'':
+ character2Bytes = 0x8166;
break;
- case 0x28:
- var_r30 = 0x8169;
+ case '(':
+ character2Bytes = 0x8169;
break;
- case 0x29:
- var_r30 = 0x816a;
+ case ')':
+ character2Bytes = 0x816a;
break;
- case 0x2A:
- var_r30 = 0x8196;
+ case '*':
+ character2Bytes = 0x8196;
break;
- case 0x2B:
- var_r30 = 0x817b;
+ case '+':
+ character2Bytes = 0x817b;
break;
- case 0x2C:
- var_r30 = 0x8143;
+ case ',':
+ character2Bytes = 0x8143;
break;
- case 0x2D:
- var_r30 = 0x817c;
+ case '-':
+ character2Bytes = 0x817c;
break;
- case 0x2E:
- var_r30 = 0x8144;
+ case '.':
+ character2Bytes = 0x8144;
break;
- case 0x2F:
- var_r30 = 0x815e;
+ case '/':
+ character2Bytes = 0x815e;
break;
- case 0x3A:
- var_r30 = 0x8146;
+ case ':':
+ character2Bytes = 0x8146;
break;
- case 0x3B:
- var_r30 = 0x8147;
+ case ';':
+ character2Bytes = 0x8147;
break;
- case 0x3C:
- var_r30 = 0x8171;
+ case '<':
+ character2Bytes = 0x8171;
break;
- case 0x3D:
- var_r30 = 0x8181;
+ case '=':
+ character2Bytes = 0x8181;
break;
- case 0x3E:
- var_r30 = 0x8172;
+ case '>':
+ character2Bytes = 0x8172;
break;
- case 0x3F:
- var_r30 = 0x8148;
+ case '?':
+ character2Bytes = 0x8148;
break;
- case 0x4B:
- var_r30 = 0x816d;
+ case 'K':
+ character2Bytes = 0x816d;
break;
- case 0x4C:
- var_r30 = 0x818f;
+ case 'L':
+ character2Bytes = 0x818f;
break;
- case 0x4D:
- var_r30 = 0x816e;
+ case 'M':
+ character2Bytes = 0x816e;
break;
- case 0x4E:
- var_r30 = 0x813f;
+ case 'N':
+ character2Bytes = 0x813f;
break;
- case 0x4F:
- var_r30 = 0x8151;
+ case 'O':
+ character2Bytes = 0x8151;
break;
- case 0x5B:
- var_r30 = 0x816f;
+ case '[':
+ character2Bytes = 0x816f;
break;
- case 0x5C:
- var_r30 = 0x8162;
+ case '\\':
+ character2Bytes = 0x8162;
break;
- case 0x5D:
- var_r30 = 0x8170;
+ case ']':
+ character2Bytes = 0x8170;
break;
- case 0x5E:
- var_r30 = 0x8140;
+ case '^':
+ character2Bytes = 0x8140;
break;
- case 0x5F:
- var_r30 = 0;
+ case '_':
+ character2Bytes = 0;
break;
}
}
- return var_r30;
+ return character2Bytes;
}
/* 80228838-802288A8 223178 0070+00 8/8 0/0 0/0 .text changeKataToHira__Fi */
-static u16 changeKataToHira(int param_0) {
- u16 var_r5 = param_0;
+static u16 changeKataToHira(int iCharacter) {
+ u16 hiraCharacter = iCharacter;
- if (param_0 >= 0x8340 && param_0 <= 0x837E) {
- var_r5 = param_0 - 0xA1;
- } else if (param_0 >= 0x8380 && param_0 <= 0x8393) {
- var_r5 = param_0 - 0xA2;
- } else if (param_0 == 0x8394) {
- var_r5 = 0x82D4;
+ if (iCharacter >= 0x8340 && iCharacter <= 0x837E) {
+ hiraCharacter = iCharacter - 0xA1;
+ } else if (iCharacter >= 0x8380 && iCharacter <= 0x8393) {
+ hiraCharacter = iCharacter - 0xA2;
+ } else if (iCharacter == 0x8394) {
+ hiraCharacter = 0x82D4;
}
- return var_r5;
+ return hiraCharacter;
}
/* 802288A8-802288FC 2231E8 0054+00 4/4 0/0 0/0 .text isOutfontKanjiCode__Fi */
-static bool isOutfontKanjiCode(int param_0) {
- switch (param_0) {
- case 0x5C:
- case 0x40:
- case 0x24:
+static bool isOutfontKanjiCode(int iCharacter) {
+ switch (iCharacter) {
+ case '\\':
+ case '@':
+ case '$':
case 0x81F2:
case 0x81F3:
return true;
@@ -579,6 +304,7 @@ static u8 getPohNum() {
/* 80228B04-80228CB4 223444 01B0+00 0/0 1/1 0/0 .text __ct__19jmessage_tReferenceFv */
jmessage_tReference::jmessage_tReference() {
mpStick = new STControl(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x2000);
+ JUT_ASSERT(518, mpStick != 0);
mpStick->setWaitParm(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x800);
mActorPos.set(0.0f, 0.0f, 0.0f);
@@ -630,9 +356,9 @@ jmessage_tReference::jmessage_tReference() {
mTopWordCount = 0;
resetCharactor();
resetWord();
- mSelectSetCancelFlag = 0;
- mBombNameUseFlag = 0;
- mRevoMessageID = 0;
+ offSelectSetCancelFlag();
+ offBombNameUseFlag();
+ setRevoMessageID(0);
mBatchColorFlag = 0;
mTopTagScale = 0;
mNowTagScale = 0;
@@ -650,7 +376,7 @@ void jmessage_tReference::calcDistance() {
mDistanceScale = 1.0f;
} else {
fopAc_ac_c* player = dComIfGp_getPlayer(0);
- (mActorPos - player->attention_info.position).absXZ();
+ f32 var_f31 = (mActorPos - player->attention_info.position).absXZ();
mDistanceScale = 1.0f;
}
}
@@ -733,7 +459,7 @@ bool jmessage_tReference::isStaffRoll() {
}
/* 80228FA4-80228FD8 2238E4 0034+00 1/1 0/0 0/0 .text isHowl__19jmessage_tReferenceFv */
-u8 jmessage_tReference::isHowl() {
+bool jmessage_tReference::isHowl() {
if (getObjectPtr() == NULL) {
return false;
}
@@ -866,8 +592,8 @@ void jmessage_tReference::selectMessage() {
void jmessage_tReference::inputNumber() {
mpStick->checkTrigger();
- s16 input_val = getObjectPtr()->getInputValue();
- s16 new_input_val = input_val;
+ s16 input_val, new_input_val;
+ input_val = new_input_val = getObjectPtr()->getInputValue();
u8 max_figure = 0;
if (dComIfGs_getRupee() >= 1000) {
@@ -941,6 +667,11 @@ void jmessage_tReference::inputNumber() {
/* 80229730-80229744 224070 0014+00 5/5 0/0 0/0 .text getWord__19jmessage_tReferenceFi */
char* jmessage_tReference::getWord(int i_no) {
+ if (i_no >= 10) {
+ JUT_WARN(1093, "%s", "message stack over!!");
+ JUT_ASSERT(1094, i_no < (10));
+ }
+
return mWord[i_no];
}
@@ -953,14 +684,14 @@ void jmessage_tReference::resetWord() {
}
/* 80229768-80229788 2240A8 0020+00 3/3 0/0 0/0 .text setCharactor__19jmessage_tReferenceFUs */
-void jmessage_tReference::setCharactor(u16 param_0) {
- mCharactor.data[mCharactor.field_0x40c] = param_0;
+void jmessage_tReference::setCharactor(u16 i_character) {
+ mCharactor.data[mCharactor.field_0x40c] = i_character;
mCharactor.field_0x40c++;
}
/* 80229788-802297B0 2240C8 0028+00 3/3 0/0 0/0 .text addCharactor__19jmessage_tReferenceFUs */
-void jmessage_tReference::addCharactor(u16 param_0) {
- if (param_0 == mCharactor.data[mCharactor.field_0x40e]) {
+void jmessage_tReference::addCharactor(u16 i_character) {
+ if (i_character == mCharactor.data[mCharactor.field_0x40e]) {
mCharactor.field_0x40e++;
}
}
@@ -1081,13 +812,11 @@ bool jmessage_tReference::isLightEnd() {
/* 802299AC-802299EC 2242EC 0040+00 2/2 0/0 0/0 .text
* decideOutFontRupeeColor__19jmessage_tReferenceFi */
void jmessage_tReference::decideOutFontRupeeColor(int i_inputVal) {
- s16 payment = getObjectPtr()->getNowTotalPayment();
- s16 price = getObjectPtr()->getNowTotalPrice();
- int diff = price - payment;
+ int price_diff = getObjectPtr()->getNowTotalPrice() - getObjectPtr()->getNowTotalPayment();
- if (diff > i_inputVal) {
+ if (price_diff > i_inputVal) {
mOutFontRupeeColor = 1;
- } else if (diff == i_inputVal) {
+ } else if (price_diff == i_inputVal) {
mOutFontRupeeColor = 0;
} else {
mOutFontRupeeColor = 2;
@@ -1099,8 +828,8 @@ jmessage_tControl::jmessage_tControl() {}
/* 80229A28-80229AC4 224368 009C+00 1/1 0/0 0/0 .text
* __ct__26jmessage_tMeasureProcessorFPC19jmessage_tReference */
-jmessage_tMeasureProcessor::jmessage_tMeasureProcessor(jmessage_tReference const* param_0)
- : TRenderingProcessor(param_0) {
+jmessage_tMeasureProcessor::jmessage_tMeasureProcessor(jmessage_tReference const* pReference)
+ : TRenderingProcessor(pReference) {
jmessage_tReference* reference_p = (jmessage_tReference*)getReference();
reference_p->resetCharactor();
@@ -1116,50 +845,52 @@ jmessage_tMeasureProcessor::jmessage_tMeasureProcessor(jmessage_tReference const
field_0x49 = 0;
mPageLineMax = reference_p->getLineMax();
field_0x4b = 0;
- field_0x4c = 0;
+ mSeSpeaker = 0;
field_0x4d = 0;
}
/* 80229AC4-80229CB4 224404 01F0+00 1/0 0/0 0/0 .text
* do_begin__26jmessage_tMeasureProcessorFPCvPCc */
-void jmessage_tMeasureProcessor::do_begin(void const* param_0, char const* param_1) {
- jmessage_tReference* reference_p = (jmessage_tReference*)getReference();
+void jmessage_tMeasureProcessor::do_begin(void const* pEntry, char const* pszText) {
+ (void)pszText;
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
- reference_p->resetCharactor();
- reference_p->setRevoMessageID(0);
+ pReference->resetCharactor();
+ pReference->setRevoMessageID(0);
field_0x38 = 1.0f;
- field_0x4c = *((u8*)param_0 + 8);
- field_0x42 = *((u8*)param_0 + 0xE);
+
+ mSeSpeaker = ((JMSMesgEntry_c*)pEntry)->se_speaker;
+ mSeMood = ((JMSMesgEntry_c*)pEntry)->se_mood;
for (int i = 0; i < 40; i++) {
- reference_p->setLineLength(i, 0.0f, 0.0f);
- reference_p->setPageLine(i, 0);
- reference_p->setPageLineMax(i, 0);
- reference_p->setPageType(i, 0);
- reference_p->setLineArrange(i, *((u8*)param_0 + 0xD));
- reference_p->setLineScale(i, 100);
-
- if (reference_p->isPlaceName() || reference_p->isStaffRoll() || reference_p->isBossName() ||
- reference_p->getFukiKind() == 9)
+ pReference->setLineLength(i, 0.0f, 0.0f);
+ pReference->setPageLine(i, 0);
+ pReference->setPageLineMax(i, 0);
+ pReference->setPageType(i, 0);
+ pReference->setLineArrange(i, ((JMSMesgEntry_c*)pEntry)->unk_0xd);
+ pReference->setLineScale(i, 100);
+
+ if (pReference->isPlaceName() || pReference->isStaffRoll() || pReference->isBossName() ||
+ pReference->getFukiKind() == 9)
{
- reference_p->setLineArrange(i, 1);
+ pReference->setLineArrange(i, 1);
} else {
- if (*((u16*)param_0 + 0x2) == 0x2A5) {
- reference_p->setLineArrange(i, 1);
+ if (((JMSMesgEntry_c*)pEntry)->message_id == 0x2A5) {
+ pReference->setLineArrange(i, 1);
}
- if (*((u8*)param_0 + 0xD) == 0) {
- reference_p->setLineArrange(i, 1);
+ if (((JMSMesgEntry_c*)pEntry)->unk_0xd == 0) {
+ pReference->setLineArrange(i, 1);
}
}
}
for (int i = 0; i < 3; i++) {
- reference_p->setSelLength(i, 0.0f);
- reference_p->offSelectRubyFlag(i);
+ pReference->setSelLength(i, 0.0f);
+ pReference->offSelectRubyFlag(i);
}
- reference_p->setPageEndCount(0);
+ pReference->setPageEndCount(0);
mTotalLineCnt = 0;
field_0x3e = 0;
field_0x40 = 0;
@@ -1169,18 +900,18 @@ void jmessage_tMeasureProcessor::do_begin(void const* param_0, char const* param
field_0x46 = 0;
field_0x47 = 0;
field_0x49 = 0;
- mPageLineMax = reference_p->getLineMax();
- reference_p->resetWord();
+ mPageLineMax = pReference->getLineMax();
+ pReference->resetWord();
field_0x4b = 0;
- dMsgObject_c* object_p = reference_p->getObjectPtr();
+ dMsgObject_c* object_p = pReference->getObjectPtr();
object_p->offAutoMessageFlag();
- if (!reference_p->isSelectSetCancelFlag()) {
+ if (!pReference->isSelectSetCancelFlag()) {
object_p->resetSelectBomBag();
}
- if (reference_p->getDistanceScale() != 1.0f) {
+ if (pReference->getDistanceScale() != 1.0f) {
do_scale(field_0x38);
}
}
@@ -1191,46 +922,46 @@ void jmessage_tMeasureProcessor::do_end() {
field_0x3e++;
}
- jmessage_tReference* ref = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
if (field_0x46 == 0) {
if (field_0x49 > 1) {
- ref->setPageLine(field_0x40, field_0x3e - (field_0x49 - 1));
- ref->setPageLineMax(field_0x40, field_0x3e - (field_0x49 - 1));
+ pReference->setPageLine(field_0x40, field_0x3e - (field_0x49 - 1));
+ pReference->setPageLineMax(field_0x40, field_0x3e - (field_0x49 - 1));
} else {
- ref->setPageLine(field_0x40, field_0x3e);
- ref->setPageLineMax(field_0x40, field_0x3e);
+ pReference->setPageLine(field_0x40, field_0x3e);
+ pReference->setPageLineMax(field_0x40, field_0x3e);
}
}
- ref->setPageEndCount(field_0x40);
+ pReference->setPageEndCount(field_0x40);
do_pageType(field_0x3e);
- Z2GetSpeechMgr2()->setString(ref->getCharSoundInfo().data, ref->getCharSoundInfo().field_0x40c, field_0x4c, field_0x42);
+ Z2GetSpeechMgr2()->setString(pReference->getCharSoundInfo().data, pReference->getCharSoundInfo().field_0x40c, mSeSpeaker, mSeMood);
}
/* 80229E3C-8022A268 22477C 042C+00 1/0 0/0 0/0 .text do_character__26jmessage_tMeasureProcessorFi
*/
-void jmessage_tMeasureProcessor::do_character(int param_0) {
- jmessage_tReference* ref = (jmessage_tReference*)getReference();
- JUTFont* font = ref->getFont();
+void jmessage_tMeasureProcessor::do_character(int iCharacter) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ JUTFont* font = pReference->getFont();
if (field_0x44 == 0) {
- if (font->isLeadByte_ShiftJIS(param_0)) {
- if (!isOutfontKanjiCode(param_0)) {
- u16 var_r25 = change1ByteTo2Bytes(param_0);
- ref->setCharactor(changeKataToHira(var_r25));
+ if (font->isLeadByte_ShiftJIS(iCharacter)) {
+ if (!isOutfontKanjiCode(iCharacter)) {
+ u16 character2Bytes = change1ByteTo2Bytes(iCharacter);
+ pReference->setCharactor(changeKataToHira(character2Bytes));
}
- } else if (param_0 < 0x8800 && !isOutfontKanjiCode(param_0)) {
- ref->setCharactor(changeKataToHira(param_0));
+ } else if (iCharacter < 0x8800 && !isOutfontKanjiCode(iCharacter)) {
+ pReference->setCharactor(changeKataToHira(iCharacter));
}
}
- if (param_0 == 10) {
+ if (iCharacter == '\n') {
mTotalLineCnt++;
field_0x3e++;
if (field_0x44 != 0) {
- ref->setLineArrange(mTotalLineCnt, 1);
+ pReference->setLineArrange(mTotalLineCnt, 1);
field_0x44--;
}
@@ -1243,8 +974,8 @@ void jmessage_tMeasureProcessor::do_character(int param_0) {
}
if (mSelectType == 0 && field_0x3e >= mPageLineMax) {
- ref->setPageLine(field_0x40, mPageLineMax - (field_0x49 - 1));
- ref->setPageLineMax(field_0x40, field_0x3e);
+ pReference->setPageLine(field_0x40, mPageLineMax - (field_0x49 - 1));
+ pReference->setPageLineMax(field_0x40, field_0x3e);
do_pageType(mPageLineMax - (field_0x49 - 1));
if (field_0x46 == 0) {
@@ -1252,39 +983,39 @@ void jmessage_tMeasureProcessor::do_character(int param_0) {
}
field_0x3e = 0;
- mPageLineMax = ref->getLineMax();
+ mPageLineMax = pReference->getLineMax();
field_0x49 = 0;
if (field_0x46 == 0 && field_0x38 > 1.0f && field_0x48 == 0) {
field_0x48 = 1;
mPageLineMax--;
- JUT_ASSERT(0x665, mPageLineMax > 0);
- ref->setPageType(field_0x40, 2);
+ JUT_ASSERT(1637, mPageLineMax > 0);
+ pReference->setPageType(field_0x40, 2);
}
}
- if (mTotalLineCnt < ((4)*10)) {
- JUT_ASSERT(0x672, mTotalLineCnt < ((4)*10));
+ if (mTotalLineCnt >= ((4)*10)) {
+ JUT_ASSERT(1650, mTotalLineCnt < ((4)*10));
}
} else {
if (field_0x49 != 0) {
field_0x49 = 0;
}
- ref->addLineLength(mTotalLineCnt, field_0x38 * font->getWidth(param_0) / (f32)font->getCellWidth(), 1.0f);
+ pReference->addLineLength(mTotalLineCnt, field_0x38 * font->getWidth(iCharacter) / (f32)font->getCellWidth(), 1.0f);
if (field_0x46 != 0) {
- f32 var_f31 = ref->getSelFontSize() / (f32)font->getCellWidth();
- ref->addSelLength(field_0x46 - 1, (var_f31 * (field_0x38 * font->getWidth(param_0))) + ref->getSelCharSpace());
+ f32 var_f31 = pReference->getSelFontSize() / (f32)font->getCellWidth();
+ pReference->addSelLength(field_0x46 - 1, (var_f31 * (field_0x38 * font->getWidth(iCharacter))) + pReference->getSelCharSpace());
}
if (field_0x38 > 1.0f) {
- if (field_0x3e == 1 && ref->getPageType(field_0x40) == 2) {
- ref->setPageType(field_0x40, 4);
- ref->setLineScale(mTotalLineCnt, ref->getLineScale(0));
- } else if (field_0x3e == 2 && ref->getPageType(field_0x40) == 4) {
- ref->setPageType(field_0x40, 5);
- ref->setLineScale(mTotalLineCnt, ref->getLineScale(0));
+ if (field_0x3e == 1 && pReference->getPageType(field_0x40) == 2) {
+ pReference->setPageType(field_0x40, 4);
+ pReference->setLineScale(mTotalLineCnt, pReference->getLineScale(0));
+ } else if (field_0x3e == 2 && pReference->getPageType(field_0x40) == 4) {
+ pReference->setPageType(field_0x40, 5);
+ pReference->setLineScale(mTotalLineCnt, pReference->getLineScale(0));
}
}
}
@@ -1298,64 +1029,77 @@ static void dummyString() {
/* 8022A268-8022B0B0 224BA8 0E48+00 5/0 0/0 0/0 .text do_tag__26jmessage_tMeasureProcessorFUlPCvUl
*/
bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_size) {
- jmessage_tReference* reference_p = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
switch (i_tag & 0xFF0000) {
- case 0x10000:
- case 0x20000:
+ case MSGTAG_GROUP(1):
+ case MSGTAG_GROUP(2):
return true;
- case 0xFF0000:
+ case MSGTAG_GROUP(255):
switch (i_tag) {
- case 0xFF0000:
+ case MSGTAG_COLOR:
return true;
- case 0xFF0001:
+ case MSGTAG_SCALE: {
u16 scale = *(u16*)i_data;
- reference_p->setLineScale(mTotalLineCnt, scale);
+ pReference->setLineScale(mTotalLineCnt, scale);
do_scale(scale / 100.0f);
return true;
- case 0xFF0002:
- case 0xFFFF02:
+ }
+ case MSGTAG_RUBY:
+ case 0xFFFF02: {
do_rubyset(i_data, i_size);
+
if (field_0x46 != 0) {
if (mSelectType == 2) {
- if (!reference_p->isSelectRubyFlag(field_0x46 - 1)) {
- reference_p->onSelectRubyFlag(field_0x46 - 1);
+ if (!pReference->isSelectRubyFlag(field_0x46 - 1)) {
+ pReference->onSelectRubyFlag(field_0x46 - 1);
}
} else if (mSelectType == 3) {
- if (!reference_p->isSelectRubyFlag(field_0x46 - 1)) {
- reference_p->onSelectRubyFlag(field_0x46 - 1);
+ if (!pReference->isSelectRubyFlag(field_0x46 - 1)) {
+ pReference->onSelectRubyFlag(field_0x46 - 1);
}
}
}
return true;
}
- case 0:
+ }
+ case MSGTAG_GROUP(0):
switch (i_tag) {
- case 1:
- reference_p->setCharAllAlphaRate(1.0f);
+ case MSGTAG_INSTANT:
+ pReference->setCharAllAlphaRate(1.0f);
return true;
- case 2:
+ case MSGTAG_TYPE:
+ case MSGTAG_BOXATMOST:
+ case MSGTAG_UNK_6:
+ case MSGTAG_PAUSE:
+ case MSGTAG_BOXATLEAST:
+ case MSGTAG_LINE_DOWN:
return true;
- case 0x3e:
- char msg_num1[4];
- sprintf(msg_num1, "%d", dComIfGp_getMessageCountNumber() / 100);
- push_word(msg_num1);
+ case MSGTAG_CURRENT_LETTER_PAGE: {
+ char buffer[4];
+ int number = dComIfGp_getMessageCountNumber() / 100;
+ sprintf(buffer, "%d", number);
+ push_word(buffer);
return true;
- case 0x3f:
- char msg_num2[4];
- sprintf(msg_num2, "%d", dComIfGp_getMessageCountNumber() % 100);
- push_word(msg_num2);
+ }
+ case MSGTAG_MAX_LETTER_PAGE: {
+ char buffer[4];
+ int number = dComIfGp_getMessageCountNumber() % 100;
+ sprintf(buffer, "%d", number);
+ push_word(buffer);
return true;
- case 3:
- case 4:
+ }
+ case MSGTAG_UNK_3:
+ case MSGTAG_AUTOBOX:
if (*(u16*)i_data != 0) {
- reference_p->mpObjectPtr->onAutoMessageFlag();
+ dMsgObject_c* objectPtr = pReference->mpObjectPtr; // fakematch, should be getObjectPtr
+ objectPtr->onAutoMessageFlag();
}
return true;
- case 0x28:
- reference_p->setDemoFrame(*(u32*)i_data);
+ case MSGTAG_DEMOBOX:
+ pReference->setDemoFrame(*(u32*)i_data);
return true;
- case 0:
+ case MSGTAG_PLAYER_NAME: {
if (field_0x49 != 0) {
field_0x49 = 0;
}
@@ -1364,7 +1108,8 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz
strcpy(player_name, dComIfGs_getPlayerName());
push_word(player_name);
return true;
- case 0x22:
+ }
+ case MSGTAG_HORSE_NAME: {
if (field_0x49 != 0) {
field_0x49 = 0;
}
@@ -1373,61 +1118,80 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz
strcpy(horse_name, dComIfGs_getHorseName());
push_word(horse_name);
return true;
- case 0x35:
+ }
+ case MSGTAG_UNK_53:
if (field_0x49 != 0) {
field_0x49 = 0;
}
stack_pushCurrent(dMsgObject_getWord());
return true;
- case 0x29:
+ case MSGTAG_SCENT_NAME: {
if (field_0x49 != 0) {
field_0x49 = 0;
}
- stack_pushCurrent(reference_p->getObjectPtr()->getSmellName());
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ const char* smellname = objectPtr->getSmellName();
+ stack_pushCurrent(smellname);
return true;
- case 0x2b:
+ }
+ case MSGTAG_PORTAL_NAME: {
if (field_0x49 != 0) {
field_0x49 = 0;
}
- stack_pushCurrent(reference_p->getObjectPtr()->getPortalName());
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ const char* portalname = objectPtr->getPortalName();
+ stack_pushCurrent(portalname);
return true;
- case 0x2d:
+ }
+ case MSGTAG_BOMB_NAME: {
if (field_0x49 != 0) {
field_0x49 = 0;
}
- dMsgObject_c* object_p = reference_p->getObjectPtr();
- if (!reference_p->isSelectSetCancelFlag()) {
- reference_p->onBombNameUseFlag();
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ OS_REPORT("ボムカーソル位置 %d\n", dMsgObject_getMsgObjectClass()->getSelectCursorPos());
+
+ if (!pReference->isSelectSetCancelFlag()) {
+ pReference->onBombNameUseFlag();
}
- stack_pushCurrent(object_p->getBombName());
+ const char* bombname = objectPtr->getBombName();
+ stack_pushCurrent(bombname);
return true;
- case 0x3b:
+ }
+ case MSGTAG_INSECT_NAME: {
if (field_0x49 != 0) {
field_0x49 = 0;
}
- stack_pushCurrent(reference_p->getObjectPtr()->getInsectName());
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ const char* insectname = objectPtr->getInsectName();
+ stack_pushCurrent(insectname);
return true;
- case 0x3c:
+ }
+ case MSGTAG_LETTER_NAME: {
if (field_0x49 != 0) {
field_0x49 = 0;
}
- stack_pushCurrent(reference_p->getObjectPtr()->getLetterName());
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ const char* lettername = objectPtr->getLetterName();
+ stack_pushCurrent(lettername);
return true;
- case 8:
+ }
+ case MSGTAG_SELECT_2WAY:
+ JUT_ASSERT(1916, mSelectType != 0);
+
if (field_0x46 == 0) {
if (field_0x3e > 0) {
- reference_p->setPageLine(field_0x40, field_0x3e);
- reference_p->setPageLineMax(field_0x40, field_0x3e);
+ pReference->setPageLine(field_0x40, field_0x3e);
+ pReference->setPageLineMax(field_0x40, field_0x3e);
do_pageType(field_0x3e);
field_0x3e = 0;
- mPageLineMax = reference_p->getLineMax();
+ mPageLineMax = pReference->getLineMax();
field_0x49 = 0;
}
@@ -1437,21 +1201,23 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz
}
if (*(u8*)i_data == 1) {
- reference_p->setSelectPos(field_0x47);
+ pReference->setSelectPos(field_0x47);
}
field_0x47++;
field_0x46++;
- reference_p->setLineArrange(mTotalLineCnt, 1);
+ pReference->setLineArrange(mTotalLineCnt, 1);
return true;
- case 9:
+ case MSGTAG_SELECT_3WAY:
+ JUT_ASSERT(1944, mSelectType != 0);
+
if (field_0x46 == 0) {
if (field_0x3e > 0) {
- reference_p->setPageLine(field_0x40, field_0x3e);
- reference_p->setPageLineMax(field_0x40, field_0x3e);
+ pReference->setPageLine(field_0x40, field_0x3e);
+ pReference->setPageLineMax(field_0x40, field_0x3e);
do_pageType(field_0x3e);
field_0x3e = 0;
- mPageLineMax = reference_p->getLineMax();
+ mPageLineMax = pReference->getLineMax();
field_0x49 = 0;
}
@@ -1460,206 +1226,209 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz
}
if (*(u8*)i_data == 1) {
- reference_p->setSelectPos(field_0x47);
+ pReference->setSelectPos(field_0x47);
}
field_0x47++;
field_0x46++;
- reference_p->setLineArrange(mTotalLineCnt, 1);
+ pReference->setLineArrange(mTotalLineCnt, 1);
return true;
- case 0x1f:
- case 0x34:
- reference_p->setSelectPos(field_0x47);
- case 0x1e:
- case 0x33:
+ case MSGTAG_INLINE_2_FIRST:
+ case MSGTAG_INLINE_3_FIRST:
+ pReference->setSelectPos(field_0x47);
+ case MSGTAG_INLINE_2_NEXT:
+ case MSGTAG_INLINE_3_NEXT:
field_0x47++;
- reference_p->setLineArrange(mTotalLineCnt, 0);
+ pReference->setLineArrange(mTotalLineCnt, 0);
do_space(0);
return true;
- case 0x20:
+ case MSGTAG_AWAIT_CHOICE:
mSelectType = 1;
field_0x38 = 1.0f;
- do_character(10);
- stack_pushCurrent(reference_p->getSelMsgPtr());
+ do_character('\n');
+ stack_pushCurrent(pReference->getSelMsgPtr());
return true;
- case 0x21:
+ case MSGTAG_UNK_33:
do_name1();
return true;
- case 10:
- case 0xb:
- case 0xc:
- case 0xd:
- case 0xe:
- case 0xf:
- case 0x10:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
- case 0x15:
- case 0x16:
- case 0x17:
- case 0x18:
- case 0x19:
- case 0x1a:
- case 0x1b:
- case 0x1c:
- case 0x1d:
- case 0x23:
- case 0x24:
- case 0x27:
- case 0x2a:
- case 0x2c:
- case 0x2e:
- case 0x2f:
- case 0x39:
- case 0x3a:
+ case MSGTAG_ABTN:
+ case MSGTAG_BBTN:
+ case MSGTAG_CSTICK:
+ case MSGTAG_LBTN:
+ case MSGTAG_RBTN:
+ case MSGTAG_XBTN:
+ case MSGTAG_YBTN:
+ case MSGTAG_ZBTN:
+ case MSGTAG_DPAD:
+ case MSGTAG_STICK_CROSS:
+ case MSGTAG_LEFT_ARROW:
+ case MSGTAG_RIGHT_ARROW:
+ case MSGTAG_UP_ARROW:
+ case MSGTAG_DOWN_ARROW:
+ case MSGTAG_STICK_UP:
+ case MSGTAG_STICK_DOWN:
+ case MSGTAG_STICK_LEFT:
+ case MSGTAG_STICK_RIGHT:
+ case MSGTAG_STICK_VERTICAL:
+ case MSGTAG_STICK_HORIZONTAL:
+ case MSGTAG_RED_TARGET:
+ case MSGTAG_YELLOW_TARGET:
+ case MSGTAG_ABTN_STAR:
+ case MSGTAG_WHITE_TARGET:
+ case MSGTAG_WARP_ICON:
+ case MSGTAG_XYBTN:
+ case MSGTAG_YXBTN:
+ case MSGTAG_HEART:
+ case MSGTAG_QUAVER:
do_space(i_tag);
return true;
- case 0x30:
+ case MSGTAG_BOMB_BAG_ICON:
do_space(i_tag);
- if (!reference_p->isSelectSetCancelFlag()) {
- reference_p->getObjectPtr()->addSelectBomBag(*(u8*)i_data - 1);
+ if (!pReference->isSelectSetCancelFlag()) {
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ u8 type = *(u8*)i_data & 0xFF;
+ objectPtr->addSelectBomBag(type - 1);
}
return true;
- case 0x25:
+ case MSGTAG_INPUT_VALUE:
for (int i = 0; i < 4; i++) {
do_space(0);
}
return true;
- case 0x26:
+ case MSGTAG_ACKNOWLEDGE:
return true;
- case 0x31:
- char bomb_num_text[40];
- u8 sel_bomb_num = reference_p->getObjectPtr()->getSelectBombNum();
- dMsgUnit_setTag(7, sel_bomb_num, bomb_num_text);
- push_word(bomb_num_text);
+ case MSGTAG_BOMB_NUM: {
+ char buffer[40];
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ u8 sel_bomb_num = objectPtr->getSelectBombNum();
+ dMsgUnit_setTag(7, sel_bomb_num, buffer);
+ push_word(buffer);
return true;
- case 0x32:
- char bomb_price_text[40];
- s16 sel_bomb_price = reference_p->getObjectPtr()->getSelectBombPrice();
- dMsgUnit_setTag(1, sel_bomb_price, bomb_price_text);
- push_word(bomb_price_text);
+ }
+ case MSGTAG_BOMB_PRICE: {
+ char buffer[40];
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ s16 sel_bomb_price = objectPtr->getSelectBombPrice();
+ dMsgUnit_setTag(1, sel_bomb_price, buffer);
+ push_word(buffer);
return true;
- case 0x37:
+ }
+ case MSGTAG_BOMB_MAX: {
u8 bomb_type = fpcNm_ITEM_NORMAL_BOMB;
- const u8 spA = *(u8*)i_data;
- if (spA == 1) {
+ const u8 type = *(u8*)i_data;
+ if (type == 1) {
bomb_type = fpcNm_ITEM_WATER_BOMB;
- } else if (spA == 2) {
+ } else if (type == 2) {
bomb_type = fpcNm_ITEM_POKE_BOMB;
}
- char bomb_max_text[40];
- u8 bomb_max = dComIfGs_getBombMax(bomb_type);
- dMsgUnit_setTag(7, bomb_max, bomb_max_text);
- push_word(bomb_max_text);
+ char buffer[40];
+ dMsgUnit_setTag(7, dComIfGs_getBombMax(bomb_type), buffer);
+ push_word(buffer);
return true;
- case 0x38:
- char arrow_max_text[40];
- u8 arrow_max = dComIfGs_getArrowMax();
- dMsgUnit_setTag(0, arrow_max, arrow_max_text);
- push_word(arrow_max_text);
+ }
+ case MSGTAG_ARROW_MAX: {
+ char buffer[40];
+ dMsgUnit_setTag(0, dComIfGs_getArrowMax(), buffer);
+ push_word(buffer);
return true;
}
+ }
return true;
- case 0x40000:
+ case MSGTAG_GROUP(4):
switch (i_tag & 0xFF00FFFF) {
- case 0:
- push_word(changeCodeToChar(0x24));
+ case MSGTAG_GLYPH_DOLLARSIGN:
+ push_word(changeCodeToChar('$'));
return true;
- case 1:
- push_word(changeCodeToChar(0x5C));
+ case MSGTAG_GLYPH_BACKSLASH:
+ push_word(changeCodeToChar('\\'));
return true;
- case 2:
- push_word(changeCodeToChar(0x40));
+ case MSGTAG_GLYPH_ATMARK:
+ push_word(changeCodeToChar('@'));
return true;
- case 3:
+ case MSGTAG_GLYPH_SHARP:
push_word(changeCodeToChar(0x81F2));
return true;
- case 4:
+ case MSGTAG_GLYPH_FLAT:
push_word(changeCodeToChar(0x81F3));
return true;
- case 5:
+ case MSGTAG_GLYPH_SQRT:
push_word(changeCodeToChar(0x81E3));
return true;
- case 6:
+ case MSGTAG_GLYPH_PERCENT:
push_word(changeCodeToChar(0x876C));
return true;
- case 7:
+ case MSGTAG_GLYPH_HECTARE:
push_word(changeCodeToChar(0x8766));
return true;
- case 8:
+ case MSGTAG_GLYPH_ARE:
push_word(changeCodeToChar(0x8765));
return true;
- case 9:
+ case MSGTAG_GLYPH_LITRE:
push_word(changeCodeToChar(0x8767));
return true;
- case 10:
+ case MSGTAG_GLYPH_WATT:
push_word(changeCodeToChar(0x8768));
return true;
- case 11:
+ case MSGTAG_GLYPH_CALORIE:
push_word(changeCodeToChar(0x8769));
return true;
- case 12:
+ case MSGTAG_GLYPH_DOLLAR:
push_word(changeCodeToChar(0x876A));
return true;
- case 13:
+ case MSGTAG_GLYPH_CENT:
push_word(changeCodeToChar(0x876B));
return true;
}
return false;
- case 0x50000:
- char buffer_0[40];
+ case MSGTAG_GROUP(5): {
+ char buffer[40];
switch (i_tag & 0xFF00FFFF) {
- case 0:
- const u8 sp9 = *(u8*)i_data;
- if (sp9 == 0) {
- int msg_time_ms = dMeter2Info_getMsgTimeMs();
- dMsgUnit_setTag(4, msg_time_ms, buffer_0);
- } else if (sp9 == 2) {
- int race_time = dComIfGs_getRaceGameTime();
- dMsgUnit_setTag(4, race_time, buffer_0);
+ case MSGTAG_TIME_INFO: {
+ const u8 type = *(u8*)i_data;
+ if (type == 0) {
+ dMsgUnit_setTag(4, dMeter2Info_getMsgTimeMs(), buffer);
+ } else if (type == 2) {
+ dMsgUnit_setTag(4, dComIfGs_getRaceGameTime(), buffer);
} else {
- int time_ms = dMeter2Info_getTimeMs();
- dMsgUnit_setTag(4, time_ms, buffer_0);
+ dMsgUnit_setTag(4, dMeter2Info_getTimeMs(), buffer);
}
break;
+ }
case 1:
- u32 msg_num_ = dComIfGp_getMessageCountNumber();
- dMsgUnit_setTag(0, msg_num_, buffer_0);
+ dMsgUnit_setTag(0, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
case 2:
- u32 msg_num = dComIfGp_getMessageCountNumber();
- dMsgUnit_setTag(1, msg_num, buffer_0);
+ dMsgUnit_setTag(1, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 9:
+ case MSGTAG_FUNDRAISE_REMAIN: {
s16 fund_raise_val = *(u32*)i_data;
- reference_p->getObjectPtr()->setFundRaisingValue(fund_raise_val);
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ objectPtr->setFundRaisingValue(fund_raise_val);
- int fund_raising = fund_raise_val - dMsgObject_getFundRaising();
- dMsgUnit_setTag(10, fund_raising, buffer_0);
+ dMsgUnit_setTag(10, fund_raise_val - dMsgObject_getFundRaising(), buffer);
break;
- case 10:
- u32 letter_num = dMeter2Info_getNewLetterNum();
- dMsgUnit_setTag(11, letter_num, buffer_0);
+ }
+ case MSGTAG_NEW_LETTER_NUM:
+ dMsgUnit_setTag(11, dMeter2Info_getNewLetterNum(), buffer);
break;
- case 11:
- u32 poh_num = getPohNum();
- dMsgUnit_setTag(12, poh_num, buffer_0);
+ case MSGTAG_POE_NUM:
+ dMsgUnit_setTag(12, getPohNum(), buffer);
break;
- case 12:
- int tmp;
- if (*(u8*)i_data == 0) {
- tmp = dComIfGp_getMessageCountNumber();
+ case MSGTAG_BALLOON_SCORE: {
+ int number;
+ u8 type = *(u8*)i_data & 0xFF;
+ if (type == 0) {
+ number = dComIfGp_getMessageCountNumber();
} else {
- tmp = dComIfGs_getBalloonScore();
+ number = dComIfGs_getBalloonScore();
}
- dMsgUnit_setTag(13, tmp, buffer_0);
+ dMsgUnit_setTag(13, number, buffer);
break;
- case 3:
+ }
+ case MSGTAG_INSECT_INFO: {
u32 insect_num;
if (*(u8*)i_data == 0) {
insect_num = dComIfGs_checkGetInsectNum();
@@ -1667,98 +1436,101 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz
insect_num = 24 - dComIfGs_checkGetInsectNum();
}
- dMsgUnit_setTag(2, insect_num, buffer_0);
+ dMsgUnit_setTag(2, insect_num, buffer);
break;
+ }
case 4:
- dMsgUnit_setTag(3, 0, buffer_0);
+ dMsgUnit_setTag(3, 0, buffer);
break;
case 5:
- dMsgUnit_setTag(0x10000, dComIfGp_getNeedLightDropNum(), buffer_0);
+ dMsgUnit_setTag(0x10000, dComIfGp_getNeedLightDropNum(), buffer);
break;
case 6:
- dMsgUnit_setTag(6, 20 - dComIfGs_getEventReg(0xFF1F), buffer_0);
+ dMsgUnit_setTag(6, 20 - dComIfGs_getEventReg(0xFF1F), buffer);
break;
- case 8:
- dMsgUnit_setTag(9, (u32)dComIfGp_getMessageCountNumber(), buffer_0);
+ case MSGTAG_FISH_LENGTH:
+ dMsgUnit_setTag(9, (u32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 13:
- dMsgUnit_setTag(14, (u32)dComIfGp_getMessageCountNumber(), buffer_0);
+ case MSGTAG_FISH_COUNT:
+ dMsgUnit_setTag(14, (u32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 14:
- dMsgUnit_setTag(0x10001, (u32)dComIfGp_getMessageCountNumber(), buffer_0);
+ case MSGTAG_ROLLGOAL_LV:
+ dMsgUnit_setTag(0x10001, (u32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 7:
- dMsgUnit_setTag(8, dMeter2Info_getNowCount(), buffer_0);
+ case MSGTAG_RIVER_POINTS:
+ dMsgUnit_setTag(8, dMeter2Info_getNowCount(), buffer);
break;
default:
return false;
}
- push_word(buffer_0);
+ push_word(buffer);
return true;
- case 0x60000:
- char buffer1[40];
+ }
+ case MSGTAG_GROUP(6): {
+ char buffer[40];
switch (i_tag & 0xFF00FFFF) {
- case 0:
- push_word(buffer1);
+ case MSGTAG_PLAYER_GENITIV:
+ push_word(buffer);
return true;
- case 1:
- push_word(buffer1);
+ case MSGTAG_HORSE_GENITIV:
+ push_word(buffer);
return true;
- case 2:
+ case MSGTAG_MALE_ICON:
push_word(changeCodeToChar(0xB2));
return true;
- case 3:
+ case MSGTAG_FEMALE_ICON:
push_word(changeCodeToChar(0xB3));
return true;
- case 4:
+ case MSGTAG_STAR_ICON:
push_word(changeCodeToChar(0xB1));
return true;
- case 5:
+ case MSGTAG_REFMARK:
push_word(changeCodeToChar(0x89));
return true;
- case 6:
+ case MSGTAG_THIN_LEFT_ARROW:
push_word(changeCodeToChar(0xB9));
return true;
- case 7:
+ case MSGTAG_THIN_RIGHT_ARROW:
push_word(changeCodeToChar(0xBC));
return true;
- case 8:
+ case MSGTAG_THIN_UP_ARROW:
push_word(changeCodeToChar(0xBD));
return true;
- case 9:
+ case MSGTAG_THIN_DOWN_ARROW:
push_word(changeCodeToChar(0xBE));
return true;
- case 10:
- case 11:
+ case MSGTAG_BULLET:
+ case MSGTAG_BULLET_SPACE:
do_space(i_tag);
return true;
}
- case 0x30000:
+ }
+ case MSGTAG_GROUP(3):
switch (i_tag & 0xFF00FFFF) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
+ case MSGTAG_WII_ABTN:
+ case MSGTAG_WII_BBTN:
+ case MSGTAG_WII_HOMEBTN:
+ case MSGTAG_WII_MINUSBTN:
+ case MSGTAG_WII_PLUSBTN:
+ case MSGTAG_WII_1BTN:
+ case MSGTAG_WII_2BTN:
+ case MSGTAG_WII_DPAD_ITEM:
+ case MSGTAG_WII_DPAD_UP:
+ case MSGTAG_WII_DPAD_DOWN:
+ case MSGTAG_WII_DPAD_HORIZONTAL:
+ case MSGTAG_WII_DPAD_RIGHT:
+ case MSGTAG_WII_DPAD_LEFT:
+ case MSGTAG_WII_WIIMOTE:
+ case MSGTAG_WII_RETICULE:
+ case MSGTAG_WII_NUNCHUK:
+ case MSGTAG_WII_WIIMOTE2:
+ case MSGTAG_WII_FAIRY:
+ case MSGTAG_WII_CBTN:
+ case MSGTAG_WII_ZBTN:
do_space(i_tag);
return true;
- case 0:
- reference_p->setRevoMessageID(*(u32*)i_data);
+ case MSGTAG_WII_MSGID_OVERRIDE:
+ pReference->setRevoMessageID(*(u32*)i_data);
return true;
}
}
@@ -1767,9 +1539,9 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz
}
/* 8022B0B0-8022B18C 2259F0 00DC+00 2/2 0/0 0/0 .text do_scale__26jmessage_tMeasureProcessorFf */
-void jmessage_tMeasureProcessor::do_scale(f32 param_0) {
- jmessage_tReference* ref = (jmessage_tReference*)getReference();
- field_0x38 = param_0 * ref->getDistanceScale();
+void jmessage_tMeasureProcessor::do_scale(f32 i_scale) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ field_0x38 = i_scale * pReference->getDistanceScale();
if (field_0x38 > 1.0f && field_0x48 == 0) {
field_0x48 = 1;
@@ -1777,17 +1549,17 @@ void jmessage_tMeasureProcessor::do_scale(f32 param_0) {
JUT_ASSERT(0x930, mPageLineMax > 0);
if (field_0x3e == 0) {
- ref->setPageType(field_0x40, 2);
+ pReference->setPageType(field_0x40, 2);
} else if (field_0x3e == 2 && mPageLineMax == 3) {
- if (ref->getPageType(field_0x40) == 4) {
- ref->setPageType(field_0x40, 5);
+ if (pReference->getPageType(field_0x40) == 4) {
+ pReference->setPageType(field_0x40, 5);
} else {
- ref->setPageType(field_0x40, 8);
+ pReference->setPageType(field_0x40, 8);
}
} else {
- ref->setPageType(field_0x40, 3);
- if (field_0x3e == 1 && ref->getPageType(field_0x40) == 2) {
- ref->setPageType(field_0x40, 4);
+ pReference->setPageType(field_0x40, 3);
+ if (field_0x3e == 1 && pReference->getPageType(field_0x40) == 2) {
+ pReference->setPageType(field_0x40, 4);
}
}
}
@@ -1795,118 +1567,118 @@ void jmessage_tMeasureProcessor::do_scale(f32 param_0) {
/* 8022B18C-8022B3EC 225ACC 0260+00 2/1 0/0 0/0 .text do_space__26jmessage_tMeasureProcessorFUl */
void jmessage_tMeasureProcessor::do_space(u32 i_tag) {
- jmessage_tReference* ref = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
f32 var_f31 = field_0x38;
if (field_0x44 == 0) {
- u16 var_r30 = 0xFFFF;
+ u16 character = 0xFFFF;
switch (i_tag & 0xFF0000) {
- case 0:
+ case MSGTAG_GROUP(0):
switch (i_tag) {
- case 10:
- var_r30 = 0xFFE0;
+ case MSGTAG_ABTN:
+ character = 0xFFE0;
break;
- case 11:
- var_r30 = 0xFFE1;
+ case MSGTAG_BBTN:
+ character = 0xFFE1;
break;
- case 12:
- var_r30 = 0xFFE2;
+ case MSGTAG_CSTICK:
+ character = 0xFFE2;
break;
- case 13:
- var_r30 = 0xFFE3;
+ case MSGTAG_LBTN:
+ character = 0xFFE3;
break;
- case 14:
- var_r30 = 0xFFE4;
+ case MSGTAG_RBTN:
+ character = 0xFFE4;
break;
- case 15:
- var_r30 = 0xFFE5;
+ case MSGTAG_XBTN:
+ character = 0xFFE5;
break;
- case 16:
- var_r30 = 0xFFE6;
+ case MSGTAG_YBTN:
+ character = 0xFFE6;
break;
- case 17:
- var_r30 = 0xFFE7;
+ case MSGTAG_ZBTN:
+ character = 0xFFE7;
break;
- case 18:
- var_r30 = 0xFFE8;
+ case MSGTAG_DPAD:
+ character = 0xFFE8;
break;
- case 19:
- var_r30 = 0xFFE9;
+ case MSGTAG_STICK_CROSS:
+ character = 0xFFE9;
break;
- case 20:
- var_r30 = 0xFFEA;
+ case MSGTAG_LEFT_ARROW:
+ character = 0xFFEA;
break;
- case 21:
- var_r30 = 0xFFEB;
+ case MSGTAG_RIGHT_ARROW:
+ character = 0xFFEB;
break;
- case 22:
- var_r30 = 0xFFEC;
+ case MSGTAG_UP_ARROW:
+ character = 0xFFEC;
break;
- case 23:
- var_r30 = 0xFFED;
+ case MSGTAG_DOWN_ARROW:
+ character = 0xFFED;
break;
- case 24:
- var_r30 = 0xFFEE;
+ case MSGTAG_STICK_UP:
+ character = 0xFFEE;
break;
- case 25:
- var_r30 = 0xFFF0;
+ case MSGTAG_STICK_DOWN:
+ character = 0xFFF0;
break;
- case 26:
- var_r30 = 0xFFF1;
+ case MSGTAG_STICK_LEFT:
+ character = 0xFFF1;
break;
- case 27:
- var_r30 = 0xFFF2;
+ case MSGTAG_STICK_RIGHT:
+ character = 0xFFF2;
break;
- case 28:
- var_r30 = 0xFFF3;
+ case MSGTAG_STICK_VERTICAL:
+ character = 0xFFF3;
break;
- case 29:
- var_r30 = 0xFFF4;
+ case MSGTAG_STICK_HORIZONTAL:
+ character = 0xFFF4;
break;
- case 57:
- var_r30 = 0xFFF5;
+ case MSGTAG_HEART:
+ character = 0xFFF5;
break;
- case 58:
- var_r30 = 0xFFF6;
+ case MSGTAG_QUAVER:
+ character = 0xFFF6;
break;
}
- ref->setCharactor(var_r30);
+ pReference->setCharactor(character);
break;
- case 0x30000:
+ case MSGTAG_GROUP(3):
switch (i_tag & 0xFF00FFFF) {
- case 3:
- case 4:
- case 5:
- ref->setCharactor(0xFFFF);
+ case MSGTAG_WII_HOMEBTN:
+ case MSGTAG_WII_MINUSBTN:
+ case MSGTAG_WII_PLUSBTN:
+ pReference->setCharactor(character);
break;
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- ref->setCharactor(0xFFFF);
+ case MSGTAG_WII_DPAD_ITEM:
+ case MSGTAG_WII_DPAD_UP:
+ case MSGTAG_WII_DPAD_DOWN:
+ case MSGTAG_WII_DPAD_HORIZONTAL:
+ case MSGTAG_WII_DPAD_RIGHT:
+ case MSGTAG_WII_DPAD_LEFT:
+ case MSGTAG_WII_WIIMOTE:
+ case MSGTAG_WII_RETICULE:
+ pReference->setCharactor(character);
break;
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
- case 6:
- case 7:
- case 1:
- case 2:
- ref->setCharactor(0xFFFF);
+ case MSGTAG_WII_NUNCHUK:
+ case MSGTAG_WII_WIIMOTE2:
+ case MSGTAG_WII_FAIRY:
+ case MSGTAG_WII_CBTN:
+ case MSGTAG_WII_ZBTN:
+ case MSGTAG_WII_1BTN:
+ case MSGTAG_WII_2BTN:
+ case MSGTAG_WII_ABTN:
+ case MSGTAG_WII_BBTN:
+ pReference->setCharactor(character);
}
break;
- case 0x60000:
+ case MSGTAG_GROUP(6):
switch (i_tag) {
- case 10:
- case 11:
- ref->setCharactor(0xFFFF);
+ case MSGTAG_BULLET:
+ case MSGTAG_BULLET_SPACE:
+ pReference->setCharactor(character);
break;
}
break;
@@ -1917,71 +1689,74 @@ void jmessage_tMeasureProcessor::do_space(u32 i_tag) {
field_0x49 = 0;
}
- ref->addLineLength(mTotalLineCnt, var_f31, 1.0f);
+ pReference->addLineLength(mTotalLineCnt, var_f31, 1.0f);
if (field_0x46 != 0) {
- ref->addSelLength(field_0x46 - 1, var_f31);
+ pReference->addSelLength(field_0x46 - 1, var_f31);
}
}
/* 8022B3EC-8022B454 225D2C 0068+00 3/3 0/0 0/0 .text do_pageType__26jmessage_tMeasureProcessorFi
*/
void jmessage_tMeasureProcessor::do_pageType(int param_0) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
if (param_0 == 1) {
- if (pRef->getPageType(field_0x40) == 2) {
- pRef->setPageType(field_0x40, 1);
+ if (pReference->getPageType(field_0x40) == 2) {
+ pReference->setPageType(field_0x40, 1);
}
} else if (param_0 == 3) {
- if (pRef->getPageType(field_0x40) == 2) {
- pRef->setPageType(field_0x40, 6);
- } else if (pRef->getPageType(field_0x40) == 3) {
- pRef->setPageType(field_0x40, 7);
+ if (pReference->getPageType(field_0x40) == 2) {
+ pReference->setPageType(field_0x40, 6);
+ } else if (pReference->getPageType(field_0x40) == 3) {
+ pReference->setPageType(field_0x40, 7);
}
}
}
/* 8022B454-8022B458 225D94 0004+00 1/1 0/0 0/0 .text do_name1__26jmessage_tMeasureProcessorFv */
-void jmessage_tMeasureProcessor::do_name1() {}
+void jmessage_tMeasureProcessor::do_name1() {
+ const char* name = dComIfGs_getPlayerName();
+}
/* 8022B458-8022B4E0 225D98 0088+00 1/1 0/0 0/0 .text
* do_rubyset__26jmessage_tMeasureProcessorFPCvUl */
-// NONMATCHING - issue with or
-void jmessage_tMeasureProcessor::do_rubyset(void const* param_0, u32 param_1) {
+void jmessage_tMeasureProcessor::do_rubyset(void const* i_data, u32 i_size) {
if (field_0x44 == 0) {
- u8 var_r28 = param_1 - 1;
- u8* var_r30 = (u8*)param_0;
- int var_r29 = 0;
+ u8 length = i_size - 1;
+ u8* pRuby = (u8*)i_data;
+ int index = 0;
- var_r30++;
+ pRuby++;
- jmessage_tReference* ref = (jmessage_tReference*)getReference();
- while (var_r29 < var_r28) {
- u8 sp10[3];
- sp10[0] = var_r30[var_r29++];
- sp10[1] = var_r30[var_r29++];
- sp10[2] = 0;
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ while (index < length) {
+ u8 bytes[3];
+ bytes[0] = pRuby[index++];
+ bytes[1] = pRuby[index++];
+ bytes[2] = 0;
- int var_r26 = (((s8)sp10[0] & 0xff) << 8) | ((s8)sp10[1] & 0xff);
- ref->setCharactor(changeKataToHira(var_r26));
+ int character = (((s8)bytes[0] & 0xFF) << 8) | ((s8)bytes[1] & 0xFF);
+ pReference->setCharactor(changeKataToHira(character));
}
}
}
/* 8022B4E0-8022B558 225E20 0078+00 1/1 0/0 0/0 .text push_word__26jmessage_tMeasureProcessorFPc
*/
-void jmessage_tMeasureProcessor::push_word(char* param_0) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- strcpy(pRef->getWord(field_0x4b), param_0);
- stack_pushCurrent(pRef->getWord(field_0x4b));
+void jmessage_tMeasureProcessor::push_word(char* i_word) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ strcpy(pReference->getWord(field_0x4b), i_word);
+ stack_pushCurrent(pReference->getWord(field_0x4b));
field_0x4b++;
}
/* 8022B558-8022B5F4 225E98 009C+00 0/0 1/1 0/0 .text
* __ct__27jmessage_tSequenceProcessorFPC19jmessage_tReferenceP17jmessage_tControl */
-// NONMATCHING
-jmessage_tSequenceProcessor::jmessage_tSequenceProcessor(jmessage_tReference const* param_0,
- jmessage_tControl* param_1)
- : JMessage::TSequenceProcessor(param_0, param_1), mMeasureProcessor(param_0) {
+jmessage_tSequenceProcessor::jmessage_tSequenceProcessor(jmessage_tReference const* pReference,
+ jmessage_tControl* pControl)
+ : JMessage::TSequenceProcessor(pReference, pControl),
+ mMeasureProcessor(pReference)
+{
field_0xa8 = 1;
field_0xa4 = field_0xa8;
field_0xa6 = 0;
@@ -1989,7 +1764,7 @@ jmessage_tSequenceProcessor::jmessage_tSequenceProcessor(jmessage_tReference con
mMouthCheck = 0;
field_0xb1 = 0;
field_0xae = 0;
- mForceForm = 0xff;
+ mForceForm = 0xFF;
field_0xb2 = 0;
field_0xaa = 0;
field_0xb5 = 0;
@@ -2003,14 +1778,16 @@ void jmessage_tSequenceProcessor::do_reset() {}
/* 8022B658-8022BA3C 225F98 03E4+00 1/0 0/0 0/0 .text
* do_begin__27jmessage_tSequenceProcessorFPCvPCc */
-void jmessage_tSequenceProcessor::do_begin(void const* param_1, char const* param_2) {
- field_0x9c = param_1;
- field_0xa0 = param_2;
- if (((u8*)param_1)[9] == 8) {
+void jmessage_tSequenceProcessor::do_begin(void const* pEntry, char const* pszText) {
+ mpEntry = pEntry;
+ mpText = pszText;
+
+ if (((JMSMesgEntry_c*)pEntry)->fuki_kind == 8) {
field_0xa8 = g_MsgObject_HIO_c.mDisplaySpeedSpirit;
} else {
field_0xa8 = g_MsgObject_HIO_c.mDisplaySpeed;
}
+
field_0xa4 = field_0xa8;
field_0xa6 = 0;
field_0xad = 0;
@@ -2019,136 +1796,164 @@ void jmessage_tSequenceProcessor::do_begin(void const* param_1, char const* para
field_0xb2 = 0;
field_0xaa = 0;
field_0xac = 0;
- field_0xb4 = ((u8*)param_1)[8];
- field_0xb3 = ((u8*)param_1)[14];
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- pRef->resetCharCnt();
- pRef->setNowColorType(0);
- pRef->setTopColorType(0);
- pRef->setNowWordCount(0);
- pRef->setTopWordCount(0);
- pRef->setBatchColorFlag(0);
- pRef->setTopTagScale(0);
- pRef->setNowTagScale(0);
- pRef->calcDistance();
- dComIfGp_setMesgAnimeAttrInfo(((u8*)param_1)[16]);
- dComIfGp_setMesgFaceAnimeAttrInfo(((u8*)param_1)[17]);
+ field_0xb4 = ((JMSMesgEntry_c*)pEntry)->se_speaker;
+ field_0xb3 = ((JMSMesgEntry_c*)pEntry)->se_mood;
+
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ pReference->resetCharCnt();
+ pReference->setNowColorType(0);
+ pReference->setTopColorType(0);
+ pReference->setNowWordCount(0);
+ pReference->setTopWordCount(0);
+ pReference->setBatchColorFlag(0);
+ pReference->setTopTagScale(0);
+ pReference->setNowTagScale(0);
+ pReference->calcDistance();
+
+ dComIfGp_setMesgAnimeAttrInfo(((JMSMesgEntry_c*)pEntry)->base_anm_id);
+ dComIfGp_setMesgFaceAnimeAttrInfo(((JMSMesgEntry_c*)pEntry)->face_anm_id);
+
if (dComIfGp_isHeapLockFlag() == 2) {
- pRef->setFukiPosType(1);
+ pReference->setFukiPosType(1);
} else {
if (dComIfGp_isHeapLockFlag() == 3) {
- pRef->setFukiPosType(0);
+ pReference->setFukiPosType(0);
} else {
- pRef->setFukiPosType(((u8*)param_1)[11]);
+ pReference->setFukiPosType(((JMSMesgEntry_c*)pEntry)->fuki_pos_type);
}
}
- pRef->setFukiKind(((u8*)param_1)[9]);
- if (dMsgObject_getMsgOutputType() != 0xff) {
- pRef->setForm(dMsgObject_getMsgOutputType());
+
+ pReference->setFukiKind(((JMSMesgEntry_c*)pEntry)->fuki_kind);
+
+ if (dMsgObject_getMsgOutputType() != 0xFF) {
+ pReference->setForm(dMsgObject_getMsgOutputType());
} else {
- pRef->setForm(((u8*)param_1)[10]);
- }
- pRef->setArrange(((u8*)param_1)[13]);
- pRef->setForm(((u8*)param_1)[13]);
- pRef->setMsgID(((u16*)param_1)[2]);
- if (((u16*)param_1)[3] != 0) {
- dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[((u16*)param_1)[3]]);
- }
- pRef->getObjectPtr()->talkStartInit();
- mMeasureProcessor.process_messageEntryText(this, param_1, param_2);
- if (pRef->isBombNameUseFlag()) {
- pRef->offBombNameUseFlag();
+ pReference->setForm(((JMSMesgEntry_c*)pEntry)->output_type);
+ }
+
+ pReference->setArrange(((JMSMesgEntry_c*)pEntry)->unk_0xd);
+ pReference->setForm(((JMSMesgEntry_c*)pEntry)->unk_0xd);
+ pReference->setMsgID(((JMSMesgEntry_c*)pEntry)->message_id);
+
+ if (((JMSMesgEntry_c*)pEntry)->event_label_id != 0) {
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[((JMSMesgEntry_c*)pEntry)->event_label_id]);
+ }
+
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+ objectPtr->talkStartInit();
+ mMeasureProcessor.process_messageEntryText(this, pEntry, pszText);
+
+ if (pReference->isBombNameUseFlag()) {
+ pReference->offBombNameUseFlag();
calcStringLength();
}
- f32 tboxWidth = pRef->getSelLength(0);
- if (tboxWidth < pRef->getSelLength(1)) {
- tboxWidth = pRef->getSelLength(1);
+
+ f32 tboxWidth = pReference->getSelLength(0);
+ if (tboxWidth < pReference->getSelLength(1)) {
+ tboxWidth = pReference->getSelLength(1);
}
- if (tboxWidth < pRef->getSelLength(2)) {
- tboxWidth = pRef->getSelLength(2);
+
+ if (tboxWidth < pReference->getSelLength(2)) {
+ tboxWidth = pReference->getSelLength(2);
}
+
tboxWidth += 10.0f;
- if (tboxWidth > pRef->getSelTBoxWidth()) {
- pRef->setSelTBoxWidth(tboxWidth);
+
+ if (tboxWidth > pReference->getSelTBoxWidth()) {
+ pReference->setSelTBoxWidth(tboxWidth);
}
- if (dMsgObject_getMsgOutputType() != 0xff) {
+
+ if (dMsgObject_getMsgOutputType() != 0xFF) {
field_0xae = dMsgObject_getMsgOutputType();
} else {
- field_0xae = ((u8*)param_1)[10];
+ field_0xae = ((JMSMesgEntry_c*)pEntry)->output_type;
}
- if (mForceForm != 0xff) {
+
+ if (mForceForm != 0xFF) {
field_0xae = mForceForm;
}
- pRef->setAddCharAlpha(255.0f);
- pRef->setAddCharAllAlphaRate(1.0f);
- pRef->setCharAllAlphaRate(1.0f);
+
+ pReference->setAddCharAlpha(255.0f);
+ pReference->setAddCharAllAlphaRate(1.0f);
+ pReference->setCharAllAlphaRate(1.0f);
+
if (field_0xae == 3) {
- pRef->setAddCharAllAlphaRate(1.0f / (1.0f + g_MsgObject_HIO_c.mBatchDisplayWeight_3));
- pRef->setCharAllAlphaRate(0.0f);
+ pReference->setAddCharAllAlphaRate(1.0f / (1.0f + g_MsgObject_HIO_c.mBatchDisplayWeight_3));
+ pReference->setCharAllAlphaRate(0.0f);
} else if (field_0xae == 8) {
- pRef->setAddCharAllAlphaRate(1.0f / (1.0f + g_MsgObject_HIO_c.mBatchDisplayWeight_8));
- pRef->setCharAllAlphaRate(0.0f);
+ pReference->setAddCharAllAlphaRate(1.0f / (1.0f + g_MsgObject_HIO_c.mBatchDisplayWeight_8));
+ pReference->setCharAllAlphaRate(0.0f);
} else if (field_0xae == 9) {
- pRef->setAddCharAllAlphaRate(1.0f / (1.0f + g_MsgObject_HIO_c.mBatchDisplayWeight_9));
- pRef->setCharAllAlphaRate(0.0f);
+ pReference->setAddCharAllAlphaRate(1.0f / (1.0f + g_MsgObject_HIO_c.mBatchDisplayWeight_9));
+ pReference->setCharAllAlphaRate(0.0f);
} else if (field_0xae == 5) {
field_0xa4 = g_MsgObject_HIO_c.mCharDisplayWeight_5;
- pRef->setAddCharAlpha(255.0f / (1.0f + field_0xa4));
+ pReference->setAddCharAlpha(255.0f / (1.0f + field_0xa4));
}
- pRef->resetReference();
+
+ pReference->resetReference();
field_0xb5 = 0;
}
/* 8022BA3C-8022BB7C 22637C 0140+00 1/0 0/0 0/0 .text do_end__27jmessage_tSequenceProcessorFv */
void jmessage_tSequenceProcessor::do_end() {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
if (dMsgObject_getSelectWordFlag() != 0) {
- pRef->setSelectNum(dMsgObject_getSelectWordFlag());
- pRef->setSelectType(0);
- pRef->setSelectPos(0);
+ pReference->setSelectNum(dMsgObject_getSelectWordFlag());
+ pReference->setSelectType(0);
+ pReference->setSelectPos(0);
}
+
mMouthCheck = 0;
- if (pRef->getSelectNum() == 2) {
- if (pRef->getSelectType() == 0) {
- pRef->setStopFlag(2);
+
+ if (pReference->getSelectNum() == 2) {
+ if (pReference->getSelectType() == 0) {
+ pReference->setStopFlag(2);
} else {
- pRef->setStopFlag(4);
+ pReference->setStopFlag(4);
}
} else {
- if (pRef->getSelectNum() == 3) {
- if (pRef->getSelectType() == 0) {
- if (!pRef->isMidona()) {
- pRef->setStopFlag(3);
+ if (pReference->getSelectNum() == 3) {
+ if (pReference->getSelectType() == 0) {
+ if (!pReference->isMidona()) {
+ pReference->setStopFlag(3);
}
} else {
- pRef->setStopFlag(5);
+ pReference->setStopFlag(5);
}
} else {
- if (pRef->getSendFlag() == 5) {
- pRef->setStopFlag(6);
+ if (pReference->getSendFlag() == 5) {
+ pReference->setStopFlag(6);
} else {
- pRef->setStopFlag(7);
+ pReference->setStopFlag(7);
}
}
}
+
if (dComIfGp_checkMesgBgm()) {
dComIfGp_setMesgBgmOff();
}
- if (mForceForm != 0xff) {
- mForceForm = 0xff;
+
+ if (mForceForm != 0xFF) {
+ mForceForm = 0xFF;
}
- if (pRef->isLightBatchFlag()) {
- pRef->allsetCharCountBuffer();
+
+ if (pReference->isLightBatchFlag()) {
+ pReference->allsetCharCountBuffer();
}
- pRef->setNowLightCount(0xff);
+
+ pReference->setNowLightCount(0xFF);
}
/* 8022BB7C-8022BFE0 2264BC 0464+00 2/0 0/0 0/0 .text do_isReady__27jmessage_tSequenceProcessorFv
*/
bool jmessage_tSequenceProcessor::do_isReady() {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
#ifdef DEBUG
- if (pRef->getRevoMessageID() == 0) {
+ if (pReference->getRevoMessageID() != 0) {
+ return 0;
+ }
#endif
if (dComIfGp_checkMesgBgm()) {
@@ -2161,69 +1966,72 @@ bool jmessage_tSequenceProcessor::do_isReady() {
}
if (isItemMusicPlaying) {
- return 0;
+ return false;
}
}
- if (pRef->isButtonTagStopFlag()) {
- if (mDoCPd_c::getTrigA(0) != 0) {
- pRef->offButtonTagStopFlag();
- pRef->onLightBatchFlag();
+ if (pReference->isButtonTagStopFlag()) {
+ if (mDoCPd_c::getTrigA(PAD_1)) {
+ pReference->offButtonTagStopFlag();
+ pReference->onLightBatchFlag();
}
- return 0;
+ return false;
}
- if (pRef->isKanban() || pRef->isPlaceName() || pRef->isStaffRoll() ||
- pRef->isBossName() || pRef->isSaveSeq() || pRef->isHowl())
+ if (pReference->isKanban() || pReference->isPlaceName() || pReference->isStaffRoll() ||
+ pReference->isBossName() || pReference->isSaveSeq() || pReference->isHowl())
{
- if (pRef->getStatus() == 2 || pRef->getStatus() == 6 || pRef->getStatus() == 11 ||
- pRef->getStatus() == 5)
+ if (pReference->getStatus() == 2 || pReference->getStatus() == 6 || pReference->getStatus() == 11 ||
+ pReference->getStatus() == 5)
{
- if (pRef->getLineCount() < pRef->getNowPageLineMax() || pRef->getStatus() == 11) {
+ if (pReference->getLineCount() < pReference->getNowPageLineMax() || pReference->getStatus() == 11) {
field_0xae = 1;
field_0xa4 = 0;
- pRef->onBatchFlag();
- pRef->setCharCnt(0x200);
+ pReference->onBatchFlag();
+ pReference->setCharCnt(0x200);
field_0xa4 = field_0xa8;
- return 1;
+ return true;
}
- if (field_0xaa == pRef->getPageEndCount()) {
- return 1;
+
+ if (field_0xaa == pReference->getPageEndCount()) {
+ return true;
}
- pRef->setStopFlag(1);
+
+ pReference->setStopFlag(1);
field_0xaa++;
}
- } else if (pRef->isBook()) {
- if (pRef->getStatus() == 2 ||
- pRef->getStatus() == 6)
+ } else if (pReference->isBook()) {
+ if (pReference->getStatus() == 2 ||
+ pReference->getStatus() == 6)
{
- if (pRef->getLineCount() < pRef->getNowPageLineMax()) {
+ if (pReference->getLineCount() < pReference->getNowPageLineMax()) {
field_0xae = 1;
field_0xa4 = 0;
- pRef->onBatchFlag();
- pRef->setCharCnt(0x200);
- return 1;
+ pReference->onBatchFlag();
+ pReference->setCharCnt(0x200);
+ return true;
}
- if (pRef->getPageEndCount() == pRef->getPageNum()) {
- return 1;
+ if (pReference->getPageEndCount() == pReference->getPageNum()) {
+ return true;
}
- pRef->setStopFlag(1);
- field_0xaa = field_0xaa + 1;
+
+ pReference->setStopFlag(1);
+ field_0xaa++;
}
- } else if ((pRef->getStatus() == 6 || pRef->getStatus() == 11 ||
- (pRef->getStatus() == 8 || pRef->getStatus() == 9) && pRef->isMidona()) ||
- (pRef->getStatus() == 2 && pRef->isMidona()))
+ } else if ((pReference->getStatus() == 6 || pReference->getStatus() == 11 ||
+ (pReference->getStatus() == 8 || pReference->getStatus() == 9) && pReference->isMidona()) ||
+ (pReference->getStatus() == 2 && pReference->isMidona()))
{
- if (pRef->getLineCount() < pRef->getNowPageLineMax()) {
+ if (pReference->getLineCount() < pReference->getNowPageLineMax()) {
switch (field_0xae) {
case 0:
case 5:
case 6:
- if (mDoCPd_c::getTrigA(0) != 0 || field_0xb2 != 0) {
+ if (mDoCPd_c::getTrigA(PAD_1) || field_0xb2 != 0) {
field_0xa4 = 0;
- pRef->onBatchFlag();
- pRef->setCharCnt(0x200);
+ pReference->onBatchFlag();
+ pReference->setCharCnt(0x200);
}
break;
case 1:
@@ -2231,8 +2039,8 @@ bool jmessage_tSequenceProcessor::do_isReady() {
case 8:
case 9:
field_0xa4 = 0;
- pRef->onBatchFlag();
- pRef->setCharCnt(0x200);
+ pReference->onBatchFlag();
+ pReference->setCharCnt(0x200);
break;
case 2:
if (field_0xb2 != 0) {
@@ -2243,7 +2051,7 @@ bool jmessage_tSequenceProcessor::do_isReady() {
if (field_0xa4 > 0) {
field_0xa4--;
- return 0;
+ return false;
}
field_0xa6++;
@@ -2261,55 +2069,57 @@ bool jmessage_tSequenceProcessor::do_isReady() {
if (field_0xae == 5) {
field_0xa4 = g_MsgObject_HIO_c.mCharDisplayWeight_5;
}
- return 1;
+
+ return true;
}
- if (pRef->getPageEndCount() == pRef->getPageNum()) {
- return 1;
+ if (pReference->getPageEndCount() == pReference->getPageNum()) {
+ return true;
}
- pRef->setStopFlag(1);
+
+ pReference->setStopFlag(1);
mMouthCheck = 0;
field_0xaa++;
}
- #ifdef DEBUG
- }
- #endif
- return 0;
+ return false;
}
/* 8022BFE0-8022C1A0 226920 01C0+00 1/0 0/0 0/0 .text
* do_character__27jmessage_tSequenceProcessorFi */
-void jmessage_tSequenceProcessor::do_character(int c) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
+void jmessage_tSequenceProcessor::do_character(int iCharacter) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
if (field_0xac == 0) {
- if (JUTFont::isLeadByte_ShiftJIS(c)) {
- if (!isOutfontKanjiCode(c)) {
- pRef->addCharactor(changeKataToHira(change1ByteTo2Bytes(c)));
+ if (JUTFont::isLeadByte_ShiftJIS(iCharacter)) {
+ if (!isOutfontKanjiCode(iCharacter)) {
+ u16 character2Bytes = change1ByteTo2Bytes(iCharacter);
+ pReference->addCharactor(changeKataToHira(character2Bytes));
}
- } else if (c < 0x8800 && !isOutfontKanjiCode(c)) {
- pRef->addCharactor(changeKataToHira(c));
+ } else if (iCharacter < 0x8800 && !isOutfontKanjiCode(iCharacter)) {
+ pReference->addCharactor(changeKataToHira(iCharacter));
}
- pRef->addNowLightCount();
+
+ pReference->addNowLightCount();
}
if (field_0xb3 != 0) {
- cXyz actorPos = pRef->getActorPos();
+ cXyz actorPos = pReference->getActorPos();
messageSePlay(field_0xb4, field_0xb3, &actorPos);
field_0xb3 = 0;
}
- switch(c) {
+ switch(iCharacter) {
case '!':
mMouthCheck = 0;
field_0xb1 = 1;
break;
- case 10:
- pRef->addLineCount();
- pRef->addEndLineCount();
+ case '\n':
+ pReference->addLineCount();
+ pReference->addEndLineCount();
break;
default:
- if ((0x8140 <= c && c <= 0x81fc) || (0x839f <= c && c <= 0x879c)) {
+ if ((0x8140 <= iCharacter && iCharacter <= 0x81FC) || (0x839F <= iCharacter && iCharacter <= 0x879C)) {
mMouthCheck = 0;
field_0xb1 = 1;
}
@@ -2320,325 +2130,331 @@ void jmessage_tSequenceProcessor::do_character(int c) {
/* 8022C1A0-8022C8FC 226AE0 075C+00 2/0 0/0 0/0 .text
* do_tag__27jmessage_tSequenceProcessorFUlPCvUl */
bool jmessage_tSequenceProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_size) {
- jmessage_tReference* reference_p =
- (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
switch (i_tag & 0xFF0000) {
- case 0x10000: {
- cXyz pos = reference_p->getActorPos();
- messageSePlay(field_0xb4, i_tag & 0xFF, &pos);
+ case MSGTAG_GROUP(1): {
+ cXyz pos = pReference->getActorPos();
+ messageSePlay(field_0xb4, (i_tag & 0xFFFF) & 0xFF, &pos);
return true;
}
- case 0x20000:
- dComIfGp_setMesgCameraTagInfo(i_tag & 0xFF);
+ case MSGTAG_GROUP(2):
+ dComIfGp_setMesgCameraTagInfo((i_tag & 0xFFFF) & 0xFF);
return true;
- case 0xFF0000:
+ case MSGTAG_GROUP(255):
switch (i_tag) {
- case 0xFF0000:
- reference_p->setNowColorType(*(u8*)i_data);
+ case MSGTAG_COLOR:
+ pReference->setNowColorType(*(u8*)i_data & 0xFF);
return true;
- case 0xFF0001:
- reference_p->setNowTagScale(*(u16*)i_data);
+ case MSGTAG_SCALE:
+ pReference->setNowTagScale(*(u16*)i_data & 0xFFFF);
return true;
- case 0xFF0002:
+ case MSGTAG_RUBY:
case 0xFFFF02:
do_rubyset(i_data, i_size);
return true;
}
- case 0:
+ case MSGTAG_GROUP(0):
switch (i_tag) {
- case 0:
- case 0x22:
+ case MSGTAG_PLAYER_NAME:
+ case MSGTAG_HORSE_NAME:
push_word();
return true;
- case 0x35:
+ case MSGTAG_UNK_53:
JMessage::TSequenceProcessor::stack_pushCurrent(dMsgObject_getWord());
return true;
- case 0x29:
- JMessage::TSequenceProcessor::stack_pushCurrent(
- reference_p->getObjectPtr()->getSmellName());
+ case MSGTAG_SCENT_NAME: {
+ JMessage::TSequenceProcessor::stack_pushCurrent(pReference->getObjectPtr()->getSmellName());
return true;
- case 0x2b:
- JMessage::TSequenceProcessor::stack_pushCurrent(
- reference_p->getObjectPtr()->getPortalName());
+ }
+ case MSGTAG_PORTAL_NAME: {
+ JMessage::TSequenceProcessor::stack_pushCurrent(pReference->getObjectPtr()->getPortalName());
return true;
- case 0x2d:
- JMessage::TSequenceProcessor::stack_pushCurrent(
- reference_p->getObjectPtr()->getBombName());
+ }
+ case MSGTAG_BOMB_NAME: {
+ JMessage::TSequenceProcessor::stack_pushCurrent(pReference->getObjectPtr()->getBombName());
return true;
- case 0x3b:
- JMessage::TSequenceProcessor::stack_pushCurrent(
- reference_p->getObjectPtr()->getInsectName());
+ }
+ case MSGTAG_INSECT_NAME: {
+ JMessage::TSequenceProcessor::stack_pushCurrent(pReference->getObjectPtr()->getInsectName());
return true;
- case 0x3c:
- JMessage::TSequenceProcessor::stack_pushCurrent(
- reference_p->getObjectPtr()->getLetterName());
+ }
+ case MSGTAG_LETTER_NAME: {
+ JMessage::TSequenceProcessor::stack_pushCurrent(pReference->getObjectPtr()->getLetterName());
return true;
- case 0x3d:
+ }
+ case MSGTAG_LINE_DOWN:
return true;
- case 0x3e:
- case 0x3f:
+ case MSGTAG_CURRENT_LETTER_PAGE:
+ case MSGTAG_MAX_LETTER_PAGE:
push_word();
return true;
- case 1:
+ case MSGTAG_INSTANT:
field_0xb2 = 1;
- reference_p->setBatchColorFlag(1);
+ pReference->setBatchColorFlag(1);
return true;
- case 2:
+ case MSGTAG_TYPE:
field_0xb2 = 0;
return true;
- case 3:
- case 4:
- reference_p->setSendTimer(*(u16*)i_data);
- if (reference_p->getSendTimer() == 0) {
- reference_p->setSendFlag(3);
+ case MSGTAG_UNK_3:
+ case MSGTAG_AUTOBOX:
+ pReference->setSendTimer(*(u16*)i_data);
+ if (pReference->getSendTimer() == 0) {
+ pReference->setSendFlag(3);
} else {
- reference_p->setSendFlag(1);
+ pReference->setSendFlag(1);
}
return true;
- case 5:
- reference_p->setSendTimer(*(u16*)i_data);
- reference_p->setSendFlag(2);
+ case MSGTAG_BOXATMOST:
+ pReference->setSendTimer(*(u16*)i_data);
+ pReference->setSendFlag(2);
return true;
- case 0x36:
+ case MSGTAG_BOXATLEAST:
dMeter2Info_setMsgKeyWaitTimer(*(u16*)i_data);
- reference_p->setSendTimer(*(u16*)i_data);
- reference_p->setSendFlag(6);
+ pReference->setSendTimer(*(u16*)i_data);
+ pReference->setSendFlag(6);
return true;
- case 0x28:
- reference_p->setDemoFrame(*(u32*)i_data);
- reference_p->setSendFlag(4);
+ case MSGTAG_DEMOBOX:
+ pReference->setDemoFrame(*(u32*)i_data);
+ pReference->setSendFlag(4);
return true;
- case 6:
+ case MSGTAG_UNK_6:
field_0xa8 = *(u16*)i_data;
field_0xa4 = field_0xa8;
return true;
- case 7:
+ case MSGTAG_PAUSE:
field_0xa4 = *(u16*)i_data;
mMouthCheck = 0;
return true;
- case 8:
- if (reference_p->getSelectNum() == 0) {
- reference_p->setSelectNum(2);
- reference_p->setSelectType(0);
+ case MSGTAG_SELECT_2WAY:
+ if (pReference->getSelectNum() == 0) {
+ pReference->setSelectNum(2);
+ pReference->setSelectType(0);
field_0xb2 = 1;
}
if (*(u8*)i_data == 1) {
- reference_p->setSelectPos(field_0xad);
+ pReference->setSelectPos(field_0xad);
}
field_0xad++;
field_0xac = 1;
return true;
- case 9:
- if (reference_p->getSelectNum() == 0) {
- reference_p->setSelectNum(3);
- reference_p->setSelectType(0);
+ case MSGTAG_SELECT_3WAY:
+ if (pReference->getSelectNum() == 0) {
+ pReference->setSelectNum(3);
+ pReference->setSelectType(0);
field_0xb2 = 1;
}
if (*(u8*)i_data == 1) {
- reference_p->setSelectPos(field_0xad);
+ pReference->setSelectPos(field_0xad);
}
field_0xad++;
field_0xac = 1;
return true;
- case 0x1e:
- if (reference_p->getSelectNum() != 2 || reference_p->getSelectType() != 1) {
- reference_p->setSelectNum(2);
- reference_p->setSelectType(1);
+ case MSGTAG_INLINE_2_NEXT:
+ if (pReference->getSelectNum() != 2 || pReference->getSelectType() != 1) {
+ pReference->setSelectNum(2);
+ pReference->setSelectType(1);
}
field_0xb2 = 1;
return true;
- case 0x1f:
- if (reference_p->getSelectNum() != 2 || reference_p->getSelectType() != 1) {
- reference_p->setSelectNum(2);
- reference_p->setSelectType(1);
- reference_p->setSelectPos(0);
+ case MSGTAG_INLINE_2_FIRST:
+ if (pReference->getSelectNum() != 2 || pReference->getSelectType() != 1) {
+ pReference->setSelectNum(2);
+ pReference->setSelectType(1);
+ pReference->setSelectPos(0);
} else {
- reference_p->setSelectPos(1);
+ pReference->setSelectPos(1);
}
field_0xb2 = 1;
return true;
- case 0x33:
- if (reference_p->getSelectNum() != 3 || reference_p->getSelectType() != 1) {
- reference_p->setSelectNum(3);
- reference_p->setSelectType(1);
+ case MSGTAG_INLINE_3_NEXT:
+ if (pReference->getSelectNum() != 3 || pReference->getSelectType() != 1) {
+ pReference->setSelectNum(3);
+ pReference->setSelectType(1);
}
field_0xad++;
field_0xb2 = 1;
return true;
- case 0x34:
- if (reference_p->getSelectNum() != 3 || reference_p->getSelectType() != 1) {
- reference_p->setSelectNum(3);
- reference_p->setSelectType(1);
+ case MSGTAG_INLINE_3_FIRST:
+ if (pReference->getSelectNum() != 3 || pReference->getSelectType() != 1) {
+ pReference->setSelectNum(3);
+ pReference->setSelectType(1);
}
- reference_p->setSelectPos(field_0xad);
+ pReference->setSelectPos(field_0xad);
field_0xb2 = 1;
return true;
- case 0x20:
- do_character(10);
- JMessage::TSequenceProcessor::stack_pushCurrent(reference_p->getSelMsgPtr());
+ case MSGTAG_AWAIT_CHOICE:
+ do_character('\n');
+ JMessage::TSequenceProcessor::stack_pushCurrent(pReference->getSelMsgPtr());
return true;
- case 0x21:
+ case MSGTAG_UNK_33:
do_name1();
return true;
- case 10:
- case 0xb:
- case 0xc:
- case 0xd:
- case 0xe:
- case 0xf:
- case 0x10:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
- case 0x15:
- case 0x16:
- case 0x17:
- case 0x18:
- case 0x19:
- case 0x1a:
- case 0x1b:
- case 0x1c:
- case 0x1d:
- case 0x23:
- case 0x24:
- case 0x27:
- case 0x2a:
- case 0x2c:
- case 0x2e:
- case 0x2f:
- case 0x30:
- case 0x39:
- case 0x3a:
+ case MSGTAG_ABTN:
+ case MSGTAG_BBTN:
+ case MSGTAG_CSTICK:
+ case MSGTAG_LBTN:
+ case MSGTAG_RBTN:
+ case MSGTAG_XBTN:
+ case MSGTAG_YBTN:
+ case MSGTAG_ZBTN:
+ case MSGTAG_DPAD:
+ case MSGTAG_STICK_CROSS:
+ case MSGTAG_LEFT_ARROW:
+ case MSGTAG_RIGHT_ARROW:
+ case MSGTAG_UP_ARROW:
+ case MSGTAG_DOWN_ARROW:
+ case MSGTAG_STICK_UP:
+ case MSGTAG_STICK_DOWN:
+ case MSGTAG_STICK_LEFT:
+ case MSGTAG_STICK_RIGHT:
+ case MSGTAG_STICK_VERTICAL:
+ case MSGTAG_STICK_HORIZONTAL:
+ case MSGTAG_RED_TARGET:
+ case MSGTAG_YELLOW_TARGET:
+ case MSGTAG_ABTN_STAR:
+ case MSGTAG_WHITE_TARGET:
+ case MSGTAG_WARP_ICON:
+ case MSGTAG_XYBTN:
+ case MSGTAG_YXBTN:
+ case MSGTAG_BOMB_BAG_ICON:
+ case MSGTAG_HEART:
+ case MSGTAG_QUAVER:
do_space(i_tag);
return true;
- case 0x25:
- reference_p->decideOutFontRupeeColor(0);
- dMsgObject_c* object_p = reference_p->getObjectPtr();
+ case MSGTAG_INPUT_VALUE: {
+ pReference->decideOutFontRupeeColor(0);
+ dMsgObject_c* object_p = pReference->getObjectPtr();
object_p->setInputValue(0);
object_p->onInputFlag();
- reference_p->resetInputFigure();
- reference_p->setSendFlag(5);
+ pReference->resetInputFigure();
+ pReference->setSendFlag(5);
if (*(u32*)i_data == 1) {
dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[80]);
}
return true;
- case 0x26:
- reference_p->onButtonTagStopFlag();
+ }
+ case MSGTAG_ACKNOWLEDGE:
+ pReference->onButtonTagStopFlag();
return true;
- case 0x31:
- char buffer1[40];
- u8 sel_bomb_num = reference_p->getObjectPtr()->getSelectBombNum();
- dMsgUnit_setTag(7, sel_bomb_num, buffer1);
- strcpy((char*)reference_p->getWord(field_0xb5), buffer1);
+ case MSGTAG_BOMB_NUM: {
+ char buffer[40];
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+
+ u8 sel_bomb_num = objectPtr->getSelectBombNum();
+ dMsgUnit_setTag(7, sel_bomb_num, buffer);
+ strcpy((char*)pReference->getWord(field_0xb5), buffer);
push_word();
return true;
- case 0x32:
- char buffer2[40];
- s16 sel_bomb_price = reference_p->getObjectPtr()->getSelectBombPrice();
- dMsgUnit_setTag(1, sel_bomb_price, buffer2);
- strcpy((char*)reference_p->getWord(field_0xb5), buffer2);
+ }
+ case MSGTAG_BOMB_PRICE: {
+ char buffer[40];
+ dMsgObject_c* objectPtr = pReference->getObjectPtr();
+
+ s16 sel_bomb_price = objectPtr->getSelectBombPrice();
+ dMsgUnit_setTag(1, sel_bomb_price, buffer);
+ strcpy((char*)pReference->getWord(field_0xb5), buffer);
push_word();
return true;
- case 0x37:
- case 0x38:
+ }
+ case MSGTAG_BOMB_MAX:
+ case MSGTAG_ARROW_MAX:
push_word();
return true;
}
- case 0x40000:
+ case MSGTAG_GROUP(4):
switch (i_tag & 0xFF00FFFF) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
+ case MSGTAG_GLYPH_DOLLARSIGN:
+ case MSGTAG_GLYPH_BACKSLASH:
+ case MSGTAG_GLYPH_ATMARK:
+ case MSGTAG_GLYPH_SHARP:
+ case MSGTAG_GLYPH_FLAT:
+ case MSGTAG_GLYPH_SQRT:
+ case MSGTAG_GLYPH_PERCENT:
+ case MSGTAG_GLYPH_HECTARE:
+ case MSGTAG_GLYPH_ARE:
+ case MSGTAG_GLYPH_LITRE:
+ case MSGTAG_GLYPH_WATT:
+ case MSGTAG_GLYPH_CALORIE:
+ case MSGTAG_GLYPH_DOLLAR:
+ case MSGTAG_GLYPH_CENT:
push_word();
return true;
}
- case 0x50000:
+ case MSGTAG_GROUP(5):
switch (i_tag & 0xFF00FFFF) {
- case 0:
+ case MSGTAG_TIME_INFO:
case 1:
case 2:
- case 3:
+ case MSGTAG_INSECT_INFO:
case 4:
case 5:
case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
+ case MSGTAG_RIVER_POINTS:
+ case MSGTAG_FISH_LENGTH:
+ case MSGTAG_FUNDRAISE_REMAIN:
+ case MSGTAG_NEW_LETTER_NUM:
+ case MSGTAG_POE_NUM:
+ case MSGTAG_BALLOON_SCORE:
+ case MSGTAG_FISH_COUNT:
+ case MSGTAG_ROLLGOAL_LV:
push_word();
return true;
}
- case 0x60000:
+ case MSGTAG_GROUP(6):
switch (i_tag & 0xFF00FFFF) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
+ case MSGTAG_PLAYER_GENITIV:
+ case MSGTAG_HORSE_GENITIV:
+ case MSGTAG_MALE_ICON:
+ case MSGTAG_FEMALE_ICON:
+ case MSGTAG_STAR_ICON:
+ case MSGTAG_REFMARK:
+ case MSGTAG_THIN_LEFT_ARROW:
+ case MSGTAG_THIN_RIGHT_ARROW:
+ case MSGTAG_THIN_UP_ARROW:
+ case MSGTAG_THIN_DOWN_ARROW:
push_word();
return true;
- case 10:
- case 11:
+ case MSGTAG_BULLET:
+ case MSGTAG_BULLET_SPACE:
do_space(i_tag);
return true;
}
- case 0x30000:
+ case MSGTAG_GROUP(3):
switch (i_tag & 0xFF00FFFF) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
+ case MSGTAG_WII_ABTN:
+ case MSGTAG_WII_BBTN:
+ case MSGTAG_WII_HOMEBTN:
+ case MSGTAG_WII_MINUSBTN:
+ case MSGTAG_WII_PLUSBTN:
+ case MSGTAG_WII_1BTN:
+ case MSGTAG_WII_2BTN:
+ case MSGTAG_WII_DPAD_ITEM:
+ case MSGTAG_WII_DPAD_UP:
+ case MSGTAG_WII_DPAD_DOWN:
+ case MSGTAG_WII_DPAD_HORIZONTAL:
+ case MSGTAG_WII_DPAD_RIGHT:
+ case MSGTAG_WII_DPAD_LEFT:
+ case MSGTAG_WII_WIIMOTE:
+ case MSGTAG_WII_RETICULE:
+ case MSGTAG_WII_NUNCHUK:
+ case MSGTAG_WII_WIIMOTE2:
+ case MSGTAG_WII_FAIRY:
+ case MSGTAG_WII_CBTN:
+ case MSGTAG_WII_ZBTN:
do_space(i_tag);
return true;
- case 0:
+ case MSGTAG_WII_MSGID_OVERRIDE:
return true;
}
}
@@ -2654,104 +2470,107 @@ bool jmessage_tSequenceProcessor::do_jump_isReady() {
/* 8022C904-8022C908 227244 0004+00 1/1 0/0 0/0 .text do_name1__27jmessage_tSequenceProcessorFv */
void jmessage_tSequenceProcessor::do_name1() {
- /* empty function */
+ const char* name = dComIfGs_getPlayerName();
}
/* 8022C908-8022CA24 227248 011C+00 2/1 0/0 0/0 .text do_space__27jmessage_tSequenceProcessorFUl
*/
-void jmessage_tSequenceProcessor::do_space(u32 param_1) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- pRef->addNowLightCount();
+void jmessage_tSequenceProcessor::do_space(u32 i_tag) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ pReference->addNowLightCount();
+
if (field_0xac == 0) {
- u16 uVar1 = 0xffff;
- switch (param_1) {
- case 10:
- uVar1 = 0xffe0;
+ u16 character = 0xFFFF;
+ switch (i_tag) {
+ case MSGTAG_ABTN:
+ character = 0xFFE0;
break;
- case 0xb:
- uVar1 = 0xffe1;
+ case MSGTAG_BBTN:
+ character = 0xFFE1;
break;
- case 0xc:
- uVar1 = 0xffe2;
+ case MSGTAG_CSTICK:
+ character = 0xFFE2;
break;
- case 0xd:
- uVar1 = 0xffe3;
+ case MSGTAG_LBTN:
+ character = 0xFFE3;
break;
- case 0xe:
- uVar1 = 0xffe4;
+ case MSGTAG_RBTN:
+ character = 0xFFE4;
break;
- case 0xf:
- uVar1 = 0xffe5;
+ case MSGTAG_XBTN:
+ character = 0xFFE5;
break;
- case 0x10:
- uVar1 = 0xffe6;
+ case MSGTAG_YBTN:
+ character = 0xFFE6;
break;
- case 0x11:
- uVar1 = 0xffe7;
+ case MSGTAG_ZBTN:
+ character = 0xFFE7;
break;
- case 0x12:
- uVar1 = 0xffe8;
+ case MSGTAG_DPAD:
+ character = 0xFFE8;
break;
- case 0x13:
- uVar1 = 0xffe9;
+ case MSGTAG_STICK_CROSS:
+ character = 0xFFE9;
break;
- case 0x14:
- uVar1 = 0xffea;
+ case MSGTAG_LEFT_ARROW:
+ character = 0xFFEA;
break;
- case 0x15:
- uVar1 = 0xffeb;
+ case MSGTAG_RIGHT_ARROW:
+ character = 0xFFEB;
break;
- case 0x16:
- uVar1 = 0xffec;
+ case MSGTAG_UP_ARROW:
+ character = 0xFFEC;
break;
- case 0x17:
- uVar1 = 0xffed;
+ case MSGTAG_DOWN_ARROW:
+ character = 0xFFED;
break;
- case 0x18:
- uVar1 = 0xffee;
+ case MSGTAG_STICK_UP:
+ character = 0xFFEE;
break;
- case 0x19:
- uVar1 = 0xfff0;
+ case MSGTAG_STICK_DOWN:
+ character = 0xFFF0;
break;
- case 0x1a:
- uVar1 = 0xfff1;
+ case MSGTAG_STICK_LEFT:
+ character = 0xFFF1;
break;
- case 0x1b:
- uVar1 = 0xfff2;
+ case MSGTAG_STICK_RIGHT:
+ character = 0xFFF2;
break;
- case 0x1c:
- uVar1 = 0xfff3;
+ case MSGTAG_STICK_VERTICAL:
+ character = 0xFFF3;
break;
- case 0x1d:
- uVar1 = 0xfff4;
+ case MSGTAG_STICK_HORIZONTAL:
+ character = 0xFFF4;
break;
- case 0x39:
- uVar1 = 0xfff5;
+ case MSGTAG_HEART:
+ character = 0xFFF5;
break;
- case 0x3a:
- uVar1 = 0xfff6;
+ case MSGTAG_QUAVER:
+ character = 0xFFF6;
}
- pRef->addCharactor(uVar1);
+
+ pReference->addCharactor(character);
}
}
/* 8022CA24-8022CAAC 227364 0088+00 1/1 0/0 0/0 .text
* do_rubyset__27jmessage_tSequenceProcessorFPCvUl */
-// NONMATCHING - or logic
-void jmessage_tSequenceProcessor::do_rubyset(void const* param_0, u32 param_1) {
+void jmessage_tSequenceProcessor::do_rubyset(void const* i_data, u32 i_size) {
if (field_0xac == 0) {
- u8 size = param_1 - 1;
- u8* r30 = (u8*)param_0;
- int i = 0;
- r30++;
- jmessage_tReference* pRef = (jmessage_tReference*)JMessage::TSequenceProcessor::getReference();
- while (i < size) {
- u8 x[3];
- x[0] = r30[i++];
- x[1] = r30[i++];
- x[2] = 0;
- int kata = (((s8)x[0] & 0xff) << 8) | ((s8)x[1] & 0xff);
- pRef->addCharactor(changeKataToHira(kata));
+ u8 length = i_size - 1;
+ u8* pRuby = (u8*)i_data;
+ int index = 0;
+ pRuby++;
+
+ jmessage_tReference* pReference = (jmessage_tReference*)JMessage::TSequenceProcessor::getReference();
+ while (index < length) {
+ u8 bytes[3];
+ bytes[0] = pRuby[index++];
+ bytes[1] = pRuby[index++];
+ bytes[2] = 0;
+
+ int character = (((s8)bytes[0] & 0xFF) << 8) | ((s8)bytes[1] & 0xFF);
+ pReference->addCharactor(changeKataToHira(character));
}
}
}
@@ -2759,64 +2578,67 @@ void jmessage_tSequenceProcessor::do_rubyset(void const* param_0, u32 param_1) {
/* 8022CAAC-8022CB10 2273EC 0064+00 1/1 0/0 0/0 .text push_word__27jmessage_tSequenceProcessorFv
*/
void jmessage_tSequenceProcessor::push_word() {
- jmessage_tReference* pRef = (jmessage_tReference*)JMessage::TSequenceProcessor::getReference();
- JMessage::TSequenceProcessor::stack_pushCurrent(pRef->getWord(field_0xb5));
+ jmessage_tReference* pReference = (jmessage_tReference*)JMessage::TSequenceProcessor::getReference();
+ JMessage::TSequenceProcessor::stack_pushCurrent(pReference->getWord(field_0xb5));
field_0xb5++;
- pRef->setNowWordCount(field_0xb5);
+ pReference->setNowWordCount(field_0xb5);
}
/* 8022CB10-8022CBE4 227450 00D4+00 2/2 0/0 0/0 .text
* messageSePlay__27jmessage_tSequenceProcessorFUcUcP4cXyz */
-void jmessage_tSequenceProcessor::messageSePlay(u8 param_1, u8 param_2, cXyz* param_3) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- dMsgObject_c* pObject = pRef->getObjectPtr();
- if (param_3 != NULL && pObject->isNoDemoFlag()) {
+void jmessage_tSequenceProcessor::messageSePlay(u8 i_speaker, u8 i_mood, cXyz* i_pos) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ dMsgObject_c* pObject = pReference->getObjectPtr();
+
+ if (i_pos != NULL && pObject->isNoDemoFlag()) {
if (dComIfGp_roomControl_getStayNo() != 0) {
s8 reverb = dComIfGp_getReverb(dComIfGp_roomControl_getStayNo());
- OS_REPORT("message se play1===>%d\n", param_2);
- Z2GetSpeechMgr2()->playOneShotVoice(param_1, param_2, param_3, reverb);
+ OS_REPORT("message se play1===>%d\n", i_mood);
+ Z2GetSpeechMgr2()->playOneShotVoice(i_speaker, i_mood, i_pos, reverb);
} else {
- OS_REPORT("message se play2===>%d\n", param_2);
- Z2GetSpeechMgr2()->playOneShotVoice(param_1, param_2, param_3, 0);
+ OS_REPORT("message se play2===>%d\n", i_mood);
+ Z2GetSpeechMgr2()->playOneShotVoice(i_speaker, i_mood, i_pos, 0);
}
} else {
if (dComIfGp_roomControl_getStayNo() != 0) {
s8 reverb = dComIfGp_getReverb(dComIfGp_roomControl_getStayNo());
- OS_REPORT("message se play3===>%d\n", param_2);
- Z2GetSpeechMgr2()->playOneShotVoice(param_1, param_2, NULL, reverb);
+ OS_REPORT("message se play3===>%d\n", i_mood);
+ Z2GetSpeechMgr2()->playOneShotVoice(i_speaker, i_mood, NULL, reverb);
} else {
- OS_REPORT("message se play4===>%d\n", param_2);
- Z2GetSpeechMgr2()->playOneShotVoice(param_1, param_2, NULL, 0);
+ OS_REPORT("message se play4===>%d\n", i_mood);
+ Z2GetSpeechMgr2()->playOneShotVoice(i_speaker, i_mood, NULL, 0);
}
}
}
/* 8022CBE4-8022CBE8 227524 0004+00 1/0 0/0 0/0 .text
* do_jump__27jmessage_tSequenceProcessorFPCvPCc */
-void jmessage_tSequenceProcessor::do_jump(void const* param_0, char const* param_1) {}
+void jmessage_tSequenceProcessor::do_jump(void const* pEntry, char const* pszText) {}
/* 8022CBE8-8022CCB0 227528 00C8+00 2/2 0/0 0/0 .text
* calcStringLength__27jmessage_tSequenceProcessorFv */
void jmessage_tSequenceProcessor::calcStringLength() {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- pRef->onSelectSetCancelFlag();
- mMeasureProcessor.process_messageEntryText(this, field_0x9c, field_0xa0);
- pRef->offSelectSetCancelFlag();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ pReference->onSelectSetCancelFlag();
+ mMeasureProcessor.process_messageEntryText(this, mpEntry, mpText);
+ pReference->offSelectSetCancelFlag();
}
/* 8022CCB0-8022CDC8 2275F0 0118+00 0/0 1/1 0/0 .text
* __ct__28jmessage_tRenderingProcessorFPC19jmessage_tReference */
-jmessage_tRenderingProcessor::jmessage_tRenderingProcessor(jmessage_tReference const* param_0) : JMessage::TRenderingProcessor(param_0) {
- mpOutFont = 0;
- mCharInfoPtr = 0;
+jmessage_tRenderingProcessor::jmessage_tRenderingProcessor(jmessage_tReference const* pReference) : JMessage::TRenderingProcessor(pReference) {
+ mpOutFont = NULL;
+ mCharInfoPtr = NULL;
mpCharInfoCnt = 0;
field_0x44 = 0.0f;
field_0x48 = field_0x4c = 0.0f;
mTextInitPosX = mTextInitPosY = 0.0f;
mTextInitScaleX = mTextInitScaleY = 1.0f;
+
for (int i = 0; i < 3; i++) {
mSelTextInitPosX[i] = mSelTextInitPosY[i] = 0.0f;
}
+
field_0x11c = 0;
field_0x128 = 0.0f;
field_0x12c = 0.0f;
@@ -2831,17 +2653,18 @@ jmessage_tRenderingProcessor::jmessage_tRenderingProcessor(jmessage_tReference c
field_0x14a = 0;
field_0x13c = 0;
field_0x13e = 0;
- field_0x184[2] = 0;
- field_0x184[1] = 0;
- field_0x184[0] = 0;
+ field_0x184[0] = field_0x184[1] = field_0x184[2] = 0;
field_0x14d = 0;
field_0x14e = 0;
- mCCColor = 0xffffffff;
- mGCColor = 0xffffffff;
+
+ mCCColor = 0xFFFFFFFF;
+ mGCColor = 0xFFFFFFFF;
+
field_0x14f = 0;
mColorNo = 0;
field_0x151 = 0;
field_0x138 = 0.0f;
+
for (int i = 0; i < 40; i++) {
field_0x7c[i] = 0.0f;
}
@@ -2851,17 +2674,15 @@ jmessage_tRenderingProcessor::jmessage_tRenderingProcessor(jmessage_tReference c
*/
void jmessage_tRenderingProcessor::do_reset() {}
-/* ############################################################################################## */
-/* 80399610-80399610 025C70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80399617 = "";
-#pragma pop
+static void dummyString2() {
+ DEAD_STRING("");
+}
/* 8022CDCC-8022CFD8 22770C 020C+00 1/0 0/0 0/0 .text
* do_begin__28jmessage_tRenderingProcessorFPCvPCc */
-void jmessage_tRenderingProcessor::do_begin(void const* param_0, char const* param_1) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
+void jmessage_tRenderingProcessor::do_begin(void const* pEntry, char const* pszText) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
field_0x128 = 0.0f;
field_0x12c = 0.0f;
field_0x130 = 0.0f;
@@ -2875,44 +2696,54 @@ void jmessage_tRenderingProcessor::do_begin(void const* param_0, char const* par
field_0x13c = 0;
field_0x13e = 0;
field_0x138 = 0.0f;
- field_0x184[2] = 0;
- field_0x184[1] = 0;
- field_0x184[0] = 0;
- if (mCharInfoPtr != 0) {
+ field_0x184[0] = field_0x184[1] = field_0x184[2] = 0;
+
+ if (mCharInfoPtr != NULL) {
mpCharInfoCnt = (s16*)((u8*)mCharInfoPtr + 0x1068);
*mpCharInfoCnt = 0;
}
+
field_0x14d = 0;
field_0x140 = 0;
field_0x44 = 1.0f;
field_0x14e = 0;
- mCCColor = 0xffffffff;
- mGCColor = 0xffffffff;
- field_0x14f = pRef->getTopWordCount();
+
+ mCCColor = 0xFFFFFFFF;
+ mGCColor = 0xFFFFFFFF;
+
+ field_0x14f = pReference->getTopWordCount();
field_0x187 = 0;
field_0x48 = mTextInitPosX;
field_0x4c = mTextInitPosY;
field_0x151 = 0;
+
mpOutFont->initialize();
- for (int i = 0; i < 0x28; i++) {
+
+ for (int i = 0; i < 40; i++) {
field_0x7c[i] = 0.0f;
}
+
field_0x11c = 0;
- strcpy(pRef->getTextPtr(), "");
- strcpy(pRef->getTextSPtr(), "");
- strcpy(pRef->getRubyPtr(), "");
+ strcpy(pReference->getTextPtr(), "");
+ strcpy(pReference->getTextSPtr(), "");
+ strcpy(pReference->getRubyPtr(), "");
+
for (int i = 0; i < 3; i++) {
- strcpy(pRef->getSelTextPtr(i), "");
- strcpy(pRef->getSelRubyPtr(i), "");
+ strcpy(pReference->getSelTextPtr(i), "");
+ strcpy(pReference->getSelRubyPtr(i), "");
}
- if (1.0f != pRef->getDistanceScale()) {
+
+ if (1.0f != pReference->getDistanceScale()) {
do_scale(field_0x44);
}
- do_color(pRef->getTopColorType());
- pRef->resetDrawLightCount();
+
+ do_color(pReference->getTopColorType());
+ pReference->resetDrawLightCount();
+
do_widthcenter();
do_heightcenter();
- field_0x13c = pRef->getTopTagScale();
+
+ field_0x13c = pReference->getTopTagScale();
if (field_0x13c != 0) {
do_scale(field_0x13c / 100.0f);
}
@@ -2920,293 +2751,305 @@ void jmessage_tRenderingProcessor::do_begin(void const* param_0, char const* par
/* 8022CFD8-8022D0A0 227918 00C8+00 1/0 0/0 0/0 .text do_end__28jmessage_tRenderingProcessorFv */
void jmessage_tRenderingProcessor::do_end() {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
if (dMsgObject_getSelectWordFlag() != 0) {
for (int i = 0; i < dMsgObject_getSelectWordFlag(); i++) {
- char acStack_e0[200];
- strcpy(acStack_e0, dMsgObject_getSelectWord(i));
- if (pRef->getSelectNum() == 2) {
- strcat(pRef->getSelTextPtr(i + 1), acStack_e0);
- } else {
- if (pRef->getSelectNum() == 3) {
- strcat(pRef->getSelTextPtr(i), acStack_e0);
- }
+ char buffer[200];
+ strcpy(buffer, dMsgObject_getSelectWord(i));
+
+ if (pReference->getSelectNum() == 2) {
+ strcat(pReference->getSelTextPtr(i + 1), buffer);
+ } else if (pReference->getSelectNum() == 3) {
+ strcat(pReference->getSelTextPtr(i), buffer);
}
}
}
- u8 batchColorFlag = pRef->getBatchColorFlag();
+
+ u8 batchColorFlag = pReference->getBatchColorFlag();
if (batchColorFlag != 0) {
- pRef->setBatchColorFlag(batchColorFlag - 1);
+ batchColorFlag--;
+ pReference->setBatchColorFlag(batchColorFlag);
}
}
/* 8022D0A0-8022D74C 2279E0 06AC+00 1/0 0/0 0/0 .text
* do_character__28jmessage_tRenderingProcessorFi */
-void jmessage_tRenderingProcessor::do_character(int param_1) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- JUTFont* pFont = pRef->getFont();
+void jmessage_tRenderingProcessor::do_character(int i_character) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ JUTFont* pFont = pReference->getFont();
+
char local_d4[3];
local_d4[2] = 0;
- if ((param_1 & 0xff00) != 0) {
- local_d4[0] = ((param_1 & 0xff00) >> 8);
- local_d4[1] = param_1 & 0xff;
+
+ if ((i_character & 0xFF00) != 0) {
+ local_d4[0] = ((i_character & 0xFF00) >> 8);
+ local_d4[1] = i_character & 0xFF;
} else {
- local_d4[0] = param_1 & 0xff;
+ local_d4[0] = i_character & 0xFF;
local_d4[1] = 0;
}
- if (param_1 == 10) {
+
+ if (i_character == 10) {
field_0x142++;
+
if (field_0x14e != 0) {
field_0x48 = mSelTextInitPosX[field_0x14e - 1];
} else {
field_0x48 = mTextInitPosX;
}
- field_0x4c = field_0x4c + pRef->getLineSpace();
- if (field_0x140 != 0 &&
- pRef->getNowPageType() != 4 &&
- pRef->getNowPageType() != 5)
+
+ field_0x4c = field_0x4c + pReference->getLineSpace();
+ if (field_0x140 != 0 && pReference->getNowPageType() != 4 && pReference->getNowPageType() != 5)
{
if (field_0x44 > 1.0f) {
field_0x44 = 1.0f;
}
field_0x140 = 0;
}
- do_strcat((char*)local_d4, true, true, false);
+
+ do_strcat(local_d4, true, true, false);
field_0x12c = 0.0f;
+
if (field_0x14e != 0) {
- do_rubystrcat((char*)local_d4, pRef->getSelRubyPtr(field_0x14e - 1), pRef->getSelRubyCharSpace(), 0.0f);
+ do_rubystrcat(local_d4, pReference->getSelRubyPtr(field_0x14e - 1), pReference->getSelRubyCharSpace(), 0.0f);
} else {
- do_rubystrcat((char*)local_d4, pRef->getRubyPtr(), pRef->getRubyCharSpace(), 0.0f);
- pRef->addDrawLightCount();
+ do_rubystrcat(local_d4, pReference->getRubyPtr(), pReference->getRubyCharSpace(), 0.0f);
+ pReference->addDrawLightCount();
}
+
do_widthcenter();
do_heightcenter();
} else {
- f32 fVar1;
+ f32 var_f31;
if (field_0x187 == 0) {
- fVar1 = pRef->getFontSizeX() / pFont->getCellWidth();
+ var_f31 = pReference->getFontSizeX() / pFont->getCellWidth();
if (1.0f != field_0x44) {
- s16 iVar9 = 0.5f + field_0x44 * pRef->getFontSizeX();
- fVar1 = (f32)iVar9 / (f32)pFont->getCellWidth();
+ s16 iVar9 = 0.5f + field_0x44 * pReference->getFontSizeX();
+ var_f31 = (f32)iVar9 / (f32)pFont->getCellWidth();
}
- field_0x7c[field_0x142] = fVar1 * pFont->getOffset(param_1);
+ field_0x7c[field_0x142] = var_f31 * pFont->getOffset(i_character);
field_0x48 += field_0x7c[field_0x142];
field_0x187 = 1;
}
if (field_0x14e != 0) {
- fVar1 = pRef->getSelFontSize() / pFont->getCellWidth();
- field_0x48 += (fVar1 * (field_0x44 * pFont->getWidth(param_1)) + pRef->getSelCharSpace());
+ var_f31 = pReference->getSelFontSize() / pFont->getCellWidth();
+ field_0x48 += (var_f31 * (field_0x44 * pFont->getWidth(i_character)) + pReference->getSelCharSpace());
} else {
- pRef->addDrawLightCount();
- fVar1 = pRef->getFontSizeX() / pFont->getCellWidth();
- if (checkCharInfoCharactor(param_1) && mCharInfoPtr != NULL) {
- f32 cellWidth = pFont->getCellWidth();
- f32 dVar14 = pFont->getWidth() / cellWidth;
- f32 dVar13 = fVar1 * (field_0x44 * pFont->getWidth(param_1));
- f32 dVar17 = dVar14 * (field_0x44 * pRef->getFontSizeY());
- f32 fVar1 = 1.0f;
- if (param_1 == 0x8145) {
- fVar1 = 0.3f;
+ pReference->addDrawLightCount();
+ var_f31 = pReference->getFontSizeX() / pFont->getCellWidth();
+
+ if (checkCharInfoCharactor(i_character) && mCharInfoPtr != NULL) {
+ f32 var_f29 = (f32)pFont->getWidth() / pFont->getCellWidth();
+ f32 var_f28 = var_f31 * (field_0x44 * pFont->getWidth(i_character));
+ f32 var_f27 = var_f29 * (field_0x44 * pReference->getFontSizeY());
+
+ f32 var_f30 = 1.0f;
+ if (i_character == 0x8145) {
+ var_f30 = 0.3f;
}
- f32 fVar5 = mTextInitPosY + mTextInitScaleY * (field_0x4c - mTextInitPosY);
- f32 fVar6 = mTextInitPosX + mTextInitScaleX * (field_0x48 - mTextInitPosX);
- getCharInfo(0.5f + (fVar6 + (0.5f * dVar13)),
- field_0x138 + (fVar5 + 0.5f * dVar17),
- field_0x44 * fVar1, field_0x44 * fVar1, 1.0f);
+
+ f32 var_f26 = mTextInitPosY + mTextInitScaleY * (field_0x4c - mTextInitPosY);
+ f32 var_f25 = mTextInitPosX + mTextInitScaleX * (field_0x48 - mTextInitPosX);
+ getCharInfo(0.5f + (var_f25 + (0.5f * var_f28)),
+ field_0x138 + (var_f26 + 0.5f * var_f27),
+ field_0x44 * var_f30, field_0x44 * var_f30, 1.0f);
}
- f32 dVar12 = pRef->getCharSpace();
- fVar1 = pRef->getFontSizeX() / pFont->getCellWidth();
+
+ f32 var_f24 = pReference->getCharSpace();
+ var_f31 = pReference->getFontSizeX() / pFont->getCellWidth();
if (1.0f != field_0x44) {
- s16 iVar9 = 0.5f + field_0x44 * pRef->getFontSizeX();
- fVar1 = (f32)iVar9 / (f32)pFont->getCellWidth();
+ s16 iVar9 = 0.5f + field_0x44 * pReference->getFontSizeX();
+ var_f31 = (f32)iVar9 / (f32)pFont->getCellWidth();
}
- field_0x48 += dVar12 + (fVar1 * pFont->getWidth(param_1));
+ field_0x48 += var_f24 + (var_f31 * pFont->getWidth(i_character));
}
if (field_0x14c != 0) {
--field_0x14c;
if (field_0x14c == 0) {
if (field_0x14e != 0) {
- f32 dVar13 =
- (field_0x48 - mSelTextInitPosX[field_0x14e - 1] - pRef->getSelCharSpace());
- do_rubystrcat(field_0x152, pRef->getSelRubyPtr(field_0x14e - 1),
- pRef->getSelRubyCharSpace(), dVar13);
+ f32 var_f23 = (field_0x48 - mSelTextInitPosX[field_0x14e - 1] - pReference->getSelCharSpace());
+ do_rubystrcat(field_0x152, pReference->getSelRubyPtr(field_0x14e - 1),
+ pReference->getSelRubyCharSpace(), var_f23);
} else {
- f32 dVar13 = (field_0x48 - mTextInitPosX) - pRef->getCharSpace();
- do_rubystrcat(field_0x152, pRef->getRubyPtr(), pRef->getRubyCharSpace(),
- dVar13);
+ f32 var_f22 = (field_0x48 - mTextInitPosX) - pReference->getCharSpace();
+ do_rubystrcat(field_0x152, pReference->getRubyPtr(), pReference->getRubyCharSpace(),
+ var_f22);
}
}
}
- do_strcat((char*)local_d4, true, true, false);
+
+ do_strcat(local_d4, true, true, false);
}
}
/* 8022D74C-8022E12C 22808C 09E0+00 3/0 0/0 0/0 .text
* do_tag__28jmessage_tRenderingProcessorFUlPCvUl */
-bool jmessage_tRenderingProcessor::do_tag(u32 param_1, void const* param_2, u32 param_3) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- switch(param_1 & 0xff0000) {
- case 0x10000:
- case 0x20000:
+bool jmessage_tRenderingProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_size) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
+ switch(i_tag & 0xFF0000) {
+ case MSGTAG_GROUP(1):
+ case MSGTAG_GROUP(2):
return 1;
- case 0xff0000:
- switch (param_1) {
- case 0xff0000:
- do_color(*(u8*)param_2 & 0xff);
+ case MSGTAG_GROUP(255):
+ switch (i_tag) {
+ case MSGTAG_COLOR:
+ do_color(*(u8*)i_data & 0xFF);
return 1;
- case 0xff0001:
- field_0x13c = *(u16*)param_2 & 0xffff;
+ case MSGTAG_SCALE:
+ field_0x13c = *(u16*)i_data & 0xFFFF;
do_scale(field_0x13c / 100.0f);
return 1;
- case 0xff0002:
- case 0xffff02:
- do_rubyset(param_2, param_3);
+ case MSGTAG_RUBY:
+ case 0xFFFF02:
+ do_rubyset(i_data, i_size);
return 1;
}
- case 0:
- switch (param_1) {
- case 0:
- case 0x22:
+ case MSGTAG_GROUP(0):
+ switch (i_tag) {
+ case MSGTAG_PLAYER_NAME:
+ case MSGTAG_HORSE_NAME:
push_word();
return 1;
- case 0x35:
+ case MSGTAG_UNK_53:
stack_pushCurrent(dMsgObject_getWord());
field_0x151 = dMsgObject_getSelectWordFlag();
return 1;
- case 0x29:
- stack_pushCurrent(pRef->getObjectPtr()->getSmellName());
+ case MSGTAG_SCENT_NAME:
+ stack_pushCurrent(pReference->getObjectPtr()->getSmellName());
return 1;
- case 0x2b:
- stack_pushCurrent(pRef->getObjectPtr()->getPortalName());
+ case MSGTAG_PORTAL_NAME:
+ stack_pushCurrent(pReference->getObjectPtr()->getPortalName());
return 1;
- case 0x2d:
- stack_pushCurrent(pRef->getObjectPtr()->getBombName());
+ case MSGTAG_BOMB_NAME:
+ stack_pushCurrent(pReference->getObjectPtr()->getBombName());
return 1;
- case 0x3b:
- stack_pushCurrent(pRef->getObjectPtr()->getInsectName());
+ case MSGTAG_INSECT_NAME:
+ stack_pushCurrent(pReference->getObjectPtr()->getInsectName());
return 1;
- case 0x3c:
- stack_pushCurrent(pRef->getObjectPtr()->getLetterName());
+ case MSGTAG_LETTER_NAME:
+ stack_pushCurrent(pReference->getObjectPtr()->getLetterName());
return 1;
- case 0x3d:
- do_linedown(*(u16*)param_2);
+ case MSGTAG_LINE_DOWN:
+ do_linedown(*(u16*)i_data);
return 1;
- case 0x3e:
- case 0x3f:
+ case MSGTAG_CURRENT_LETTER_PAGE:
+ case MSGTAG_MAX_LETTER_PAGE:
push_word();
return 1;
- case 8:
+ case MSGTAG_SELECT_2WAY:
if (field_0x14e == 0) {
field_0x14e = 1;
}
- case 9:
+ case MSGTAG_SELECT_3WAY:
field_0x14e++;
field_0x11c = 0;
field_0x48 = mSelTextInitPosX[field_0x14e - 1];
do_selwidthcenter(field_0x14e - 1);
return 1;
- case 0x1e:
- case 0x1f:
+ case MSGTAG_INLINE_2_NEXT:
+ case MSGTAG_INLINE_2_FIRST:
do_arrow2();
return 1;
- case 0x33:
- case 0x34:
+ case MSGTAG_INLINE_3_NEXT:
+ case MSGTAG_INLINE_3_FIRST:
do_arrow2();
return 1;
- case 0x20:
- do_character(10);
- stack_pushCurrent(pRef->getSelMsgPtr());
+ case MSGTAG_AWAIT_CHOICE:
+ do_character('\n');
+ stack_pushCurrent(pReference->getSelMsgPtr());
return 1;
- case 0x21:
+ case MSGTAG_UNK_33:
do_name1();
return 1;
- case 10:
+ case MSGTAG_ABTN:
do_outfont(0, 0);
return 1;
- case 0xb:
+ case MSGTAG_BBTN:
do_outfont(1, 0);
return 1;
- case 0xc:
+ case MSGTAG_CSTICK:
do_outfont(2, 0);
return 1;
- case 0xd:
+ case MSGTAG_LBTN:
do_outfont(3, 0);
return 1;
- case 0xe:
+ case MSGTAG_RBTN:
do_outfont(4, 0);
return 1;
- case 0xf:
+ case MSGTAG_XBTN:
do_outfont(5, 0);
return 1;
- case 0x10:
+ case MSGTAG_YBTN:
do_outfont(6, 0);
return 1;
- case 0x11:
+ case MSGTAG_ZBTN:
do_outfont(7, 0);
return 1;
- case 0x12:
+ case MSGTAG_DPAD:
do_outfont(8, 0);
return 1;
- case 0x13:
+ case MSGTAG_STICK_CROSS:
do_outfont(9, 0);
return 1;
- case 0x14:
+ case MSGTAG_LEFT_ARROW:
do_outfont(10, 0);
return 1;
- case 0x15:
+ case MSGTAG_RIGHT_ARROW:
do_outfont(11, 0);
return 1;
- case 0x16:
+ case MSGTAG_UP_ARROW:
do_outfont(12, 0);
return 1;
- case 0x17:
+ case MSGTAG_DOWN_ARROW:
do_outfont(13, 0);
return 1;
- case 0x18:
+ case MSGTAG_STICK_UP:
do_outfont(14, 0);
return 1;
- case 0x19:
+ case MSGTAG_STICK_DOWN:
do_outfont(15, 0);
return 1;
- case 0x1a:
+ case MSGTAG_STICK_LEFT:
do_outfont(16, 0);
return 1;
- case 0x1b:
+ case MSGTAG_STICK_RIGHT:
do_outfont(17, 0);
return 1;
- case 0x1c:
+ case MSGTAG_STICK_VERTICAL:
do_outfont(18, 0);
return 1;
- case 0x1d:
+ case MSGTAG_STICK_HORIZONTAL:
do_outfont(19, 0);
return 1;
- case 0x23:
+ case MSGTAG_RED_TARGET:
do_outfont(20, 0);
return 1;
- case 0x24:
+ case MSGTAG_YELLOW_TARGET:
do_outfont(21, 0);
return 1;
- case 0x25: {
+ case MSGTAG_INPUT_VALUE: {
do_outfont(30, 0);
- dMsgObject_c* pMsgObject = pRef->mpObjectPtr;
+ dMsgObject_c* pMsgObject = pReference->mpObjectPtr;
do_numset(pMsgObject->getInputValue());
return 1;
}
- case 0x26:
+ case MSGTAG_ACKNOWLEDGE:
return 1;
- case 0x27:
+ case MSGTAG_ABTN_STAR:
do_outfont(23, 0);
return 1;
- case 0x2a:
+ case MSGTAG_WHITE_TARGET:
do_outfont(24, 0);
return 1;
- case 0x2c:
+ case MSGTAG_WARP_ICON:
do_outfont(25, 0);
return 1;
- case 0x2e: {
- dMsgObject_c* pMsgObject = pRef->getObjectPtr();
+ case MSGTAG_XYBTN: {
+ dMsgObject_c* pMsgObject = pReference->getObjectPtr();
if (pMsgObject->getItemEquipButton() == 0) {
do_outfont(5, 0);
} else {
@@ -3214,180 +3057,180 @@ bool jmessage_tRenderingProcessor::do_tag(u32 param_1, void const* param_2, u32
}
return 1;
}
- case 0x2f:
- if (pRef->getObjectPtr()->getItemEquipButton() == 0) {
+ case MSGTAG_YXBTN:
+ if (pReference->getObjectPtr()->getItemEquipButton() == 0) {
do_outfont(6, 0);
} else {
do_outfont(5, 0);
}
return 1;
- case 0x30:
+ case MSGTAG_BOMB_BAG_ICON:
do_outfont(41, 0);
return 1;
- case 0x39:
+ case MSGTAG_HEART:
do_outfont(27, 0);
return 1;
- case 0x3a:
+ case MSGTAG_QUAVER:
do_outfont(28, 0);
return 1;
- case 0x31: {
- char acStack_50[40];
- u8 bombNum = pRef->getObjectPtr()->getSelectBombNum();
- dMsgUnit_setTag(7, bombNum, acStack_50);
- strcpy(pRef->getWord(field_0x14f), acStack_50);
+ case MSGTAG_BOMB_NUM: {
+ char buffer[40];
+ u8 bombNum = pReference->getObjectPtr()->getSelectBombNum();
+ dMsgUnit_setTag(7, bombNum, buffer);
+ strcpy(pReference->getWord(field_0x14f), buffer);
push_word();
return 1;
}
- case 0x32: {
- char acStack_78[40];
- s16 bombPrice = pRef->getObjectPtr()->getSelectBombPrice();
- dMsgUnit_setTag(1, bombPrice, acStack_78);
- strcpy(pRef->getWord(field_0x14f), acStack_78);
+ case MSGTAG_BOMB_PRICE: {
+ char buffer[40];
+ s16 bombPrice = pReference->getObjectPtr()->getSelectBombPrice();
+ dMsgUnit_setTag(1, bombPrice, buffer);
+ strcpy(pReference->getWord(field_0x14f), buffer);
push_word();
return 1;
}
- case 0x37:
- case 0x38:
- push_word();
- return 1;
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 0x28:
- case 0x36:
+ case MSGTAG_BOMB_MAX:
+ case MSGTAG_ARROW_MAX:
+ push_word();
+ return 1;
+ case MSGTAG_INSTANT:
+ case MSGTAG_TYPE:
+ case MSGTAG_UNK_3:
+ case MSGTAG_AUTOBOX:
+ case MSGTAG_BOXATMOST:
+ case MSGTAG_UNK_6:
+ case MSGTAG_PAUSE:
+ case MSGTAG_DEMOBOX:
+ case MSGTAG_BOXATLEAST:
return 1;
}
- case 0x40000:
- switch (param_1 & 0xff00ffff) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
+ case MSGTAG_GROUP(4):
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_GLYPH_DOLLARSIGN:
+ case MSGTAG_GLYPH_BACKSLASH:
+ case MSGTAG_GLYPH_ATMARK:
+ case MSGTAG_GLYPH_SHARP:
+ case MSGTAG_GLYPH_FLAT:
+ case MSGTAG_GLYPH_SQRT:
+ case MSGTAG_GLYPH_PERCENT:
+ case MSGTAG_GLYPH_HECTARE:
+ case MSGTAG_GLYPH_ARE:
+ case MSGTAG_GLYPH_LITRE:
+ case MSGTAG_GLYPH_WATT:
+ case MSGTAG_GLYPH_CALORIE:
+ case MSGTAG_GLYPH_DOLLAR:
+ case MSGTAG_GLYPH_CENT:
push_word();
return 1;
}
- case 0x50000:
- switch (param_1 & 0xff00ffff) {
- case 0:
+ case MSGTAG_GROUP(5):
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_TIME_INFO:
case 1:
case 2:
- case 3:
+ case MSGTAG_INSECT_INFO:
case 4:
case 5:
case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
+ case MSGTAG_RIVER_POINTS:
+ case MSGTAG_FISH_LENGTH:
+ case MSGTAG_FUNDRAISE_REMAIN:
+ case MSGTAG_NEW_LETTER_NUM:
+ case MSGTAG_POE_NUM:
+ case MSGTAG_BALLOON_SCORE:
+ case MSGTAG_FISH_COUNT:
+ case MSGTAG_ROLLGOAL_LV:
push_word();
return 1;
}
- case 0x60000:
- switch (param_1 & 0xff00ffff) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
+ case MSGTAG_GROUP(6):
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_PLAYER_GENITIV:
+ case MSGTAG_HORSE_GENITIV:
+ case MSGTAG_MALE_ICON:
+ case MSGTAG_FEMALE_ICON:
+ case MSGTAG_STAR_ICON:
+ case MSGTAG_REFMARK:
+ case MSGTAG_THIN_LEFT_ARROW:
+ case MSGTAG_THIN_RIGHT_ARROW:
+ case MSGTAG_THIN_UP_ARROW:
+ case MSGTAG_THIN_DOWN_ARROW:
push_word();
return 1;
- case 10:
- do_outfont('*', 0);
+ case MSGTAG_BULLET:
+ do_outfont(42, 0);
return 1;
- case 11:
- do_outfont('+', 0);
+ case MSGTAG_BULLET_SPACE:
+ do_outfont(43, 0);
return 1;
}
- case 0x30000:
- switch (param_1 & 0xff00ffff) {
- case 1:
+ case MSGTAG_GROUP(3):
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_WII_ABTN:
do_outfont(0, 0);
return 1;
- case 2:
- do_outfont('3', 0);
+ case MSGTAG_WII_BBTN:
+ do_outfont(51, 0);
return 1;
- case 3:
- do_outfont('4', 0);
+ case MSGTAG_WII_HOMEBTN:
+ do_outfont(52, 0);
return 1;
- case 4:
- do_outfont('5', 0);
+ case MSGTAG_WII_MINUSBTN:
+ do_outfont(53, 0);
return 1;
- case 5:
- do_outfont('6', 0);
+ case MSGTAG_WII_PLUSBTN:
+ do_outfont(54, 0);
return 1;
- case 6:
- do_outfont('?', 0);
+ case MSGTAG_WII_1BTN:
+ do_outfont(63, 0);
return 1;
- case 7:
- do_outfont('@', 0);
+ case MSGTAG_WII_2BTN:
+ do_outfont(64, 0);
return 1;
- case 8:
- do_outfont('2', 0);
+ case MSGTAG_WII_DPAD_ITEM:
+ do_outfont(50, 0);
return 1;
- case 9:
- do_outfont('1', 0);
+ case MSGTAG_WII_DPAD_UP:
+ do_outfont(49, 0);
return 1;
- case 10:
- do_outfont('A', 0);
+ case MSGTAG_WII_DPAD_DOWN:
+ do_outfont(65, 0);
return 1;
- case 0xb:
- do_outfont('B', 0);
+ case MSGTAG_WII_DPAD_HORIZONTAL:
+ do_outfont(66, 0);
return 1;
- case 0xc:
- do_outfont('C', 0);
+ case MSGTAG_WII_DPAD_RIGHT:
+ do_outfont(67, 0);
return 1;
- case 0xd:
- do_outfont('D', 0);
+ case MSGTAG_WII_DPAD_LEFT:
+ do_outfont(68, 0);
return 1;
- case 0xe:
+ case MSGTAG_WII_WIIMOTE:
if (dComIfGs_getOptPointer() == 0) {
do_outfont(9, 0);
} else {
- do_outfont(',', 0);
+ do_outfont(44, 0);
}
return 1;
- case 0xf:
- do_outfont('E', 0);
+ case MSGTAG_WII_RETICULE:
+ do_outfont(69, 0);
return 1;
- case 0x10:
- do_outfont('-', 0);
+ case MSGTAG_WII_NUNCHUK:
+ do_outfont(45, 0);
return 1;
- case 0x11:
- do_outfont(',', 0);
+ case MSGTAG_WII_WIIMOTE2:
+ do_outfont(44, 0);
return 1;
- case 0x12:
- do_outfont('>', 0);
+ case MSGTAG_WII_FAIRY:
+ do_outfont(62, 0);
return 1;
- case 0x13:
+ case MSGTAG_WII_CBTN:
do_outfont(2, 0);
return 1;
- case 0x14:
+ case MSGTAG_WII_ZBTN:
do_outfont(7, 0);
return 1;
- case 0:
+ case MSGTAG_WII_MSGID_OVERRIDE:
return 1;
default:
break;
@@ -3414,150 +3257,147 @@ void jmessage_tRenderingProcessor::resetRendering() {
* do_widthcenter__28jmessage_tRenderingProcessorFv */
void jmessage_tRenderingProcessor::do_widthcenter() {
field_0x187 = 0;
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- s16 sVar3 = field_0x142 + pRef->getStartLineCount();
- if (pRef->getLineArrange(sVar3) == 1 || pRef->getLineArrange(sVar3) == 2) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
+ s16 sVar3 = field_0x142 + pReference->getStartLineCount();
+ if (pReference->getLineArrange(sVar3) == 1 || pReference->getLineArrange(sVar3) == 2) {
return;
}
- f32 fVar6 = 0.5f +
- (pRef->getTBoxWidth() - getLineLength(field_0x142)) / 2;
+ f32 fVar6 = 0.5f + (pReference->getTBoxWidth() - getLineLength(field_0x142)) / 2;
if (fVar6 >= 1.0f) {
- char acStack_48[16];
- snprintf(acStack_48, 0xf, "\x1B" "CR[%d]", (int)fVar6);
- do_strcat(acStack_48, false, true, true);
- field_0x48 += + fVar6;
+ char buffer[16];
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)fVar6);
+ do_strcat(buffer, false, true, true);
+ field_0x48 += fVar6;
}
}
/* 8022E260-8022E318 228BA0 00B8+00 1/1 0/0 0/0 .text
* do_selwidthcenter__28jmessage_tRenderingProcessorFi */
void jmessage_tRenderingProcessor::do_selwidthcenter(int param_1) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- f32 fVar5 = 0.5f + (pRef->getSelTBoxWidth() - pRef->getSelLength(param_1)) / 2;
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
+ f32 fVar5 = 0.5f + (pReference->getSelTBoxWidth() - pReference->getSelLength(param_1)) / 2;
if (fVar5 >= 1.0f) {
- char acStack_44[16];
- snprintf(acStack_44, 0xf, "\x1B" "CR[%d]", (int)fVar5);
- do_strcat(acStack_44, false, true, false);
- field_0x48 += + fVar5;
+ char buffer[16];
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)fVar5);
+ do_strcat(buffer, false, true, false);
+ field_0x48 += fVar5;
}
}
/* 8022E318-8022E7CC 228C58 04B4+00 3/2 0/0 0/0 .text
* do_heightcenter__28jmessage_tRenderingProcessorFv */
void jmessage_tRenderingProcessor::do_heightcenter() {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
field_0x138 = 0.0f;
- f32 dVar13;
+
+ f32 var_f31;
if (field_0x142 == 0) {
- f32 lineSpace = pRef->getLineSpace();
- f32 fontSizeY = pRef->getFontSizeY();
- f32 tboxHeight = pRef->getTBoxHeight();
- f32 dVar15 = pRef->getLineMax() - 1;
- dVar15 = lineSpace * dVar15;
- dVar15 = fontSizeY + dVar15;
- dVar13 = (tboxHeight - dVar15) / 2;
+ var_f31 = (pReference->getTBoxHeight() - (pReference->getFontSizeY() + (pReference->getLineSpace() * (pReference->getLineMax() - 1)))) / 2;
} else {
- dVar13 = 0.0f;
+ var_f31 = 0.0f;
}
- switch (pRef->getNowPageType()) {
+
+ switch (pReference->getNowPageType()) {
case 0:
if (field_0x142 == 0) {
- int nowPageLine = pRef->getNowPageLine();
- if (pRef->getLineMax() != (s16)nowPageLine) {
- f32 lineSpace = pRef->getLineSpace();
- f32 dVar14 = 0.5f * (pRef->getLineMax() - nowPageLine);
- dVar13 += lineSpace * dVar14;
+ int nowPageLine = pReference->getNowPageLine();
+ if (pReference->getLineMax() != (s16)nowPageLine) {
+ var_f31 += pReference->getLineSpace() * (0.5f * (pReference->getLineMax() - (s16)nowPageLine));
}
}
break;
case 1: {
if (field_0x142 == 0) {
- int nowPageLine = pRef->getNowPageLine();
+ int nowPageLine = pReference->getNowPageLine();
if (nowPageLine == 1) {
- f32 lineSpace = pRef->getLineSpace();
- f32 dVar14 = 0.5f * (pRef->getLineMax() - nowPageLine);
- field_0x138 = (lineSpace * dVar14);
- dVar13 += field_0x138;
+ field_0x138 = pReference->getLineSpace() * (0.5f * (pReference->getLineMax() - (s16)nowPageLine));
+ var_f31 += field_0x138;
}
}
break;
}
case 2:
if (field_0x142 == 0) {
- field_0x138 = pRef->getLineSpace();
- dVar13 += field_0x138;
+ field_0x138 = pReference->getLineSpace();
+ var_f31 += field_0x138;
} else {
- field_0x138 = 0.5f * pRef->getLineSpace();
- dVar13 += field_0x138;
+ field_0x138 = 0.5f * pReference->getLineSpace();
+ var_f31 += field_0x138;
}
break;
- case 3:
- pRef->getNowPageLine();
- field_0x138 = 0.5f * pRef->getLineSpace();
- dVar13 += field_0x138;
+ case 3: {
+ int nowPageLine = pReference->getNowPageLine();
+ field_0x138 = 0.5f * pReference->getLineSpace();
+ var_f31 += field_0x138;
break;
+ }
case 4: {
if (field_0x142 == 0) {
- int nowPageLine = pRef->getNowPageLine();
- f32 lineSpace = pRef->getLineSpace();
- f32 dVar14 = 0.5f * (pRef->getLineMax() - nowPageLine);
- field_0x138 = lineSpace * dVar14;
- dVar13 += field_0x138;
+ int nowPageLine = pReference->getNowPageLine();
+ field_0x138 = pReference->getLineSpace() * (0.5f * (pReference->getLineMax() - (s16)nowPageLine));
+ var_f31 += field_0x138;
}
if (field_0x142 == 1) {
- field_0x138 = 0.5f * pRef->getLineSpace();
- dVar13 += field_0x138;
+ field_0x138 = 0.5f * pReference->getLineSpace();
+ var_f31 += field_0x138;
}
- f32 dVar14 = (pRef->getLineScale(field_0x142) / 100.0f) * pRef->getFontSizeY();
- f32 dVar15 = ((pRef->getLineSpace() - dVar14) / 2);
+ f32 spC = pReference->getLineScale(field_0x142) / 100.0f;
+ f32 dVar15 = ((pReference->getLineSpace() - (spC * pReference->getFontSizeY())) / 2);
field_0x138 += dVar15;
- dVar13 += dVar15;
+ var_f31 += dVar15;
break;
}
case 5: {
if (field_0x142 >= 1) {
- field_0x138 = 0.5f * pRef->getLineSpace();
- dVar13 += field_0x138;
+ field_0x138 = 0.5f * pReference->getLineSpace();
+ var_f31 += field_0x138;
}
- f32 dVar14 = (pRef->getLineScale(field_0x142) / 100.0f) * pRef->getFontSizeY();
- f32 dVar15 = (pRef->getLineSpace() - dVar14) / 2;
+
+ f32 sp8 = pReference->getLineScale(field_0x142) / 100.0f;
+ f32 dVar15 = (pReference->getLineSpace() - (sp8 * pReference->getFontSizeY())) / 2;
field_0x138 += dVar15;
- dVar13 += dVar15;
+ var_f31 += dVar15;
break;
}
case 6:
if (field_0x142 <= 1) {
- field_0x138 = 0.5f * pRef->getLineSpace();
- dVar13 += field_0x138;
+ field_0x138 = 0.5f * pReference->getLineSpace();
+ var_f31 += field_0x138;
}
break;
case 7:
if (field_0x142 == 1 || field_0x142 == 2) {
- field_0x138 = 0.5f * pRef->getLineSpace();
- dVar13 += field_0x138;
+ field_0x138 = 0.5f * pReference->getLineSpace();
+ var_f31 += field_0x138;
}
break;
case 8:
if (field_0x142 == 2) {
- field_0x138 = 0.5f * pRef->getLineSpace();
- dVar13 += field_0x138;
+ field_0x138 = 0.5f * pReference->getLineSpace();
+ var_f31 += field_0x138;
}
}
+
if (field_0x142 == 0) {
field_0x138 = 0.0f;
}
- if (0.0f != dVar13) {
- field_0x4c += dVar13;
- char acStack_80[16];
- snprintf(acStack_80, 0xf, "\x1B" "CD[%d]", (int)dVar13);
- do_strcat(acStack_80, false, true, true);
+
+ if (0.0f != var_f31) {
+ field_0x4c += var_f31;
+
+ char buffer[16];
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CD[%d]", (int)var_f31);
+ do_strcat(buffer, false, true, true);
+
if (field_0x14e != 0) {
- do_rubystrcat(acStack_80, pRef->getSelRubyPtr(field_0x14e - 1), pRef->getSelRubyCharSpace(), 0.0f);
+ do_rubystrcat(buffer, pReference->getSelRubyPtr(field_0x14e - 1), pReference->getSelRubyCharSpace(), 0.0f);
} else {
- do_rubystrcat(acStack_80, pRef->getRubyPtr(), pRef->getRubyCharSpace(), 0.0f);
+ do_rubystrcat(buffer, pReference->getRubyPtr(), pReference->getRubyCharSpace(), 0.0f);
}
}
}
@@ -3584,29 +3424,31 @@ void jmessage_tRenderingProcessor::do_color(u8 i_colorNo) {
/* 8022E860-8022E960 2291A0 0100+00 2/2 0/0 0/0 .text do_scale__28jmessage_tRenderingProcessorFf
*/
void jmessage_tRenderingProcessor::do_scale(f32 param_1) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- f32 dVar10 = (param_1 * pRef->getDistanceScale());
- int iVar1 = 0.5f + (dVar10 * pRef->getFontSizeX());
- int iVar2 = 0.5f + (dVar10 * pRef->getFontSizeY());
- int uVar6 = pRef->getNowPageType() - 4 == 0;
- int sVar7 = iVar2;
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
+ f32 dVar10 = (param_1 * pReference->getDistanceScale());
+ int scale_x = 0.5f + (dVar10 * pReference->getFontSizeX());
+ int iVar2 = 0.5f + (dVar10 * pReference->getFontSizeY());
+ int uVar6 = pReference->getNowPageType() - 4 == 0;
+ int scale_y = iVar2;
+
if (field_0x44 != dVar10) {
- int iVar2 =
- 0.5f + (field_0x44 * pRef->getFontSizeY());
- s16 sVar5 = ((s16)sVar7 - (s16)iVar2) / 2;
+ int iVar2 = 0.5f + (field_0x44 * pReference->getFontSizeY());
+ s16 sVar5 = ((s16)scale_y - (s16)iVar2) / 2;
field_0x44 = dVar10;
field_0x140 += sVar5;
do_transY(sVar5, true);
field_0x13e = sVar5;
}
- char acStack_70[32];
- sprintf(acStack_70,
+
+ char buffer[32];
+ sprintf(buffer,
"\x1B"
"FX[%d]"
"\x1B"
"FY[%d]",
- (s16)iVar1, (s16)sVar7);
- do_strcat(acStack_70, false, true, false);
+ (s16)scale_x, (s16)scale_y);
+ do_strcat(buffer, false, true, false);
}
/* 8022E960-8022E9C0 2292A0 0060+00 1/1 0/0 0/0 .text
@@ -3620,144 +3462,158 @@ void jmessage_tRenderingProcessor::do_linedown(s16 param_0) {
/* 8022E9C0-8022EAE4 229300 0124+00 1/1 0/0 0/0 .text do_transY__28jmessage_tRenderingProcessorFsb
*/
-void jmessage_tRenderingProcessor::do_transY(s16 param_1, bool param_2) {
- if (param_1 != 0) {
- char acStack_38[16];
- char acStack_48[16];
- if (param_1 < 0) {
- sprintf(acStack_38, "\x1B" "CU[%d]", -param_1);
- sprintf(acStack_48, "\x1B" "CD[%d]", -param_1);
+void jmessage_tRenderingProcessor::do_transY(s16 i_transY, bool unused) {
+ if (i_transY != 0) {
+ char buffer0[16];
+ char buffer1[16];
+
+ if (i_transY < 0) {
+ sprintf(buffer0, "\x1B" "CU[%d]", -i_transY);
+ sprintf(buffer1, "\x1B" "CD[%d]", -i_transY);
} else {
- sprintf(acStack_38, "\x1B" "CD[%d]", param_1);
- sprintf(acStack_48, "\x1B" "CU[%d]", param_1);
+ sprintf(buffer0, "\x1B" "CD[%d]", i_transY);
+ sprintf(buffer1, "\x1B" "CU[%d]", i_transY);
}
- field_0x4c -= param_1;
- do_strcat(acStack_38, false, true, true);
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- do_rubystrcat(acStack_48, pRef->getRubyPtr(), pRef->getRubyCharSpace(), 0.0f);
+
+ field_0x4c -= i_transY;
+
+ do_strcat(buffer0, false, true, true);
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ do_rubystrcat(buffer1, pReference->getRubyPtr(), pReference->getRubyCharSpace(), 0.0f);
}
}
/* 8022EAE4-8022ED10 229424 022C+00 2/2 0/0 0/0 .text
* do_outfont__28jmessage_tRenderingProcessorFUcUl */
-void jmessage_tRenderingProcessor::do_outfont(u8 param_1, u32 param_2) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- JUTFont* font = pRef->getFont();
- s32 cellWidth = font->getCellWidth();
- s32 width = font->getWidth();
- int r28 = 1;
- f32 dVar14 = (24.0f * field_0x44 * mTextInitScaleX);
- f32 dVar13 = (24.0f * field_0x44 * mTextInitScaleY);
- f32 dVar12 = (mTextInitPosX + mTextInitScaleX * (field_0x48 - mTextInitPosX));
- f32 dVar11 = (mTextInitPosY + mTextInitScaleY * (field_0x4c - mTextInitPosY));
+void jmessage_tRenderingProcessor::do_outfont(u8 i_iconNo, u32 i_color) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ JUTFont* pFont = pReference->getFont(); // fakematch
+ f32 cellWidth = pFont->getCellWidth();
+ f32 width = pFont->getWidth() / cellWidth;
+
+ int var_r28 = 1;
+ f32 sizeX = (24.0f * field_0x44 * mTextInitScaleX);
+ f32 sizeY = (24.0f * field_0x44 * mTextInitScaleY);
+ f32 posX = (mTextInitPosX + mTextInitScaleX * (field_0x48 - mTextInitPosX));
+ f32 posY = (mTextInitPosY + mTextInitScaleY * (field_0x4c - mTextInitPosY));
+
u32 color;
- if (param_2 == 0) {
+ if (i_color == 0) {
color = mCCColor;
} else {
- color = param_2;
+ color = i_color;
}
- if (param_1 == 30) {
- mpOutFont->setRupeeColor(pRef->getOutFontRupeeColor());
+
+ if (i_iconNo == 30) {
+ mpOutFont->setRupeeColor(pReference->getOutFontRupeeColor());
}
- mpOutFont->drawFont(NULL, param_1, dVar12 - field_0x7c[field_0x142], dVar11, dVar14, dVar13,
- color, 0xff);
- pRef->addDrawLightCount();
+
+ mpOutFont->drawFont(NULL, i_iconNo, posX - field_0x7c[field_0x142], posY, sizeX, sizeY, color, 0xFF);
+ pReference->addDrawLightCount();
+
if (mCharInfoPtr != NULL) {
- getCharInfo(0.5f + (dVar12 + (0.5f * dVar14)), field_0x138 + (dVar11 + (0.5f * dVar13)),
+ getCharInfo(0.5f + (posX + (0.5f * sizeX)), field_0x138 + (posY + (0.5f * sizeY)),
field_0x44, field_0x44, 1.0f);
}
- f32 fVar7 = 0.5f + ((field_0x44 * (dVar14 * r28)) + pRef->getCharSpace());
- field_0x48 += (int)fVar7;
- char acStack_b8[16];
- snprintf(acStack_b8, sizeof(acStack_b8) - 1, "\x1B" "CR[%d]", (int)fVar7);
- do_strcat(acStack_b8, false, true, false);
+
+ f32 spacing = 0.5f + ((field_0x44 * (sizeX * var_r28)) + pReference->getCharSpace());
+ field_0x48 += (int)spacing;
+
+ char buffer[16];
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)spacing);
+ do_strcat(buffer, false, true, false);
}
/* 8022ED10-8022EECC 229650 01BC+00 1/1 0/0 0/0 .text do_arrow2__28jmessage_tRenderingProcessorFv
*/
void jmessage_tRenderingProcessor::do_arrow2() {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- JUTFont* font = pRef->getFont();
- f32 cellWidth = font->getCellWidth();
- f32 width = font->getWidth();
- f32 dVar11 = width / cellWidth;
- if (field_0x14d == pRef->getSelectPos()) {
- mpOutFont->drawFont(NULL, 0x1d,
- (mTextInitPosX + mTextInitScaleX * (field_0x48 - mTextInitPosX)) -
- field_0x7c[field_0x142],
- field_0x4c, (dVar11 * (field_0x44 * pRef->getFontSizeX())),
- dVar11 * (field_0x44 * pRef->getFontSizeY()), mCCColor, 0xff);
- }
- f32 dVar13 = 0.5f + ((field_0x44 * pRef->getFontSizeX()) + pRef->getCharSpace());
- field_0x48 += (int)dVar13;
- char acStack_58[16];
- snprintf(acStack_58, sizeof(acStack_58) - 1, "\x1B" "CR[%d]", (int)dVar13);
- do_strcat(acStack_58, false, true, false);
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ JUTFont* pFont = pReference->getFont(); // fakematch
+ f32 cellWidth = pFont->getCellWidth();
+ f32 dVar11 = pFont->getWidth() / cellWidth;
+
+ if (field_0x14d == pReference->getSelectPos()) {
+ mpOutFont->drawFont(NULL, 29,
+ (mTextInitPosX + mTextInitScaleX * (field_0x48 - mTextInitPosX)) - field_0x7c[field_0x142],
+ field_0x4c, (dVar11 * (field_0x44 * pReference->getFontSizeX())),
+ dVar11 * (field_0x44 * pReference->getFontSizeY()), mCCColor, 0xFF);
+ }
+
+ f32 spacing = 0.5f + ((field_0x44 * pReference->getFontSizeX()) + pReference->getCharSpace());
+ field_0x48 += (int)spacing;
+
+ char buffer[16];
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)spacing);
+ do_strcat(buffer, false, true, false);
field_0x14d++;
}
/* 8022EECC-8022EF00 22980C 0034+00 1/1 0/0 0/0 .text
* getLineLength__28jmessage_tRenderingProcessorFi */
-f32 jmessage_tRenderingProcessor::getLineLength(int lineNo) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- s16 lineCount = pRef->getStartLineCount();
- return pRef->getStrLength(lineNo + lineCount) * pRef->getFontSizeX() +
- pRef->getSpaceLength(lineNo + lineCount) * pRef->getCharSpace();
+f32 jmessage_tRenderingProcessor::getLineLength(int i_lineNo) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
+ int lineNo = i_lineNo + (s16)pReference->getStartLineCount();
+ f32 var_f31 = pReference->getStrLength(lineNo) * pReference->getFontSizeX();
+ f32 var_f30 = pReference->getSpaceLength(lineNo) * pReference->getCharSpace();
+ return var_f31 + var_f30;
}
/* 8022EF00-8022F148 229840 0248+00 10/10 0/0 0/0 .text
* do_strcat__28jmessage_tRenderingProcessorFPcbbb */
-void jmessage_tRenderingProcessor::do_strcat(char* param_1, bool param_2, bool param_3,
- bool param_4) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- if (pRef->isCharSend() || !param_2) {
- field_0x11c += strlen(param_1);
+void jmessage_tRenderingProcessor::do_strcat(char* i_str, bool param_2, bool param_3, bool param_4) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
+ if (pReference->isCharSend() || !param_2) {
+ field_0x11c += strlen(i_str);
if (field_0x14e != 0) {
- if (field_0x11c < 0x32) {
- strcat(pRef->getSelTextPtr(field_0x14e - 1), param_1);
+ if (field_0x11c < 50) {
+ strcat(pReference->getSelTextPtr(field_0x14e - 1), i_str);
} else {
JUT_WARN(5316, "%s", "TextBox Alloc Byte Over!!");
}
} else if (field_0x11c < 0x200) {
if (param_2) {
field_0x146++;
- if (pRef->getBatchColorFlag() != 0) {
- pRef->setCharCnt(field_0x146);
- } else if (field_0x146 > pRef->getCharCnt() ||
- (field_0x146 == pRef->getCharCnt() && pRef->getCharAlpha() < 255.0f))
+ if (pReference->getBatchColorFlag() != 0) {
+ pReference->setCharCnt(field_0x146);
+ } else if (field_0x146 > pReference->getCharCnt() || (field_0x146 == pReference->getCharCnt() && pReference->getCharAlpha() < 255.0f))
{
- if (field_0x146 > pRef->getCharCnt()) {
- pRef->setCharAlpha(0.0f);
- pRef->setCharCnt(field_0x146);
+ if (field_0x146 > pReference->getCharCnt()) {
+ pReference->setCharAlpha(0.0f);
+ pReference->setCharCnt(field_0x146);
}
- if (pRef->getCharAlpha() < 255.0f) {
- pRef->addCharAlpha();
+
+ if (pReference->getCharAlpha() < 255.0f) {
+ pReference->addCharAlpha();
if (field_0x148 != 0) {
- char* pcVar4 = pRef->getTextPtr();
- pcVar4[field_0x148] = 0;
- strcat(pcVar4, field_0x184);
+ char* textPtr = pReference->getTextPtr();
+ textPtr[field_0x148] = 0;
+ strcat(textPtr, field_0x184);
}
if (field_0x14a != 0) {
- char* pcVar4 = pRef->getTextSPtr();
- pcVar4[field_0x14a] = 0;
- strcat(pcVar4, field_0x184);
+ char* textPtr = pReference->getTextSPtr();
+ textPtr[field_0x14a] = 0;
+ strcat(textPtr, field_0x184);
}
- int dVar8 = pRef->getCharAlpha();
- u32 uVar1 = mCCColor;
- int dVar9 = pRef->getCharAlpha();
- char acStack_58[36];
- sprintf(
- acStack_58, "\x1b" "CC[%08x]" "\x1b" "GC[%08x]",
- (uVar1 & 0xffffff00) | (dVar8 & 0xff),
- (mGCColor & 0xffffff00) | (dVar9 & 0xff));
- if (field_0x11c + (int)strlen(acStack_58) < 0x200) {
- field_0x148 = strlen(pRef->getTextPtr());
- field_0x14a = strlen(pRef->getTextSPtr());
- strcpy(field_0x184, param_1);
- strcat(pRef->getTextPtr(), acStack_58);
- strcat(pRef->getTextSPtr(), acStack_58);
+
+ u32 charColor = (mCCColor & 0xFFFFFF00) | ((int)pReference->getCharAlpha() & 0xFF);
+ u32 gradColor = (mGCColor & 0xFFFFFF00) | ((int)pReference->getCharAlpha() & 0xFF);
+ char buffer[36];
+ sprintf(buffer, "\x1b" "CC[%08x]" "\x1b" "GC[%08x]", charColor, gradColor);
+
+ int length = 0;
+ length = strlen(buffer);
+
+ if (field_0x11c + length < 0x200) {
+ field_0x148 = strlen(pReference->getTextPtr());
+ field_0x14a = strlen(pReference->getTextSPtr());
+
+ strcpy(field_0x184, i_str);
+ strcat(pReference->getTextPtr(), buffer);
+ strcat(pReference->getTextSPtr(), buffer);
} else {
JUT_WARN(5362, "%s", "TextBox Alloc Byte Over!!");
}
@@ -3768,9 +3624,9 @@ void jmessage_tRenderingProcessor::do_strcat(char* param_1, bool param_2, bool p
field_0x14a = 0;
}
- strcat(pRef->getTextPtr(), param_1);
+ strcat(pReference->getTextPtr(), i_str);
if (param_3) {
- strcat(pRef->getTextSPtr(), param_1);
+ strcat(pReference->getTextSPtr(), i_str);
}
} else {
JUT_WARN(5380, "%s", "TextBox Alloc Byte Over!!");
@@ -3780,138 +3636,148 @@ void jmessage_tRenderingProcessor::do_strcat(char* param_1, bool param_2, bool p
/* 8022F148-8022F384 229A88 023C+00 1/1 0/0 0/0 .text
* do_rubyset__28jmessage_tRenderingProcessorFPCvUl */
-// NONMATCHING - buffer initialization
-void jmessage_tRenderingProcessor::do_rubyset(void const* param_0, u32 param_1) {
- jmessage_tReference* pRef = (jmessage_tReference*) getReference();
- JUTFont* pFont = pRef->getFont();
- u8 mRubyCnt = param_1 - 1;
- u8* r28 = (u8*)param_0;
- int iVar7 = 0;
+void jmessage_tRenderingProcessor::do_rubyset(void const* i_data, u32 i_size) {
+ jmessage_tReference* pReference = (jmessage_tReference*) getReference();
+ JUTFont* pFont = pReference->getFont();
+
+ u8 mRubyCnt = i_size - 1;
+ u8* pRuby = (u8*)i_data;
+ int index = 0;
+
JUT_ASSERT(5405, mRubyCnt < (50));
- field_0x14c = *(u8*)param_0 & 0xff;
- r28++;
+ field_0x14c = *(u8*)i_data & 0xFF;
+ pRuby++;
+
field_0x152[0] = 0;
field_0x128 = 0.0f;
- for (; iVar7 < mRubyCnt; ) {
+
+ while (index < mRubyCnt) {
u8 buffer[3];
- buffer[0] = r28[iVar7++];
- buffer[1] = r28[iVar7++];
+ buffer[0] = pRuby[index++];
+ buffer[1] = pRuby[index++];
buffer[2] = 0;
strcat(field_0x152, (const char*)buffer);
- int uVar6 = ((char)buffer[0] & 0xffU) << 8 | (char)buffer[1] & 0xffU;
+
+ int character = (((char)buffer[0] & 0xFF) << 8) | ((char)buffer[1] & 0xFF);
if (field_0x14e != 0) {
field_0x128 +=
- (pRef->getSelRubyCharSpace() +
- pFont->getWidth(uVar6) * (pRef->getSelRubySize() / pFont->getCellWidth()));
+ (pReference->getSelRubyCharSpace() +
+ pFont->getWidth(character) * (pReference->getSelRubySize() / pFont->getCellWidth()));
} else {
- field_0x128 += (pRef->getRubyCharSpace() +
- pFont->getWidth(uVar6) * (pRef->getRubySize() / pFont->getCellWidth()));
+ field_0x128 += (pReference->getRubyCharSpace() +
+ pFont->getWidth(character) * (pReference->getRubySize() / pFont->getCellWidth()));
}
}
+
if (field_0x14e != 0) {
- field_0x128 -= pRef->getSelRubyCharSpace();
+ field_0x128 -= pReference->getSelRubyCharSpace();
field_0x130 = field_0x48 - mSelTextInitPosX[field_0x14e - 1];
} else {
- field_0x128 -= pRef->getRubyCharSpace();
+ field_0x128 -= pReference->getRubyCharSpace();
field_0x130 = field_0x48 - mTextInitPosX;
}
}
-/* ############################################################################################## */
-/* 80399610-80399610 025C70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80399652 = ""
- "\x1B"
- "CL[%d]";
-#pragma pop
-
/* 8022F384-8022F53C 229CC4 01B8+00 3/3 0/0 0/0 .text
* do_rubystrcat__28jmessage_tRenderingProcessorFPcPcff */
-void jmessage_tRenderingProcessor::do_rubystrcat(char* param_1, char* param_2, f32 param_3,
- f32 param_4) {
- jmessage_tReference* pRef = (jmessage_tReference*) getReference();
- if (pRef->isCharSend()) {
+void jmessage_tRenderingProcessor::do_rubystrcat(char* i_src, char* i_dst, f32 i_charSpace, f32 param_4) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ if (pReference->isCharSend()) {
if (0.0f != param_4) {
field_0x134 = param_4;
- f32 fVar5 = (0.5f * (field_0x130 + field_0x134) - 0.5f * field_0x128) - field_0x12c;
- if (fVar5 >= 1.0f) {
+ f32 cursor_trans = (0.5f * (field_0x130 + field_0x134) - 0.5f * field_0x128) - field_0x12c;
+ if (cursor_trans >= 1.0f) {
char buffer[16];
- snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)fVar5);
- strcat(param_2, buffer);
- field_0x12c += (int)fVar5;
- } else if (fVar5 <= -1.0f) {
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)cursor_trans);
+ strcat(i_dst, buffer);
+ field_0x12c += (int)cursor_trans;
+ } else if (cursor_trans <= -1.0f) {
char buffer[16];
- snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CL[%d]", (int)-fVar5);
- strcat(param_2, buffer);
- field_0x12c += (int)fVar5;
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CL[%d]", (int)-cursor_trans);
+ strcat(i_dst, buffer);
+ field_0x12c += (int)cursor_trans;
}
- field_0x12c += field_0x128 + param_3;
+ field_0x12c += field_0x128 + i_charSpace;
}
- strcat(param_2, param_1);
+
+ strcat(i_dst, i_src);
}
}
/* 8022F53C-8022F540 229E7C 0004+00 1/1 0/0 0/0 .text do_name1__28jmessage_tRenderingProcessorFv
*/
-void jmessage_tRenderingProcessor::do_name1() {}
+void jmessage_tRenderingProcessor::do_name1() {
+ const char* name = dComIfGs_getPlayerName();
+}
/* 8022F540-8022F734 229E80 01F4+00 1/1 0/0 0/0 .text do_numset__28jmessage_tRenderingProcessorFs
*/
-void jmessage_tRenderingProcessor::do_numset(s16 param_0) {
- if (9999 < param_0) {
- param_0 = 9999;
+void jmessage_tRenderingProcessor::do_numset(s16 i_num) {
+ if (9999 < i_num) {
+ i_num = 9999;
}
- if (param_0 < 0) {
- param_0 = 0;
+
+ if (i_num < 0) {
+ i_num = 0;
}
- jmessage_tReference* pRef = (jmessage_tReference*) getReference();
- if (pRef->getInputFigure() == 3) {
- do_outfont(getOutFontNumberType(param_0 / 1000), 0xff0000ff);
+
+ u32 color = 0xFF0000FF;
+ jmessage_tReference* pReference = (jmessage_tReference*) getReference();
+ if (pReference->getInputFigure() == 3) {
+ do_outfont(getOutFontNumberType(i_num / 1000), color);
} else {
- do_outfont(getOutFontNumberType(param_0 / 1000), 0);
+ do_outfont(getOutFontNumberType(i_num / 1000), 0);
}
- if (pRef->getInputFigure() == 2) {
- do_outfont(getOutFontNumberType(param_0 % 1000 / 100), 0xff0000ff);
+
+ if (pReference->getInputFigure() == 2) {
+ do_outfont(getOutFontNumberType(i_num % 1000 / 100), color);
} else {
- do_outfont(getOutFontNumberType(param_0 % 1000 / 100), 0);
+ do_outfont(getOutFontNumberType(i_num % 1000 / 100), 0);
}
- if (pRef->getInputFigure() == 1) {
- do_outfont(getOutFontNumberType(param_0 % 100 / 10), 0xff0000ff);
+
+ if (pReference->getInputFigure() == 1) {
+ do_outfont(getOutFontNumberType(i_num % 100 / 10), color);
} else {
- do_outfont(getOutFontNumberType(param_0 % 100 / 10), 0);
+ do_outfont(getOutFontNumberType(i_num % 100 / 10), 0);
}
- if (pRef->getInputFigure() == 0) {
- do_outfont(getOutFontNumberType(param_0 % 10), 0xff0000ff);
+
+ if (pReference->getInputFigure() == 0) {
+ do_outfont(getOutFontNumberType(i_num % 10), color);
} else {
- do_outfont(getOutFontNumberType(param_0 % 10), 0);
+ do_outfont(getOutFontNumberType(i_num % 10), 0);
}
}
/* 8022F734-8022F784 22A074 0050+00 1/1 0/0 0/0 .text push_word__28jmessage_tRenderingProcessorFv
*/
void jmessage_tRenderingProcessor::push_word() {
- jmessage_tReference* tRef = (jmessage_tReference*)getReference();
- stack_pushCurrent(tRef->getWord(field_0x14f));
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ stack_pushCurrent(pReference->getWord(field_0x14f));
field_0x14f++;
}
/* 8022F784-8022F8C0 22A0C4 013C+00 2/2 0/0 0/0 .text
* getCharInfo__28jmessage_tRenderingProcessorFfffff */
-void jmessage_tRenderingProcessor::getCharInfo(f32 param_1, f32 param_2, f32 param_3,
- f32 param_4, f32 param_5) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- if ( pRef->isLightSend()) {
- JUT_ASSERT(5608, *mpCharInfoCnt <= 0x95);
+void jmessage_tRenderingProcessor::getCharInfo(f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+
+ if (pReference->isLightSend()) {
+ if (*mpCharInfoCnt >= 150) {
+ JUT_WARN(5608, "%s", "CharInfo stack over!!");
+ JUT_ASSERT(5609, *mpCharInfoCnt < (150));
+ }
+
mCharInfoPtr[*mpCharInfoCnt].field_0x00 = param_1;
mCharInfoPtr[*mpCharInfoCnt].field_0x04 = param_2;
mCharInfoPtr[*mpCharInfoCnt].field_0x08 = param_3;
mCharInfoPtr[*mpCharInfoCnt].field_0x0c = param_4;
mCharInfoPtr[*mpCharInfoCnt].field_0x10 = param_5;
mCharInfoPtr[*mpCharInfoCnt].mColorNo = mColorNo;
- if (!pRef->isBatchFlag() && mCharInfoPtr[*mpCharInfoCnt].field_0x19 == 0) {
+
+ if (!pReference->isBatchFlag() && mCharInfoPtr[*mpCharInfoCnt].field_0x19 == 0) {
mCharInfoPtr[*mpCharInfoCnt].field_0x19 = 1;
}
+
(*mpCharInfoCnt)++;
}
}
@@ -3921,10 +3787,12 @@ jmessage_string_tReference::jmessage_string_tReference() {
mPanePtr = NULL;
mRubyPanePtr = NULL;
mpFont = mDoExt_getMesgFont();
+
for (int i = 0; i < 12; i++) {
mLineLength[i] = 0.0f;
mOutfontLength[i] = 0.0f;
}
+
resetCharactor();
}
@@ -4020,11 +3888,12 @@ void jmessage_string_tReference::clearOutfontLength(int param_0) {
* getLineCountNowPage__26jmessage_string_tReferenceFv */
s16 jmessage_string_tReference::getLineCountNowPage() {
s16 rv = -1;
- s32 iVar4 = getNowPage() * getLineMax();
- s32 uVar1 = iVar4 + getLineMax();
+ s32 iVar4 = mNowPage * mLineMax;
+ s32 uVar1 = iVar4 + mLineMax;
if (mLineCount >= iVar4 && mLineCount < uVar1) {
rv = mLineCount - iVar4;
}
+
return rv;
}
@@ -4034,15 +3903,16 @@ jmessage_string_tControl::jmessage_string_tControl() {}
/* 8022FB98-8022FBE4 22A4D8 004C+00 1/1 0/0 0/0 .text
* __ct__33jmessage_string_tMeasureProcessorFPC26jmessage_string_tReference */
-jmessage_string_tMeasureProcessor::jmessage_string_tMeasureProcessor(
- jmessage_string_tReference const* param_0) : JMessage::TRenderingProcessor(param_0) {
+jmessage_string_tMeasureProcessor::jmessage_string_tMeasureProcessor(jmessage_string_tReference const* pReference) : JMessage::TRenderingProcessor(pReference) {
mpReference = (jmessage_string_tReference*)getReference();
mpReference->resetCharactor();
}
/* 8022FBE4-8022FC14 22A524 0030+00 1/0 0/0 0/0 .text
* do_begin__33jmessage_string_tMeasureProcessorFPCvPCc */
-void jmessage_string_tMeasureProcessor::do_begin(void const* param_0, char const* param_1) {
+void jmessage_string_tMeasureProcessor::do_begin(void const* pEntry, char const* pszText) {
+ (void)pEntry;
+ (void)pszText;
mpReference->setLineCount(0);
mpReference->resetCharactor();
}
@@ -4055,29 +3925,31 @@ void jmessage_string_tMeasureProcessor::do_end() {
/* 8022FC28-8022FDF0 22A568 01C8+00 1/0 0/0 0/0 .text
* do_character__33jmessage_string_tMeasureProcessorFi */
-void jmessage_string_tMeasureProcessor::do_character(int param_0) {
+void jmessage_string_tMeasureProcessor::do_character(int iCharacter) {
JUTFont* pFont = mpReference->getFont();
- if (JUTFont::isLeadByte_ShiftJIS(param_0)) {
- if (!isOutfontKanjiCode(param_0)) {
- mpReference->setCharactor(changeKataToHira(change1ByteTo2Bytes(param_0)));
+ if (JUTFont::isLeadByte_ShiftJIS(iCharacter)) {
+ if (!isOutfontKanjiCode(iCharacter)) {
+ u16 character2Bytes = change1ByteTo2Bytes(iCharacter);
+ mpReference->setCharactor(changeKataToHira(character2Bytes));
}
- } else if (param_0 < 0x8800 && !isOutfontKanjiCode(param_0)) {
- mpReference->setCharactor(changeKataToHira(param_0));
+ } else if (iCharacter < 0x8800 && !isOutfontKanjiCode(iCharacter)) {
+ mpReference->setCharactor(changeKataToHira(iCharacter));
}
- float charSpace;
+
+ f32 charSpace;
J2DTextBox::TFontSize fontSize;
if (mpReference->getPanePtr() != NULL) {
charSpace = mpReference->getPanePtr()->getCharSpace();
mpReference->getPanePtr()->getFontSize(fontSize);
} else {
charSpace = 0.0f;
- fontSize.mSizeX = 20.0f;
- fontSize.mSizeY = 20.0f;
+ fontSize.mSizeY = fontSize.mSizeX = 20.0f;
}
- if (param_0 == 10) {
+
+ if (iCharacter == '\n') {
mpReference->addLineCount();
} else {
- f32 finalLength = charSpace + fontSize.mSizeX * ((f32)pFont->getWidth(param_0) / pFont->getCellWidth());
+ f32 finalLength = charSpace + fontSize.mSizeX * ((f32)pFont->getWidth(iCharacter) / pFont->getCellWidth());
mpReference->addLineLength(mpReference->getLineCountNowPage(), finalLength);
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
}
@@ -4085,348 +3957,355 @@ void jmessage_string_tMeasureProcessor::do_character(int param_0) {
/* 8022FDF0-8023098C 22A730 0B9C+00 5/0 0/0 0/0 .text
* do_tag__33jmessage_string_tMeasureProcessorFUlPCvUl */
-bool jmessage_string_tMeasureProcessor::do_tag(u32 param_1, void const* param_2, u32 param_3) {
- f32 dVar13;
- J2DTextBox::TFontSize local_130;
+bool jmessage_string_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_size) {
+ f32 var_f30;
+ J2DTextBox::TFontSize fontsize;
if (mpReference->getPanePtr() != NULL) {
- dVar13 = ((J2DTextBox*)mpReference->getPanePtr())->getCharSpace();
- ((J2DTextBox*)mpReference->getPanePtr())->getFontSize(local_130);
+ var_f30 = ((J2DTextBox*)mpReference->getPanePtr())->getCharSpace();
+ ((J2DTextBox*)mpReference->getPanePtr())->getFontSize(fontsize);
} else {
- dVar13 = 0.0f;
- local_130.mSizeX = local_130.mSizeY = 20.0f;
+ var_f30 = 0.0f;
+ fontsize.mSizeX = fontsize.mSizeY = 20.0f;
}
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- switch(param_1 & 0xff0000) {
- case 0xff0000:
- switch(param_1) {
- case 0xff0002:
- case 0xffff02:
- do_rubyset(param_2, param_3);
+
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ switch(i_tag & 0xFF0000) {
+ case MSGTAG_GROUP(255):
+ switch(i_tag) {
+ case MSGTAG_RUBY:
+ case 0xFFFF02:
+ do_rubyset(i_data, i_size);
break;
}
break;
- case 0:
- switch (param_1) {
- case 0:
+ case MSGTAG_GROUP(0):
+ switch (i_tag) {
+ case MSGTAG_PLAYER_NAME:
stack_pushCurrent(dComIfGs_getPlayerName());
break;
- case 0x22:
+ case MSGTAG_HORSE_NAME:
stack_pushCurrent(dComIfGs_getHorseName());
break;
- case 0x35:
+ case MSGTAG_UNK_53:
stack_pushCurrent(dMsgObject_getWord());
break;
- case 0x29:
+ case MSGTAG_SCENT_NAME:
stack_pushCurrent(dMsgObject_getMsgObjectClass()->getSmellName());
break;
- case 0x2b:
+ case MSGTAG_PORTAL_NAME:
stack_pushCurrent(dMsgObject_getMsgObjectClass()->getPortalName());
break;
- case 0x2d:
+ case MSGTAG_BOMB_NAME:
stack_pushCurrent(dMsgObject_getMsgObjectClass()->getBombName());
break;
- case 0x3b:
+ case MSGTAG_INSECT_NAME:
stack_pushCurrent(dMsgObject_getMsgObjectClass()->getInsectName());
break;
- case 0x3c:
+ case MSGTAG_LETTER_NAME:
stack_pushCurrent(dMsgObject_getMsgObjectClass()->getLetterName());
break;
- case 0x3e: {
- char acStack_168[4];
- sprintf(acStack_168, "%d", dComIfGp_getMessageCountNumber() / 100);
- stack_pushCurrent(acStack_168);
- break;
- }
- case 0x3f: {
- char acStack_16c[4];
- sprintf(acStack_16c, "%d", dComIfGp_getMessageCountNumber() % 100);
- stack_pushCurrent(acStack_16c);
- break;
- }
- case 10:
- case 0xb:
- case 0xc:
- case 0xd:
- case 0xe:
- case 0xf:
- case 0x10:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
- case 0x15:
- case 0x16:
- case 0x17:
- case 0x18:
- case 0x19:
- case 0x1a:
- case 0x1b:
- case 0x1c:
- case 0x1d:
- case 0x23:
- case 0x24:
- case 0x27:
- case 0x2a:
- case 0x2c:
- case 0x2e:
- case 0x2f:
- case 0x30:
- case 0x39:
- case 0x3a: {
- mpReference->setCharactor(0xffff);
- f32 dVar14 = local_130.mSizeX + dVar13;
- mpReference->addLineLength(mpReference->getLineCountNowPage(), dVar14);
- mpReference->setOutfontLength(mpReference->getLineCountNowPage(), dVar14);
- break;
- }
- case 0x25:
+ case MSGTAG_CURRENT_LETTER_PAGE: {
+ char buffer[4];
+ sprintf(buffer, "%d", dComIfGp_getMessageCountNumber() / 100);
+ stack_pushCurrent(buffer);
+ break;
+ }
+ case MSGTAG_MAX_LETTER_PAGE: {
+ char buffer[4];
+ sprintf(buffer, "%d", dComIfGp_getMessageCountNumber() % 100);
+ stack_pushCurrent(buffer);
+ break;
+ }
+ case MSGTAG_ABTN:
+ case MSGTAG_BBTN:
+ case MSGTAG_CSTICK:
+ case MSGTAG_LBTN:
+ case MSGTAG_RBTN:
+ case MSGTAG_XBTN:
+ case MSGTAG_YBTN:
+ case MSGTAG_ZBTN:
+ case MSGTAG_DPAD:
+ case MSGTAG_STICK_CROSS:
+ case MSGTAG_LEFT_ARROW:
+ case MSGTAG_RIGHT_ARROW:
+ case MSGTAG_UP_ARROW:
+ case MSGTAG_DOWN_ARROW:
+ case MSGTAG_STICK_UP:
+ case MSGTAG_STICK_DOWN:
+ case MSGTAG_STICK_LEFT:
+ case MSGTAG_STICK_RIGHT:
+ case MSGTAG_STICK_VERTICAL:
+ case MSGTAG_STICK_HORIZONTAL:
+ case MSGTAG_RED_TARGET:
+ case MSGTAG_YELLOW_TARGET:
+ case MSGTAG_ABTN_STAR:
+ case MSGTAG_WHITE_TARGET:
+ case MSGTAG_WARP_ICON:
+ case MSGTAG_XYBTN:
+ case MSGTAG_YXBTN:
+ case MSGTAG_BOMB_BAG_ICON:
+ case MSGTAG_HEART:
+ case MSGTAG_QUAVER: {
+ mpReference->setCharactor(0xFFFF);
+ f32 length = fontsize.mSizeX + var_f30;
+ mpReference->addLineLength(mpReference->getLineCountNowPage(), length);
+ mpReference->setOutfontLength(mpReference->getLineCountNowPage(), length);
+ break;
+ }
+ case MSGTAG_INPUT_VALUE: {
int i = 0;
- local_130.mSizeX += dVar13;
+ fontsize.mSizeX += var_f30;
for (; i < 4; i++) {
- mpReference->addLineLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- mpReference->setOutfontLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
+ mpReference->addLineLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ mpReference->setOutfontLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
}
break;
- case 0x31: {
- char bombNumStr[40];
+ }
+ case MSGTAG_BOMB_NUM: {
+ char buffer[40];
u8 bombNum = dMsgObject_getMsgObjectClass()->getSelectBombNum();
- dMsgUnit_setTag(7, bombNum, bombNumStr);
- stack_pushCurrent(bombNumStr);
+ dMsgUnit_setTag(7, bombNum, buffer);
+ stack_pushCurrent(buffer);
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
break;
}
- case 0x32:
- char bombPriceStr[40];
+ case MSGTAG_BOMB_PRICE: {
+ char buffer[40];
s16 bombPrice = dMsgObject_getMsgObjectClass()->getSelectBombPrice();
- dMsgUnit_setTag(1, bombPrice, bombPriceStr);
- stack_pushCurrent(bombPriceStr);
+ dMsgUnit_setTag(1, bombPrice, buffer);
+ stack_pushCurrent(buffer);
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
break;
- case 0x37:
+ }
+ case MSGTAG_BOMB_MAX: {
u8 bombType = fpcNm_ITEM_NORMAL_BOMB;
- if ((*(u8*)param_2 ) == 1) {
+ if ((*(u8*)i_data) == 1) {
bombType = fpcNm_ITEM_WATER_BOMB;
- } else if ((*(s8*)param_2 & 0xffU) == 2) {
+ } else if ((*(s8*)i_data & 0xFFU) == 2) {
bombType = fpcNm_ITEM_POKE_BOMB;
}
- char bombMax[40];
- dMsgUnit_setTag(7, dComIfGs_getBombMax(bombType), bombMax);
- stack_pushCurrent(bombMax);
+
+ char buffer[40];
+ dMsgUnit_setTag(7, dComIfGs_getBombMax(bombType), buffer);
+ stack_pushCurrent(buffer);
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
break;
- case 0x38:
- char arrowMax[40];
- dMsgUnit_setTag(0, dComIfGs_getArrowMax(), arrowMax);
- stack_pushCurrent(arrowMax);
+ }
+ case MSGTAG_ARROW_MAX: {
+ char buffer[40];
+ dMsgUnit_setTag(0, dComIfGs_getArrowMax(), buffer);
+ stack_pushCurrent(buffer);
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
break;
}
+ }
break;
- case 0x40000:
- switch (param_1 & 0xff00ffff) {
- case 0:
+ case MSGTAG_GROUP(4):
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_GLYPH_DOLLARSIGN:
stack_pushCurrent(changeCodeToChar(0x24));
break;
- case 1:
- stack_pushCurrent(changeCodeToChar(0x5c));
+ case MSGTAG_GLYPH_BACKSLASH:
+ stack_pushCurrent(changeCodeToChar(0x5C));
break;
- case 2:
+ case MSGTAG_GLYPH_ATMARK:
stack_pushCurrent(changeCodeToChar(0x40));
break;
- case 3:
- stack_pushCurrent(changeCodeToChar(0x81f2));
+ case MSGTAG_GLYPH_SHARP:
+ stack_pushCurrent(changeCodeToChar(0x81F2));
break;
- case 4:
- stack_pushCurrent(changeCodeToChar(0x81f3));
+ case MSGTAG_GLYPH_FLAT:
+ stack_pushCurrent(changeCodeToChar(0x81F3));
break;
- case 5:
- stack_pushCurrent(changeCodeToChar(0x81e3));
+ case MSGTAG_GLYPH_SQRT:
+ stack_pushCurrent(changeCodeToChar(0x81E3));
break;
- case 6:
- stack_pushCurrent(changeCodeToChar(0x876c));
+ case MSGTAG_GLYPH_PERCENT:
+ stack_pushCurrent(changeCodeToChar(0x876C));
break;
- case 7:
+ case MSGTAG_GLYPH_HECTARE:
stack_pushCurrent(changeCodeToChar(0x8766));
break;
- case 8:
+ case MSGTAG_GLYPH_ARE:
stack_pushCurrent(changeCodeToChar(0x8765));
break;
- case 9:
+ case MSGTAG_GLYPH_LITRE:
stack_pushCurrent(changeCodeToChar(0x8767));
break;
- case 10:
+ case MSGTAG_GLYPH_WATT:
stack_pushCurrent(changeCodeToChar(0x8768));
break;
- case 0xb:
+ case MSGTAG_GLYPH_CALORIE:
stack_pushCurrent(changeCodeToChar(0x8769));
break;
- case 0xc:
- stack_pushCurrent(changeCodeToChar(0x876a));
+ case MSGTAG_GLYPH_DOLLAR:
+ stack_pushCurrent(changeCodeToChar(0x876A));
break;
- case 0xd:
- stack_pushCurrent(changeCodeToChar(0x876b));
+ case MSGTAG_GLYPH_CENT:
+ stack_pushCurrent(changeCodeToChar(0x876B));
break;
}
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
break;
- case 0x50000: {
- char acStack_100[40];
- switch (param_1 & 0xff00ffff) {
- case 0:
- if (*(u8*)param_2 == 0) {
- dMsgUnit_setTag(4, dMeter2Info_getMsgTimeMs(), acStack_100);
- } else if ((*(s8*)param_2 & 0xffU) == 2) {
- dMsgUnit_setTag(4, dComIfGs_getRaceGameTime(), acStack_100);
+ case MSGTAG_GROUP(5): {
+ char buffer[40];
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_TIME_INFO:
+ if (*(u8*)i_data == 0) {
+ dMsgUnit_setTag(4, dMeter2Info_getMsgTimeMs(), buffer);
+ } else if ((*(s8*)i_data & 0xFFU) == 2) {
+ dMsgUnit_setTag(4, dComIfGs_getRaceGameTime(), buffer);
} else {
- dMsgUnit_setTag(4, dMeter2Info_getTimeMs(), acStack_100);
+ dMsgUnit_setTag(4, dMeter2Info_getTimeMs(), buffer);
}
break;
case 1:
- dMsgUnit_setTag(0, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_100);
+ dMsgUnit_setTag(0, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
case 2:
- dMsgUnit_setTag(1, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_100);
+ dMsgUnit_setTag(1, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 9: {
- s16 uVar9 = *(int*)param_2;
+ case MSGTAG_FUNDRAISE_REMAIN: {
+ s16 uVar9 = *(int*)i_data;
dMsgObject_getMsgObjectClass()->setFundRaisingValue(uVar9);
- dMsgUnit_setTag(10, uVar9 - dMsgObject_getFundRaising(), acStack_100);
+ dMsgUnit_setTag(10, uVar9 - dMsgObject_getFundRaising(), buffer);
break;
}
- case 10:
- dMsgUnit_setTag(0xb, dMeter2Info_getNewLetterNum(), acStack_100);
+ case MSGTAG_NEW_LETTER_NUM:
+ dMsgUnit_setTag(0xb, dMeter2Info_getNewLetterNum(), buffer);
break;
- case 0xb:
- dMsgUnit_setTag(0xc, getPohNum(), acStack_100);
+ case MSGTAG_POE_NUM:
+ dMsgUnit_setTag(0xc, getPohNum(), buffer);
break;
- case 0xc: {
+ case MSGTAG_BALLOON_SCORE: {
int local_15c;
- if (*(u8*)param_2 == 0) {
+ if (*(u8*)i_data == 0) {
local_15c = dComIfGp_getMessageCountNumber();
} else {
local_15c = dComIfGs_getBalloonScore();
}
- dMsgUnit_setTag(0xd, local_15c, acStack_100);
+ dMsgUnit_setTag(0xd, local_15c, buffer);
break;
}
- case 3: {
+ case MSGTAG_INSECT_INFO: {
int insectNum;
- if (*(u8*)param_2 == 0) {
+ if (*(u8*)i_data == 0) {
insectNum = dComIfGs_checkGetInsectNum();
} else {
insectNum = 0x18 - dComIfGs_checkGetInsectNum();
}
- dMsgUnit_setTag(2, insectNum, acStack_100);
+ dMsgUnit_setTag(2, insectNum, buffer);
break;
}
case 4:
- dMsgUnit_setTag(3, 0, acStack_100);
+ dMsgUnit_setTag(3, 0, buffer);
break;
case 5:
- dMsgUnit_setTag(0x10000, dComIfGp_getNeedLightDropNum(), acStack_100);
+ dMsgUnit_setTag(0x10000, dComIfGp_getNeedLightDropNum(), buffer);
break;
case 6:
- dMsgUnit_setTag(6, 0x14 - dComIfGs_getEventReg(0xff1f), acStack_100);
+ dMsgUnit_setTag(6, 0x14 - dComIfGs_getEventReg(0xff1f), buffer);
break;
- case 8:
- dMsgUnit_setTag(9, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_100);
+ case MSGTAG_FISH_LENGTH:
+ dMsgUnit_setTag(9, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 0xd:
- dMsgUnit_setTag(0xe, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_100);
+ case MSGTAG_FISH_COUNT:
+ dMsgUnit_setTag(0xe, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 0xe:
- dMsgUnit_setTag(0x10001, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_100);
+ case MSGTAG_ROLLGOAL_LV:
+ dMsgUnit_setTag(0x10001, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 7:
- dMsgUnit_setTag(8, g_meter2_info.mNowCount, acStack_100);
+ case MSGTAG_RIVER_POINTS:
+ dMsgUnit_setTag(8, dMeter2Info_getNowCount(), buffer);
break;
default:
return false;
}
- stack_pushCurrent(acStack_100);
+
+ stack_pushCurrent(buffer);
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
break;
}
- case 0x60000: {
- char acStack_128[40];
- switch (param_1 & 0xff00ffff) {
- case 0:
- // @bug acStack_128 is uninitialized
- stack_pushCurrent(acStack_128);
+ case MSGTAG_GROUP(6): {
+ char buffer[40];
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_PLAYER_GENITIV:
+ // @bug buffer is uninitialized
+ stack_pushCurrent(buffer);
break;
- case 1:
- stack_pushCurrent(acStack_128);
+ case MSGTAG_HORSE_GENITIV:
+ stack_pushCurrent(buffer);
break;
- case 2:
- stack_pushCurrent(changeCodeToChar(0xb2));
+ case MSGTAG_MALE_ICON:
+ stack_pushCurrent(changeCodeToChar(0xB2));
break;
- case 3:
- stack_pushCurrent(changeCodeToChar(0xb3));
+ case MSGTAG_FEMALE_ICON:
+ stack_pushCurrent(changeCodeToChar(0xB3));
break;
- case 4:
- stack_pushCurrent(changeCodeToChar(0xb1));
+ case MSGTAG_STAR_ICON:
+ stack_pushCurrent(changeCodeToChar(0xB1));
break;
- case 5:
+ case MSGTAG_REFMARK:
stack_pushCurrent(changeCodeToChar(0x89));
break;
- case 6:
- stack_pushCurrent(changeCodeToChar(0xb9));
+ case MSGTAG_THIN_LEFT_ARROW:
+ stack_pushCurrent(changeCodeToChar(0xB9));
break;
- case 7:
- stack_pushCurrent(changeCodeToChar(0xbc));
+ case MSGTAG_THIN_RIGHT_ARROW:
+ stack_pushCurrent(changeCodeToChar(0xBC));
break;
- case 8:
- stack_pushCurrent(changeCodeToChar(0xbd));
+ case MSGTAG_THIN_UP_ARROW:
+ stack_pushCurrent(changeCodeToChar(0xBD));
break;
- case 9:
- stack_pushCurrent(changeCodeToChar(0xbe));
+ case MSGTAG_THIN_DOWN_ARROW:
+ stack_pushCurrent(changeCodeToChar(0xBE));
break;
- case 10:
- case 0xb:
- local_130.mSizeX += dVar13;
- mpReference->addLineLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- mpReference->setOutfontLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
+ case MSGTAG_BULLET:
+ case MSGTAG_BULLET_SPACE:
+ fontsize.mSizeX += var_f30;
+ mpReference->addLineLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ mpReference->setOutfontLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
}
mpReference->clearOutfontLength(mpReference->getLineCountNowPage());
break;
- case 0x30000:
- switch(param_1 & 0xff00ffff) {
- case 1:
- case 2:
- case 6:
- case 7:
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
- mpReference->setCharactor(0xffff);
- local_130.mSizeX += dVar13;
- mpReference->addLineLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- mpReference->setOutfontLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- break;
- case 3:
- case 4:
- case 5:
- mpReference->setCharactor(0xffff);
- local_130.mSizeX += dVar13;
- mpReference->addLineLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- mpReference->setOutfontLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- break;
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- mpReference->setCharactor(0xffff);
- local_130.mSizeX += dVar13;
- mpReference->addLineLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- mpReference->setOutfontLength(mpReference->getLineCountNowPage(), local_130.mSizeX);
- break;
- case 0:
+ case MSGTAG_GROUP(3):
+ switch(i_tag & 0xFF00FFFF) {
+ case MSGTAG_WII_ABTN:
+ case MSGTAG_WII_BBTN:
+ case MSGTAG_WII_1BTN:
+ case MSGTAG_WII_2BTN:
+ case MSGTAG_WII_NUNCHUK:
+ case MSGTAG_WII_WIIMOTE2:
+ case MSGTAG_WII_FAIRY:
+ case MSGTAG_WII_CBTN:
+ case MSGTAG_WII_ZBTN:
+ mpReference->setCharactor(0xFFFF);
+ fontsize.mSizeX += var_f30;
+ mpReference->addLineLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ mpReference->setOutfontLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ break;
+ case MSGTAG_WII_HOMEBTN:
+ case MSGTAG_WII_MINUSBTN:
+ case MSGTAG_WII_PLUSBTN:
+ mpReference->setCharactor(0xFFFF);
+ fontsize.mSizeX += var_f30;
+ mpReference->addLineLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ mpReference->setOutfontLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ break;
+ case MSGTAG_WII_DPAD_ITEM:
+ case MSGTAG_WII_DPAD_UP:
+ case MSGTAG_WII_DPAD_DOWN:
+ case MSGTAG_WII_DPAD_HORIZONTAL:
+ case MSGTAG_WII_DPAD_RIGHT:
+ case MSGTAG_WII_DPAD_LEFT:
+ case MSGTAG_WII_WIIMOTE:
+ case MSGTAG_WII_RETICULE:
+ mpReference->setCharactor(0xFFFF);
+ fontsize.mSizeX += var_f30;
+ mpReference->addLineLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ mpReference->setOutfontLength(mpReference->getLineCountNowPage(), fontsize.mSizeX);
+ break;
+ case MSGTAG_WII_MSGID_OVERRIDE:
break;
}
break;
@@ -4438,18 +4317,20 @@ bool jmessage_string_tMeasureProcessor::do_tag(u32 param_1, void const* param_2,
/* 8023098C-80230A08 22B2CC 007C+00 1/1 0/0 0/0 .text
* do_rubyset__33jmessage_string_tMeasureProcessorFPCvUl */
-void jmessage_string_tMeasureProcessor::do_rubyset(void const* param_1, u32 param_2) {
- u8 len = param_2 - 1;
- u8* pStr = (u8*)param_1;
+void jmessage_string_tMeasureProcessor::do_rubyset(void const* i_data, u32 i_size) {
+ u8 len = i_size - 1;
+ u8* pRuby = (u8*)i_data;
int i = 0;
- pStr++;
+ pRuby++;
+
while (i < len) {
- u8 arr[3];
- arr[0] = pStr[i++];
- arr[1] = pStr[i++];
- arr[2] = 0;
- int kata = (((char)arr[0] & 0xff) << 8) | ((char)arr[1] & 0xff);
- mpReference->setCharactor(changeKataToHira(kata));
+ u8 bytes[3];
+ bytes[0] = pRuby[i++];
+ bytes[1] = pRuby[i++];
+ bytes[2] = 0;
+
+ int character = (((char)bytes[0] & 0xFF) << 8) | ((char)bytes[1] & 0xFF);
+ mpReference->setCharactor(changeKataToHira(character));
}
}
@@ -4457,9 +4338,10 @@ void jmessage_string_tMeasureProcessor::do_rubyset(void const* param_1, u32 para
* __ct__34jmessage_string_tSequenceProcessorFPC26jmessage_string_tReferenceP24jmessage_string_tControl
*/
jmessage_string_tSequenceProcessor::jmessage_string_tSequenceProcessor(
- jmessage_string_tReference const* param_0, jmessage_string_tControl* param_1) :
- JMessage::TSequenceProcessor(param_0, param_1), mMeasureProcessor(param_0) {
-}
+ jmessage_string_tReference const* pReference, jmessage_string_tControl* pControl) :
+ JMessage::TSequenceProcessor(pReference, pControl),
+ mMeasureProcessor(pReference)
+ {}
/* 80230ABC-80230AC0 22B3FC 0004+00 1/0 0/0 0/0 .text
* do_reset__34jmessage_string_tSequenceProcessorFv */
@@ -4467,9 +4349,9 @@ void jmessage_string_tSequenceProcessor::do_reset() {}
/* 80230AC0-80230B7C 22B400 00BC+00 1/0 0/0 0/0 .text
* do_begin__34jmessage_string_tSequenceProcessorFPCvPCc */
-void jmessage_string_tSequenceProcessor::do_begin(void const* param_0, char const* param_1) {
+void jmessage_string_tSequenceProcessor::do_begin(void const* pEntry, char const* pszText) {
mpSeqReference = (jmessage_string_tReference*)JMessage::TSequenceProcessor::getReference();
- mMeasureProcessor.process_messageEntryText(this, param_0, param_1);
+ mMeasureProcessor.process_messageEntryText(this, pEntry, pszText);
}
/* 80230B7C-80230B80 22B4BC 0004+00 1/0 0/0 0/0 .text
@@ -4484,16 +4366,16 @@ bool jmessage_string_tSequenceProcessor::do_isReady() {
/* 80230B88-80230B8C 22B4C8 0004+00 1/0 0/0 0/0 .text
* do_character__34jmessage_string_tSequenceProcessorFi */
-void jmessage_string_tSequenceProcessor::do_character(int param_0) {}
+void jmessage_string_tSequenceProcessor::do_character(int iCharacter) {}
/* 80230B8C-80230BBC 22B4CC 0030+00 1/0 0/0 0/0 .text
* do_tag__34jmessage_string_tSequenceProcessorFUlPCvUl */
-bool jmessage_string_tSequenceProcessor::do_tag(u32 param_0, void const* param_1, u32 param_2) {
- switch (param_0 & 0xff0000) {
- case 0:
- switch(param_0) {
- case 0x36:
- dMeter2Info_setMsgKeyWaitTimer(*(u16*)param_1);
+bool jmessage_string_tSequenceProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_size) {
+ switch (i_tag & 0xFF0000) {
+ case MSGTAG_GROUP(0):
+ switch(i_tag) {
+ case MSGTAG_BOXATLEAST:
+ dMeter2Info_setMsgKeyWaitTimer(*(u16*)i_data);
break;
}
break;
@@ -4509,13 +4391,13 @@ bool jmessage_string_tSequenceProcessor::do_jump_isReady() {
/* 80230BC4-80230BC8 22B504 0004+00 1/0 0/0 0/0 .text
* do_jump__34jmessage_string_tSequenceProcessorFPCvPCc */
-void jmessage_string_tSequenceProcessor::do_jump(void const* param_0, char const* param_1) {}
+void jmessage_string_tSequenceProcessor::do_jump(void const* pEntry, char const* pszText) {}
/* 80230BC8-80230C20 22B508 0058+00 0/0 1/1 0/0 .text
* __ct__35jmessage_string_tRenderingProcessorFPC26jmessage_string_tReference */
jmessage_string_tRenderingProcessor::jmessage_string_tRenderingProcessor(
- jmessage_string_tReference const* param_0)
- : JMessage::TRenderingProcessor(param_0) {
+ jmessage_string_tReference const* pReference)
+ : JMessage::TRenderingProcessor(pReference) {
mpReference = (jmessage_string_tReference*)getReference();
do_reset();
}
@@ -4554,7 +4436,7 @@ void jmessage_string_tRenderingProcessor::do_reset() {
/* 80230CA0-80230CE8 22B5E0 0048+00 1/0 0/0 0/0 .text
* do_begin__35jmessage_string_tRenderingProcessorFPCvPCc */
-void jmessage_string_tRenderingProcessor::do_begin(void const* param_0, char const* param_1) {
+void jmessage_string_tRenderingProcessor::do_begin(void const* pEntry, char const* pszText) {
do_reset();
do_widthcenter();
do_heightcenter();
@@ -4563,31 +4445,30 @@ void jmessage_string_tRenderingProcessor::do_begin(void const* param_0, char con
/* 80230CE8-80230D48 22B628 0060+00 1/0 0/0 0/0 .text
* do_end__35jmessage_string_tRenderingProcessorFv */
void jmessage_string_tRenderingProcessor::do_end() {
- J2DTextBox* pane = mpReference->getPanePtr();
- if (pane != NULL) {
- strcpy(pane->getStringPtr(), field_0x54);
+ if (mpReference->getPanePtr() != NULL) {
+ strcpy(mpReference->getPanePtr()->getStringPtr(), field_0x54);
}
- J2DTextBox* rubyPane = mpReference->getRubyPanePtr();
- if (rubyPane != NULL) {
- strcpy(rubyPane->getStringPtr(), field_0x254);
+ if (mpReference->getRubyPanePtr() != NULL) {
+ strcpy(mpReference->getRubyPanePtr()->getStringPtr(), field_0x254);
}
}
/* 80230D48-80231110 22B688 03C8+00 1/0 0/0 0/0 .text
* do_character__35jmessage_string_tRenderingProcessorFi */
-void jmessage_string_tRenderingProcessor::do_character(int param_1) {
+void jmessage_string_tRenderingProcessor::do_character(int iCharacter) {
JUTFont* pFont = mpReference->getFont();
- if (JUTFont::isLeadByte_ShiftJIS(param_1)) {
- if (!isOutfontKanjiCode(param_1)) {
- u16 kata = change1ByteTo2Bytes(param_1);
- mpReference->addCharactor(changeKataToHira(kata));
+ if (JUTFont::isLeadByte_ShiftJIS(iCharacter)) {
+ if (!isOutfontKanjiCode(iCharacter)) {
+ u16 character2Bytes = change1ByteTo2Bytes(iCharacter);
+ mpReference->addCharactor(changeKataToHira(character2Bytes));
}
} else {
- if (param_1 < 0x8800 && !isOutfontKanjiCode(param_1)) {
- mpReference->addCharactor(changeKataToHira(param_1));
+ if (iCharacter < 0x8800 && !isOutfontKanjiCode(iCharacter)) {
+ mpReference->addCharactor(changeKataToHira(iCharacter));
}
}
+
f32 dVar12;
J2DTextBox::TFontSize fontSize;
if (mpReference->getPanePtr() != NULL) {
@@ -4600,15 +4481,15 @@ void jmessage_string_tRenderingProcessor::do_character(int param_1) {
char local_a6[3];
local_a6[0] = local_a6[1] = local_a6[2] = 0;
- if ((param_1 & 0xff00U) != 0) {
- local_a6[0] = ((int)(param_1 & 0xff00U) >> 8);
- local_a6[1] = param_1 & 0xff;
+ if ((iCharacter & 0xFF00) != 0) {
+ local_a6[0] = ((int)(iCharacter & 0xFF00) >> 8);
+ local_a6[1] = iCharacter & 0xFF;
} else {
- local_a6[0] = param_1 & 0xff;
+ local_a6[0] = iCharacter & 0xFF;
local_a6[1] = 0;
}
- if (param_1 == 10) {
+ if (iCharacter == '\n') {
do_strcat(local_a6);
do_rubystrcat(local_a6);
field_0x552++;
@@ -4620,7 +4501,7 @@ void jmessage_string_tRenderingProcessor::do_character(int param_1) {
do_widthcenter();
} else {
f32 fVar2;
- f32 fVar1 = dVar12 + fontSize.mSizeX * (pFont->getWidth(param_1) / (f32)pFont->getCellWidth());
+ f32 fVar1 = dVar12 + fontSize.mSizeX * (pFont->getWidth(iCharacter) / (f32)pFont->getCellWidth());
field_0x4c += fVar1;
if (field_0x554 != 0) {
field_0x40 += fVar1;
@@ -4656,426 +4537,430 @@ void jmessage_string_tRenderingProcessor::do_character(int param_1) {
/* 80231110-80231D70 22BA50 0C60+00 6/0 0/0 0/0 .text
* do_tag__35jmessage_string_tRenderingProcessorFUlPCvUl */
-bool jmessage_string_tRenderingProcessor::do_tag(u32 param_1, void const* param_2, u32 param_3) {
- jmessage_tReference* pRef = (jmessage_tReference*)getReference();
- switch(param_1 & 0xff0000) {
- case 0xff0000:
- switch(param_1) {
- case 0xff0000:
- do_color(*(u8*)param_2 & 0xff);
- break;
- case 0xff0001:
- do_scale(*(u16*)param_2 / 100.0f);
- break;
- case 0xff0002:
- case 0xffff02:
- do_rubyset(param_2, param_3);
+bool jmessage_string_tRenderingProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_size) {
+ jmessage_tReference* pReference = (jmessage_tReference*)getReference();
+ switch(i_tag & 0xFF0000) {
+ case MSGTAG_GROUP(255):
+ switch(i_tag) {
+ case MSGTAG_COLOR:
+ do_color(*(u8*)i_data & 0xFF);
+ break;
+ case MSGTAG_SCALE:
+ do_scale(*(u16*)i_data / 100.0f);
+ break;
+ case MSGTAG_RUBY:
+ case 0xFFFF02:
+ do_rubyset(i_data, i_size);
break;
}
break;
- case 0:
- switch (param_1) {
- case 0:
+ case MSGTAG_GROUP(0):
+ switch (i_tag) {
+ case MSGTAG_PLAYER_NAME:
push_word(dComIfGs_getPlayerName());
break;
- case 0x22:
+ case MSGTAG_HORSE_NAME:
push_word(dComIfGs_getHorseName());
break;
- case 0x35:
+ case MSGTAG_UNK_53:
push_word(dMsgObject_getWord());
break;
- case 0x29:
+ case MSGTAG_SCENT_NAME:
push_word(dMsgObject_getMsgObjectClass()->getSmellName());
break;
- case 0x2b:
+ case MSGTAG_PORTAL_NAME:
push_word(dMsgObject_getMsgObjectClass()->getPortalName());
break;
- case 0x2d:
+ case MSGTAG_BOMB_NAME:
push_word(dMsgObject_getMsgObjectClass()->getBombName());
break;
- case 0x3b:
+ case MSGTAG_INSECT_NAME:
push_word(dMsgObject_getMsgObjectClass()->getInsectName());
break;
- case 0x3c:
+ case MSGTAG_LETTER_NAME:
push_word(dMsgObject_getMsgObjectClass()->getLetterName());
break;
- case 0x3d:
- do_linedown(*(u16*)param_2);
+ case MSGTAG_LINE_DOWN:
+ do_linedown(*(u16*)i_data);
break;
- case 0x3e:
- char acStack_148[4];
- sprintf(acStack_148, "%d", dComIfGp_getMessageCountNumber() / 100);
- push_word(acStack_148);
+ case MSGTAG_CURRENT_LETTER_PAGE: {
+ char buffer[4];
+ sprintf(buffer, "%d", dComIfGp_getMessageCountNumber() / 100);
+ push_word(buffer);
break;
- case 0x3f:
- char acStack_14c[4];
- sprintf(acStack_14c, "%d", dComIfGp_getMessageCountNumber() % 100);
- push_word(acStack_14c);
+ }
+ case MSGTAG_MAX_LETTER_PAGE: {
+ char buffer[4];
+ sprintf(buffer, "%d", dComIfGp_getMessageCountNumber() % 100);
+ push_word(buffer);
break;
- case 10:
+ }
+ case MSGTAG_ABTN:
do_outfont(0);
break;
- case 0xb:
+ case MSGTAG_BBTN:
do_outfont(1);
break;
- case 0xc:
+ case MSGTAG_CSTICK:
do_outfont(2);
break;
- case 0xd:
+ case MSGTAG_LBTN:
do_outfont(3);
break;
- case 0xe:
+ case MSGTAG_RBTN:
do_outfont(4);
break;
- case 0xf:
+ case MSGTAG_XBTN:
do_outfont(5);
break;
- case 0x10:
+ case MSGTAG_YBTN:
do_outfont(6);
break;
- case 0x11:
+ case MSGTAG_ZBTN:
do_outfont(7);
break;
- case 0x12:
+ case MSGTAG_DPAD:
do_outfont(8);
break;
- case 0x13:
+ case MSGTAG_STICK_CROSS:
do_outfont(9);
break;
- case 0x14:
+ case MSGTAG_LEFT_ARROW:
do_outfont(10);
break;
- case 0x15:
+ case MSGTAG_RIGHT_ARROW:
do_outfont(11);
break;
- case 0x16:
+ case MSGTAG_UP_ARROW:
do_outfont(12);
break;
- case 0x17:
+ case MSGTAG_DOWN_ARROW:
do_outfont(13);
break;
- case 0x18:
+ case MSGTAG_STICK_UP:
do_outfont(14);
break;
- case 0x19:
+ case MSGTAG_STICK_DOWN:
do_outfont(15);
break;
- case 0x1a:
+ case MSGTAG_STICK_LEFT:
do_outfont(16);
break;
- case 0x1b:
+ case MSGTAG_STICK_RIGHT:
do_outfont(17);
break;
- case 0x1c:
+ case MSGTAG_STICK_VERTICAL:
do_outfont(18);
break;
- case 0x1d:
+ case MSGTAG_STICK_HORIZONTAL:
do_outfont(19);
break;
- case 0x23:
+ case MSGTAG_RED_TARGET:
do_outfont(20);
break;
- case 0x24:
+ case MSGTAG_YELLOW_TARGET:
do_outfont(21);
break;
- case 0x25:
+ case MSGTAG_INPUT_VALUE:
do_outfont(30);
do_numset(dMsgObject_getMsgObjectClass()->getInputValue());
break;
- case 0x27:
+ case MSGTAG_ABTN_STAR:
do_outfont(23);
break;
- case 0x2a:
+ case MSGTAG_WHITE_TARGET:
do_outfont(24);
break;
- case 0x2c:
+ case MSGTAG_WARP_ICON:
do_outfont(25);
break;
- case 0x2e:
+ case MSGTAG_XYBTN:
if (dMsgObject_getItemEquipButton() == 0) {
do_outfont(5);
} else {
do_outfont(6);
}
break;
- case 0x2f:
+ case MSGTAG_YXBTN:
if (dMsgObject_getItemEquipButton() == 0) {
do_outfont(6);
} else {
do_outfont(5);
}
break;
- case 0x30:
+ case MSGTAG_BOMB_BAG_ICON:
do_outfont(41);
break;
- case 0x39:
+ case MSGTAG_HEART:
do_outfont(27);
break;
- case 0x3a:
+ case MSGTAG_QUAVER:
do_outfont(28);
break;
- case 0x31: {
- char acStack_48[40];
- u8 uVar7 = dMsgObject_getMsgObjectClass()->getSelectBombNum();
- dMsgUnit_setTag(7, uVar7, acStack_48);
- push_word(acStack_48);
+ case MSGTAG_BOMB_NUM: {
+ char buffer[40];
+ u8 num = dMsgObject_getMsgObjectClass()->getSelectBombNum();
+ dMsgUnit_setTag(7, num, buffer);
+ push_word(buffer);
break;
}
- case 0x32: {
- char acStack_70[40];
- s16 local_140 = dMsgObject_getMsgObjectClass()->getSelectBombPrice();
- dMsgUnit_setTag(1, local_140, acStack_70);
- push_word(acStack_70);
+ case MSGTAG_BOMB_PRICE: {
+ char buffer[40];
+ s16 price = dMsgObject_getMsgObjectClass()->getSelectBombPrice();
+ dMsgUnit_setTag(1, price, buffer);
+ push_word(buffer);
break;
}
- case 0x37:
+ case MSGTAG_BOMB_MAX: {
u8 bombType = fpcNm_ITEM_NORMAL_BOMB;
- if ((*(u8*)param_2 ) == 1) {
+ if ((*(u8*)i_data) == 1) {
bombType = fpcNm_ITEM_WATER_BOMB;
- } else if ((*(s8*)param_2 & 0xffU) == 2) {
+ } else if ((*(s8*)i_data & 0xFFU) == 2) {
bombType = fpcNm_ITEM_POKE_BOMB;
}
- char bombMax[40];
- dMsgUnit_setTag(7, dComIfGs_getBombMax(bombType), bombMax);
- push_word(bombMax);
+
+ char buffer[40];
+ dMsgUnit_setTag(7, dComIfGs_getBombMax(bombType), buffer);
+ push_word(buffer);
break;
- case 0x38: {
- char acStack_c0[40];
- dMsgUnit_setTag(0, dComIfGs_getArrowMax(), acStack_c0);
- push_word(acStack_c0);
+ }
+ case MSGTAG_ARROW_MAX: {
+ char buffer[40];
+ dMsgUnit_setTag(0, dComIfGs_getArrowMax(), buffer);
+ push_word(buffer);
break;
}
}
break;
- case 0x40000:
- switch (param_1 & 0xff00ffff) {
- case 0:
+ case MSGTAG_GROUP(4):
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_GLYPH_DOLLARSIGN:
push_word(changeCodeToChar(0x24));
break;
- case 1:
- push_word(changeCodeToChar(0x5c));
+ case MSGTAG_GLYPH_BACKSLASH:
+ push_word(changeCodeToChar(0x5C));
break;
- case 2:
+ case MSGTAG_GLYPH_ATMARK:
push_word(changeCodeToChar(0x40));
break;
- case 3:
- push_word(changeCodeToChar(0x81f2));
+ case MSGTAG_GLYPH_SHARP:
+ push_word(changeCodeToChar(0x81F2));
break;
- case 4:
- push_word(changeCodeToChar(0x81f3));
+ case MSGTAG_GLYPH_FLAT:
+ push_word(changeCodeToChar(0x81F3));
break;
- case 5:
- push_word(changeCodeToChar(0x81e3));
+ case MSGTAG_GLYPH_SQRT:
+ push_word(changeCodeToChar(0x81E3));
break;
- case 6:
- push_word(changeCodeToChar(0x876c));
+ case MSGTAG_GLYPH_PERCENT:
+ push_word(changeCodeToChar(0x876C));
break;
- case 7:
+ case MSGTAG_GLYPH_HECTARE:
push_word(changeCodeToChar(0x8766));
break;
- case 8:
+ case MSGTAG_GLYPH_ARE:
push_word(changeCodeToChar(0x8765));
break;
- case 9:
+ case MSGTAG_GLYPH_LITRE:
push_word(changeCodeToChar(0x8767));
break;
- case 10:
+ case MSGTAG_GLYPH_WATT:
push_word(changeCodeToChar(0x8768));
break;
- case 0xb:
+ case MSGTAG_GLYPH_CALORIE:
push_word(changeCodeToChar(0x8769));
break;
- case 0xc:
- push_word(changeCodeToChar(0x876a));
+ case MSGTAG_GLYPH_DOLLAR:
+ push_word(changeCodeToChar(0x876A));
break;
- case 0xd:
- push_word(changeCodeToChar(0x876b));
+ case MSGTAG_GLYPH_CENT:
+ push_word(changeCodeToChar(0x876B));
break;
}
break;
- case 0x50000: {
- char acStack_e8[40];
- switch (param_1 & 0xff00ffff) {
- case 0:
- if (*(u8*)param_2 == 0) {
- dMsgUnit_setTag(4, dMeter2Info_getMsgTimeMs(), acStack_e8);
- } else if ((*(s8*)param_2 & 0xffU) == 2) {
- dMsgUnit_setTag(4, dComIfGs_getRaceGameTime(), acStack_e8);
+ case MSGTAG_GROUP(5): {
+ char buffer[40];
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_TIME_INFO:
+ if (*(u8*)i_data == 0) {
+ dMsgUnit_setTag(4, dMeter2Info_getMsgTimeMs(), buffer);
+ } else if ((*(s8*)i_data & 0xFFU) == 2) {
+ dMsgUnit_setTag(4, dComIfGs_getRaceGameTime(), buffer);
} else {
- dMsgUnit_setTag(4, dMeter2Info_getTimeMs(), acStack_e8);
+ dMsgUnit_setTag(4, dMeter2Info_getTimeMs(), buffer);
}
break;
case 1:
- dMsgUnit_setTag(0, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_e8);
+ dMsgUnit_setTag(0, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
case 2:
- dMsgUnit_setTag(1, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_e8);
+ dMsgUnit_setTag(1, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 9: {
- s16 uVar9 = *(int*)param_2;
+ case MSGTAG_FUNDRAISE_REMAIN: {
+ s16 uVar9 = *(int*)i_data;
dMsgObject_getMsgObjectClass()->setFundRaisingValue(uVar9);
- dMsgUnit_setTag(10, uVar9 - dMsgObject_getFundRaising(), acStack_e8);
+ dMsgUnit_setTag(10, uVar9 - dMsgObject_getFundRaising(), buffer);
break;
}
- case 10:
- dMsgUnit_setTag(0xb, dMeter2Info_getNewLetterNum(), acStack_e8);
+ case MSGTAG_NEW_LETTER_NUM:
+ dMsgUnit_setTag(0xb, dMeter2Info_getNewLetterNum(), buffer);
break;
- case 0xb:
- dMsgUnit_setTag(0xc, getPohNum(), acStack_e8);
+ case MSGTAG_POE_NUM:
+ dMsgUnit_setTag(0xc, getPohNum(), buffer);
break;
- case 0xc:{
+ case MSGTAG_BALLOON_SCORE:{
int local_15c;
- if (*(u8*)param_2 == 0) {
+ if (*(u8*)i_data == 0) {
local_15c = dComIfGp_getMessageCountNumber();
} else {
local_15c = dComIfGs_getBalloonScore();
}
- dMsgUnit_setTag(0xd, local_15c, acStack_e8);
+ dMsgUnit_setTag(0xd, local_15c, buffer);
break;
}
- case 3: {
+ case MSGTAG_INSECT_INFO: {
int insectNum;
- if (*(u8*)param_2 == 0) {
+ if (*(u8*)i_data == 0) {
insectNum = dComIfGs_checkGetInsectNum();
} else {
- insectNum = 0x18 - dComIfGs_checkGetInsectNum();
+ insectNum = 24 - dComIfGs_checkGetInsectNum();
}
- dMsgUnit_setTag(2, insectNum, acStack_e8);
+ dMsgUnit_setTag(2, insectNum, buffer);
break;
}
case 4:
- dMsgUnit_setTag(3, 0, acStack_e8);
+ dMsgUnit_setTag(3, 0, buffer);
break;
case 5:
- dMsgUnit_setTag(0x10000, dComIfGp_getNeedLightDropNum(), acStack_e8);
+ dMsgUnit_setTag(0x10000, dComIfGp_getNeedLightDropNum(), buffer);
break;
case 6:
- dMsgUnit_setTag(6, 0x14 - dComIfGs_getEventReg(0xff1f), acStack_e8);
+ dMsgUnit_setTag(6, 20 - dComIfGs_getEventReg(0xFF1F), buffer);
break;
- case 8:
- dMsgUnit_setTag(9, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_e8);
+ case MSGTAG_FISH_LENGTH:
+ dMsgUnit_setTag(9, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 0xd:
- dMsgUnit_setTag(0xe, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_e8);
+ case MSGTAG_FISH_COUNT:
+ dMsgUnit_setTag(0xe, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 0xe:
- dMsgUnit_setTag(0x10001, g_dComIfG_gameInfo.play.mItemInfo.mMessageCountNum, acStack_e8);
+ case MSGTAG_ROLLGOAL_LV:
+ dMsgUnit_setTag(0x10001, (s32)dComIfGp_getMessageCountNumber(), buffer);
break;
- case 7:
- dMsgUnit_setTag(8, g_meter2_info.mNowCount, acStack_e8);
+ case MSGTAG_RIVER_POINTS:
+ dMsgUnit_setTag(8, dMeter2Info_getNowCount(), buffer);
break;
default:
return 0;
}
- push_word(acStack_e8);
+ push_word(buffer);
break;
}
- case 0x60000: {
- char acStack_110[40];
- switch (param_1 & 0xff00ffff) {
- case 0:
- // @bug acStack_110 is uninitialized
- push_word(acStack_110);
+ case MSGTAG_GROUP(6): {
+ char buffer[40];
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_PLAYER_GENITIV:
+ // @bug buffer is uninitialized
+ push_word(buffer);
break;
- case 1:
- push_word(acStack_110);
+ case MSGTAG_HORSE_GENITIV:
+ push_word(buffer);
break;
- case 2:
- push_word(changeCodeToChar(0xb2));
+ case MSGTAG_MALE_ICON:
+ push_word(changeCodeToChar(0xB2));
break;
- case 3:
- push_word(changeCodeToChar(0xb3));
+ case MSGTAG_FEMALE_ICON:
+ push_word(changeCodeToChar(0xB3));
break;
- case 4:
- push_word(changeCodeToChar(0xb1));
+ case MSGTAG_STAR_ICON:
+ push_word(changeCodeToChar(0xB1));
break;
- case 5:
+ case MSGTAG_REFMARK:
push_word(changeCodeToChar(0x89));
break;
- case 6:
- push_word(changeCodeToChar(0xb9));
+ case MSGTAG_THIN_LEFT_ARROW:
+ push_word(changeCodeToChar(0xB9));
break;
- case 7:
- push_word(changeCodeToChar(0xbc));
+ case MSGTAG_THIN_RIGHT_ARROW:
+ push_word(changeCodeToChar(0xBC));
break;
- case 8:
- push_word(changeCodeToChar(0xbd));
+ case MSGTAG_THIN_UP_ARROW:
+ push_word(changeCodeToChar(0xBD));
break;
- case 9:
- push_word(changeCodeToChar(0xbe));
+ case MSGTAG_THIN_DOWN_ARROW:
+ push_word(changeCodeToChar(0xBE));
break;
- case 10:
+ case MSGTAG_BULLET:
do_outfont(42);
break;
- case 0xb:
+ case MSGTAG_BULLET_SPACE:
do_outfont(43);
}
break;
}
- case 0x30000:
- switch (param_1 & 0xff00ffff) {
- case 1:
+ case MSGTAG_GROUP(3):
+ switch (i_tag & 0xFF00FFFF) {
+ case MSGTAG_WII_ABTN:
do_outfont(0);
break;
- case 2:
+ case MSGTAG_WII_BBTN:
do_outfont(51);
break;
- case 3:
+ case MSGTAG_WII_HOMEBTN:
do_outfont(52);
break;
- case 4:
+ case MSGTAG_WII_MINUSBTN:
do_outfont(53);
break;
- case 5:
+ case MSGTAG_WII_PLUSBTN:
do_outfont(54);
break;
- case 6:
+ case MSGTAG_WII_1BTN:
do_outfont(63);
break;
- case 7:
+ case MSGTAG_WII_2BTN:
do_outfont(64);
break;
- case 8:
+ case MSGTAG_WII_DPAD_ITEM:
do_outfont(50);
break;
- case 9:
+ case MSGTAG_WII_DPAD_UP:
do_outfont(49);
break;
- case 10:
+ case MSGTAG_WII_DPAD_DOWN:
do_outfont(65);
break;
- case 0xb:
+ case MSGTAG_WII_DPAD_HORIZONTAL:
do_outfont(66);
break;
- case 0xc:
+ case MSGTAG_WII_DPAD_RIGHT:
do_outfont(67);
break;
- case 0xd:
+ case MSGTAG_WII_DPAD_LEFT:
do_outfont(68);
break;
- case 0xe:
+ case MSGTAG_WII_WIIMOTE:
if (dComIfGs_getOptPointer() == 0) {
do_outfont(9);
} else {
do_outfont(44);
}
break;
- case 0xf:
+ case MSGTAG_WII_RETICULE:
do_outfont(69);
break;
- case 0x10:
+ case MSGTAG_WII_NUNCHUK:
do_outfont(45);
break;
- case 0x11:
+ case MSGTAG_WII_WIIMOTE2:
do_outfont(44);
break;
- case 0x12:
+ case MSGTAG_WII_FAIRY:
do_outfont(62);
break;
- case 0x13:
+ case MSGTAG_WII_CBTN:
do_outfont(2);
break;
- case 0x14:
+ case MSGTAG_WII_ZBTN:
do_outfont(7);
break;
}
@@ -5093,8 +4978,9 @@ void jmessage_string_tRenderingProcessor::do_widthcenter() {
f32 width;
f32 lineLength;
f32 dVar9;
- char acStack_68[16];
+ char buffer[16];
int outFontLen;
+
if (getLineCountNowPage() >= 0 && mpReference->getPanePtr() != NULL) {
if (mpReference->isFlag(1) == 0) {
if (mpReference->getPanePtr()->getHBinding() != HBIND_CENTER) {
@@ -5117,17 +5003,18 @@ void jmessage_string_tRenderingProcessor::do_widthcenter() {
width = scale * mpReference->getPanePtr()->getWidth();
lineLength = mpReference->getLineLength(getLineCountNowPage());
- dVar9 =
- (0.5f + (width - lineLength) / 2);
+ dVar9 = (0.5f + (width - lineLength) / 2);
+
if (mpReference->getPanePtr()->getHBinding() == HBIND_CENTER) {
- snprintf(acStack_68, sizeof(acStack_68) - 1, "\x1B" "CL[%d]", (int)mpReference->getOutfontLength(getLineCountNowPage()));
- do_strcat(acStack_68);
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CL[%d]", (int)mpReference->getOutfontLength(getLineCountNowPage()));
+ do_strcat(buffer);
}
+
if (dVar9 >= 1.0f) {
field_0x4c += (int)dVar9;
if (mpReference->getPanePtr()->getHBinding() != HBIND_CENTER) {
- snprintf(acStack_68, sizeof(acStack_68) - 1, "\x1B" "CR[%d]", (int)dVar9);
- do_strcat(acStack_68);
+ snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)dVar9);
+ do_strcat(buffer);
}
}
}
@@ -5142,6 +5029,7 @@ void jmessage_string_tRenderingProcessor::do_heightcenter() {
f32 dVar11;
f32 dVar9;
char buffer[16];
+
if (mpReference->getLineCountNowPage() >= 0 && mpReference->getPanePtr() != NULL) {
if (mpReference->isFlag(2) == 0) {
if (mpReference->getPanePtr()->getHBinding() != HBIND_CENTER)
@@ -5153,6 +5041,7 @@ void jmessage_string_tRenderingProcessor::do_heightcenter() {
lineSpace = mpReference->getPanePtr()->getLineSpace();
dVar11 = ((lineSpace * mpReference->getLineCountNowPage()) - (lineSpace - fontSize.mSizeY));
dVar9 = 0.5f + (height - dVar11) / 2;
+
if (dVar9 >= 1.0f) {
field_0x50 += dVar9;
if (mpReference->getPanePtr()->getHBinding() != HBIND_CENTER) {
@@ -5166,42 +5055,50 @@ void jmessage_string_tRenderingProcessor::do_heightcenter() {
/* 80232044-802320B0 22C984 006C+00 7/7 0/0 0/0 .text
* do_strcat__35jmessage_string_tRenderingProcessorFPc */
-void jmessage_string_tRenderingProcessor::do_strcat(char* param_0) {
+void jmessage_string_tRenderingProcessor::do_strcat(char* i_str) {
if (getLineCountNowPage() >= 0) {
- field_0x54e += strlen(param_0);
+ field_0x54e += strlen(i_str);
if (field_0x54e < 512) {
- strcat(field_0x54, param_0);
+ strcat(field_0x54, i_str);
+ } else {
+ JUT_WARN(7531, "%s", "Message Alloc Byte Over!!");
}
}
}
/* 802320B0-80232260 22C9F0 01B0+00 1/1 0/0 0/0 .text
* do_rubyset__35jmessage_string_tRenderingProcessorFPCvUl */
-void jmessage_string_tRenderingProcessor::do_rubyset(void const* param_0, u32 param_1) {
+void jmessage_string_tRenderingProcessor::do_rubyset(void const* i_data, u32 i_size) {
if (getLineCountNowPage() >= 0) {
if (mpReference->getRubyPanePtr() != NULL) {
JUTFont* pFont = mpReference->getFont();
f32 charSpace = mpReference->getRubyPanePtr()->getCharSpace();
J2DTextBox::TFontSize fontSize;
mpReference->getRubyPanePtr()->getFontSize(fontSize);
- u8 m_rubycount = param_1 - 1;
- u8* pArr = (u8*)param_0;
+
+ u8 m_rubycount = i_size - 1;
+ u8* pRuby = (u8*)i_data;
+
int i = 0;
JUT_ASSERT(7565, m_rubycount < (50));
- field_0x554 = *(u8*)param_0 & 0xff;
- pArr++;
+ field_0x554 = *(u8*)i_data & 0xFF;
+ pRuby++;
+
field_0x454[0] = 0;
field_0x44 = 0.0f;
+
while (i < (int)m_rubycount) {
- u8 local_64[3];
- local_64[0] = pArr[i++];
- local_64[1] = pArr[i++];
- local_64[2] = 0;
- strcat(field_0x454, (const char*)local_64);
- int uVar10 = (((char)local_64[0] & 0xff) << 8) | ((char)local_64[1] & 0xff);
- field_0x44 += charSpace + fontSize.mSizeX * ((f32)pFont->getWidth(uVar10) / pFont->getCellWidth());
- mpReference->addCharactor(changeKataToHira(uVar10));
+ u8 bytes[3];
+ bytes[0] = pRuby[i++];
+ bytes[1] = pRuby[i++];
+ bytes[2] = 0;
+ strcat(field_0x454, (const char*)bytes);
+
+ int character = (((char)bytes[0] & 0xFF) << 8) | ((char)bytes[1] & 0xFF);
+ field_0x44 += charSpace + fontSize.mSizeX * ((f32)pFont->getWidth(character) / pFont->getCellWidth());
+ mpReference->addCharactor(changeKataToHira(character));
}
+
field_0x44 -= charSpace;
field_0x3c = field_0x4c;
field_0x40 = 0.0f;
@@ -5211,24 +5108,28 @@ void jmessage_string_tRenderingProcessor::do_rubyset(void const* param_0, u32 pa
/* 80232260-802322CC 22CBA0 006C+00 2/2 0/0 0/0 .text
* do_rubystrcat__35jmessage_string_tRenderingProcessorFPc */
-void jmessage_string_tRenderingProcessor::do_rubystrcat(char* param_0) {
+void jmessage_string_tRenderingProcessor::do_rubystrcat(char* i_str) {
if (getLineCountNowPage() >= 0) {
- field_0x550 += strlen(param_0);
+ field_0x550 += strlen(i_str);
if (field_0x550 < 512) {
- strcat(field_0x254, param_0);
+ strcat(field_0x254, i_str);
+ } else {
+ JUT_WARN(7613, "%s", "Message Alloc Byte Over!!");
}
}
}
/* 802322CC-8023256C 22CC0C 02A0+00 2/2 0/0 0/0 .text
* do_outfont__35jmessage_string_tRenderingProcessorFUc */
-void jmessage_string_tRenderingProcessor::do_outfont(u8 param_1) {
+void jmessage_string_tRenderingProcessor::do_outfont(u8 i_iconNo) {
if (mpReference->getPanePtr() != NULL) {
- f32 dVar11 = mpReference->getPanePtr()->getCharSpace();
+ f32 charSpace = mpReference->getPanePtr()->getCharSpace();
f32 dVar13 = 0.0f;
int r28 = 1;
- J2DTextBox::TFontSize local_60;
- mpReference->getPanePtr()->getFontSize(local_60);
+
+ J2DTextBox::TFontSize fontSize;
+ mpReference->getPanePtr()->getFontSize(fontSize);
+
if (mpReference->getOutFontPtr() != NULL) {
J2DPane* pane = mpReference->getPanePtr();
f32 paneBounds0 = pane->getBounds().i.x;
@@ -5236,60 +5137,58 @@ void jmessage_string_tRenderingProcessor::do_outfont(u8 param_1) {
f32 scales[2];
scales[0] = mpReference->getPanePtr()->getScaleX();
scales[1] = mpReference->getPanePtr()->getScaleX();
+
for (pane = pane->getParentPane(); pane != NULL; pane = pane->getParentPane()) {
paneBounds0 += pane->getBounds().i.x;
paneBounds1 += pane->getBounds().i.y;
}
- f32 stack_2c = local_60.mSizeX;
- f32 stack_28 = local_60.mSizeY;
- f32 local_8c = 0.0f;
- f32 local_90 = 0.0f;
+
+ f32 stack_2c = fontSize.mSizeX;
+ f32 stack_28 = fontSize.mSizeY;
+ f32 posX = 0.0f;
+ f32 posY = 0.0f;
if (mpReference->isFlag(4)) {
- f32 dVar14 = mpReference->getPanePtr()->getWidth();
- f32 dVar12 = mpReference->getLineLength(getLineCountNowPage());
- local_8c = 0.5f + (dVar14 - dVar12) / 2;
+ f32 width = mpReference->getPanePtr()->getWidth();
+ f32 lineLen = mpReference->getLineLength(getLineCountNowPage());
+ posX = 0.5f + (width - lineLen) / 2;
}
- if (mpReference->isFlag(
- #if VERSION == VERSION_SHIELD_DEBUG
- 8
- #else
- 8
- #endif
- )) {
- f32 dVar14 = mpReference->getPanePtr()->getHeight();
- J2DTextBox::TFontSize TStack_68;
- mpReference->getPanePtr()->getFontSize(TStack_68);
- f32 dVar12 = mpReference->getPanePtr()->getLineSpace();
- f32 stack_c = (dVar12 * mpReference->getLineCountNowPage() - (dVar12 - TStack_68.mSizeY));
- local_90 =
- 0.5f +
- (dVar14 - stack_c) / 2;
+
+ if (mpReference->isFlag(8)) {
+ f32 height = mpReference->getPanePtr()->getHeight();
+ J2DTextBox::TFontSize fontSize;
+ mpReference->getPanePtr()->getFontSize(fontSize);
+
+ f32 lineSpace = mpReference->getPanePtr()->getLineSpace();
+ f32 stack_c = (lineSpace * mpReference->getLineCountNowPage() - (lineSpace - fontSize.mSizeY));
+ posY = 0.5f + (height - stack_c) / 2;
}
- mpReference->getOutFontPtr()->drawFont(
- mpReference->getPanePtr(), param_1, field_0x4c + local_8c, field_0x50 + local_90,
- local_60.mSizeX, local_60.mSizeY, 0xffffffff, 0xff);
- dVar13 = (0.5f + (dVar11 + local_60.mSizeX * r28));
+
+ mpReference->getOutFontPtr()->drawFont(mpReference->getPanePtr(), i_iconNo, field_0x4c + posX, field_0x50 + posY,
+ fontSize.mSizeX, fontSize.mSizeY, 0xFFFFFFFF, 0xFF);
+ dVar13 = (0.5f + (charSpace + fontSize.mSizeX * r28));
}
+
field_0x4c += (int) dVar13;
char buffer[16];
snprintf(buffer, sizeof(buffer) - 1, "\x1B" "CR[%d]", (int)dVar13);
do_strcat(buffer);
- mpReference->addCharactor(0xffff);
+ mpReference->addCharactor(0xFFFF);
}
}
/* 8023256C-80232600 22CEAC 0094+00 1/1 0/0 0/0 .text
* do_color__35jmessage_string_tRenderingProcessorFUc */
-void jmessage_string_tRenderingProcessor::do_color(u8 param_0) {
+void jmessage_string_tRenderingProcessor::do_color(u8 i_colorNo) {
u32 ccColor;
u32 gcColor;
- if (param_0 == 0) {
+ if (i_colorNo == 0) {
ccColor = ((jmessage_string_tReference*)getReference())->getCCColor();
gcColor = ((jmessage_string_tReference*)getReference())->getGCColor();
} else {
- ccColor = getFontCCColorTable(param_0, 0);
- gcColor = getFontGCColorTable(param_0, 0);
+ ccColor = getFontCCColorTable(i_colorNo, 0);
+ gcColor = getFontGCColorTable(i_colorNo, 0);
}
+
char buffer[32];
sprintf(buffer, "\x1b" "CC[%08x]" "\x1b" "GC[%08x]", ccColor, gcColor);
do_strcat(buffer);
@@ -5297,42 +5196,44 @@ void jmessage_string_tRenderingProcessor::do_color(u8 param_0) {
/* 80232600-80232690 22CF40 0090+00 1/1 0/0 0/0 .text
* do_scale__35jmessage_string_tRenderingProcessorFf */
-void jmessage_string_tRenderingProcessor::do_scale(f32 param_0) {
+void jmessage_string_tRenderingProcessor::do_scale(f32 i_scale) {
J2DTextBox::TFontSize fontSize;
mpReference->getPanePtr()->getFontSize(fontSize);
- s16 local_60 = 0.5f + fontSize.mSizeX * param_0;
- s16 local_58 = 0.5f + fontSize.mSizeY * param_0;
+ s16 scaleX = 0.5f + fontSize.mSizeX * i_scale;
+ s16 scaleY = 0.5f + fontSize.mSizeY * i_scale;
+
char buffer[32];
- sprintf(buffer, "\x1b" "FX[%d]" "\x1b" "FY[%d]", local_60, local_58);
+ sprintf(buffer, "\x1b" "FX[%d]" "\x1b" "FY[%d]", scaleX, scaleY);
do_strcat(buffer);
}
/* 80232690-802326E4 22CFD0 0054+00 1/1 0/0 0/0 .text
* do_linedown__35jmessage_string_tRenderingProcessorFs */
-void jmessage_string_tRenderingProcessor::do_linedown(s16 param_0) {
+void jmessage_string_tRenderingProcessor::do_linedown(s16 i_lineNo) {
char buffer[16];
- sprintf(buffer, "\x1B" "CD[%d]", param_0);
+ sprintf(buffer, "\x1B" "CD[%d]", i_lineNo);
do_strcat(buffer);
}
/* 802326E4-802327BC 22D024 00D8+00 1/1 0/0 0/0 .text
* do_numset__35jmessage_string_tRenderingProcessorFs */
-void jmessage_string_tRenderingProcessor::do_numset(s16 param_0) {
- if (9999 < param_0) {
- param_0 = 9999;
+void jmessage_string_tRenderingProcessor::do_numset(s16 i_num) {
+ if (9999 < i_num) {
+ i_num = 9999;
}
- if (param_0 < 0) {
- param_0 = 0;
+ if (i_num < 0) {
+ i_num = 0;
}
- do_outfont(getOutFontNumberType(param_0 / 1000));
- do_outfont(getOutFontNumberType(param_0 % 1000 / 100));
- do_outfont(getOutFontNumberType(param_0 % 100 / 10));
- do_outfont(getOutFontNumberType(param_0 % 10));
+
+ do_outfont(getOutFontNumberType(i_num / 1000));
+ do_outfont(getOutFontNumberType(i_num % 1000 / 100));
+ do_outfont(getOutFontNumberType(i_num % 100 / 10));
+ do_outfont(getOutFontNumberType(i_num % 10));
}
/* 802327BC-802327F8 22D0FC 003C+00 1/1 0/0 0/0 .text
* push_word__35jmessage_string_tRenderingProcessorFPCc */
-void jmessage_string_tRenderingProcessor::push_word(char const* param_0) {
- strcpy(field_0x486, param_0);
+void jmessage_string_tRenderingProcessor::push_word(char const* i_word) {
+ strcpy(field_0x486, i_word);
stack_pushCurrent(field_0x486);
}