summaryrefslogtreecommitdiff
path: root/src
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
parent4cf11063f650b4393d26788814c3a13c8eaa600a (diff)
cleanup/doc JMessage / d_msg_class (#2484)
* jmessage cleanup pass * more JMessage cleanup * d_msg_class cleanup
Diffstat (limited to 'src')
-rw-r--r--src/JSystem/J2DGraph/J2DPrint.cpp636
-rw-r--r--src/JSystem/JMessage/control.cpp50
-rw-r--r--src/JSystem/JMessage/data.cpp10
-rw-r--r--src/JSystem/JMessage/locale.cpp80
-rw-r--r--src/JSystem/JMessage/processor.cpp508
-rw-r--r--src/JSystem/JMessage/resource.cpp232
-rw-r--r--src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/algorithm.h5
-rw-r--r--src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/cstdint.h28
-rw-r--r--src/d/d_demo.cpp1
-rw-r--r--src/d/d_meter2_draw.cpp4
-rw-r--r--src/d/d_msg_class.cpp4505
-rw-r--r--src/d/d_msg_object.cpp7
-rw-r--r--src/d/d_msg_unit.cpp122
13 files changed, 3157 insertions, 3031 deletions
diff --git a/src/JSystem/J2DGraph/J2DPrint.cpp b/src/JSystem/J2DGraph/J2DPrint.cpp
index 22f7893e3b..d1bc81352c 100644
--- a/src/JSystem/J2DGraph/J2DPrint.cpp
+++ b/src/JSystem/J2DGraph/J2DPrint.cpp
@@ -1,18 +1,12 @@
-//
-// Generated By: dol2asm
-// Translation Unit: J2DPrint
-//
-
#include "JSystem/J2DGraph/J2DPrint.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTFont.h"
-#include "stdio.h"
-#include "stdlib.h"
+#include <stdio.h>
+#include <stdlib.h>
#include "global.h"
-/* ############################################################################################## */
/* 80451580-80451584 000A80 0004+00 3/3 0/0 0/0 .sbss mStrBuff__8J2DPrint */
-const u8* J2DPrint::mStrBuff;
+char* J2DPrint::mStrBuff;
/* 80451584-80451588 000A84 0004+00 1/1 0/0 0/0 .sbss None */
static bool sStrBufInitialized;
@@ -24,61 +18,68 @@ size_t J2DPrint::mStrBuffSize;
static u8 data_8045158C[4];
/* 802F42F0-802F4394 2EEC30 00A4+00 1/1 0/0 0/0 .text J2DPrint_print_alpha_va */
-f32 J2DPrint_print_alpha_va(J2DPrint* pPrint, u8 param_1, const char* fmt, va_list args) {
+f32 J2DPrint_print_alpha_va(J2DPrint* pPrint, u8 alpha, const char* fmt, va_list args) {
pPrint->initchar();
- s32 tmp = vsnprintf((char*)J2DPrint::mStrBuff, J2DPrint::mStrBuffSize, fmt, args);
+ s32 length = vsnprintf(J2DPrint::mStrBuff, J2DPrint::mStrBuffSize, fmt, args);
J2DPrint::TSize size;
- if (tmp < 0) {
+ if (length < 0) {
return 0.0f;
- } else if (tmp >= J2DPrint::mStrBuffSize) {
- tmp = J2DPrint::mStrBuffSize - 1;
+ } else if (length >= J2DPrint::mStrBuffSize) {
+ length = J2DPrint::mStrBuffSize - 1;
data_8045158C[0] = 1;
}
- pPrint->parse(J2DPrint::mStrBuff, tmp, 0x80000000 - 1, NULL, size, param_1, true);
+
+ pPrint->parse((u8*)J2DPrint::mStrBuff, length, 0x80000000 - 1, NULL, size, alpha, true);
return size.field_0x0;
}
+J2DPrint::J2DPrint(JUTFont* pFont, JUtility::TColor charColor, JUtility::TColor gradColor) {
+ private_initiate(pFont, 0.0f, 0.0f, charColor, gradColor, 0, 0xFFFFFFFF, true);
+}
+
/* 802F4394-802F4420 2EECD4 008C+00 0/0 6/6 0/0 .text
* __ct__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor
*/
-J2DPrint::J2DPrint(JUTFont* pFont, f32 param_1, f32 param_2, JUtility::TColor param_3,
- JUtility::TColor param_4, JUtility::TColor param_5, JUtility::TColor param_6) {
- private_initiate(pFont, param_1, param_2, param_3, param_4, param_5, param_6, false);
+J2DPrint::J2DPrint(JUTFont* pFont, f32 charSpacing, f32 lineSpacing, JUtility::TColor charColor,
+ JUtility::TColor gradColor, JUtility::TColor blackColor, JUtility::TColor whiteColor) {
+ private_initiate(pFont, charSpacing, lineSpacing, charColor, gradColor, blackColor, whiteColor, false);
}
/* 802F4420-802F4468 2EED60 0048+00 1/0 6/6 0/0 .text __dt__8J2DPrintFv */
J2DPrint::~J2DPrint() {}
+void J2DPrint::initiate() {
+ if (mFont != NULL) {
+ mFont->setGX(mBlackColor, mWhiteColor);
+ }
+}
+
/* 802F4468-802F4658 2EEDA8 01F0+00 1/1 0/0 0/0 .text
* private_initiate__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorb
*/
-void J2DPrint::private_initiate(JUTFont* pFont, f32 param_1, f32 param_2, JUtility::TColor param_3,
- JUtility::TColor param_4, JUtility::TColor param_5,
- JUtility::TColor param_6, bool param_7) {
+void J2DPrint::private_initiate(JUTFont* pFont, f32 charSpacing, f32 lineSpacing, JUtility::TColor charColor,
+ JUtility::TColor gradColor, JUtility::TColor blackColor,
+ JUtility::TColor whiteColor, bool param_7) {
if (mStrBuff == NULL) {
- setBuffer(0x400); // r4
+ setBuffer(0x400);
}
+
mFont = pFont;
- field_0x48 = param_1;
- field_0x4c = 32.0f;
+ mCharSpacing = charSpacing;
+ mLineSpacing = 32.0f;
if (mFont != NULL) {
- f32 temp;
- if (param_7 == false) {
- temp = param_2;
- } else {
- temp = mFont->getLeading();
- }
- field_0x4c = temp;
+ mLineSpacing = param_7 == false ? lineSpacing : mFont->getLeading();
}
field_0x5a = 1;
locate(0.0f, 0.0f);
- mCharColor = param_3;
- mGradColor = param_4;
- field_0x38 = param_5;
- field_0x3c = param_6;
+
+ mCharColor = charColor;
+ mGradColor = gradColor;
+ mBlackColor = blackColor;
+ mWhiteColor = whiteColor;
if (mFont == NULL) {
field_0x58 = 80;
@@ -88,251 +89,273 @@ void J2DPrint::private_initiate(JUTFont* pFont, f32 param_1, f32 param_2, JUtili
if (mFont != NULL) {
setFontSize();
- mFont->setGX(field_0x38, field_0x3c);
+ mFont->setGX(mBlackColor, mWhiteColor);
}
+
initchar();
}
/* 802F4658-802F46C4 2EEF98 006C+00 1/1 1/1 0/0 .text setBuffer__8J2DPrintFUl */
u8* J2DPrint::setBuffer(size_t size) {
- u8* tmp = (u8*)mStrBuff;
+ JUT_ASSERT(335, size > 0);
+
+ u8* u8Buff = (u8*)mStrBuff;
if (sStrBufInitialized) {
delete mStrBuff;
}
- mStrBuff = new (JKRHeap::sSystemHeap, 0) u8[size];
+ mStrBuff = new (JKRGetSystemHeap(), 0) char[size];
mStrBuffSize = size;
sStrBufInitialized = true;
- return tmp;
+ return u8Buff;
}
/* 802F46C4-802F475C 2EF004 0098+00 1/1 0/0 0/0 .text setFontSize__8J2DPrintFv */
void J2DPrint::setFontSize() {
- if (mFont) {
+ if (mFont != NULL) {
mFontSizeX = mFont->getCellWidth();
mFontSizeY = mFont->getCellHeight();
}
}
/* 802F475C-802F4778 2EF09C 001C+00 2/2 2/2 0/0 .text locate__8J2DPrintFff */
-void J2DPrint::locate(f32 param_0, f32 param_1) {
- field_0x24 = param_0;
- field_0x28 = param_1;
- field_0x2c = param_0;
- mCursorV = param_1;
+void J2DPrint::locate(f32 cursorH, f32 cursorV) {
+ field_0x24 = cursorH;
+ field_0x28 = cursorV;
+ mCursorH = cursorH;
+ mCursorV = cursorV;
field_0x34 = 0.0f;
}
/* 802F4778-802F4828 2EF0B8 00B0+00 0/0 2/2 0/0 .text print__8J2DPrintFffUcPCce */
-void J2DPrint::print(f32 param_0, f32 param_1, u8 param_2, char const* fmt, ...) {
- locate(param_0, param_1);
+f32 J2DPrint::print(f32 cursorH, f32 cursorV, u8 alpha, char const* fmt, ...) {
+ locate(cursorH, cursorV);
va_list args;
va_start(args, fmt);
- J2DPrint_print_alpha_va(this, param_2, fmt, args);
+ f32 var_f31 = print_va(alpha, fmt, args);
va_end(args);
+
+ return var_f31;
}
/* 802F4828-802F4B4C 2EF168 0324+00 0/0 4/4 0/0 .text
* printReturn__8J2DPrintFPCcff18J2DTextBoxHBinding18J2DTextBoxVBindingffUc */
-void J2DPrint::printReturn(char const* param_0, f32 param_1, f32 param_2,
- J2DTextBoxHBinding param_3, J2DTextBoxVBinding param_4, f32 param_5,
- f32 param_6, u8 param_7) {
+void J2DPrint::printReturn(char const* pString, f32 param_1, f32 param_2,
+ J2DTextBoxHBinding hBind, J2DTextBoxVBinding vBind, f32 param_5,
+ f32 param_6, u8 alpha) {
if (mFont != NULL) {
initchar();
- field_0x24 = field_0x2c;
+ field_0x24 = mCursorH;
field_0x28 = mCursorV;
- size_t sVar6 = strlen(param_0);
- if (sVar6 >= mStrBuffSize) {
- sVar6 = mStrBuffSize - 1;
+
+ size_t length = strlen(pString);
+ if (length >= mStrBuffSize) {
+ length = mStrBuffSize - 1;
data_8045158C[0] = 1;
}
+
+ f32 var_f26 = mLineSpacing;
+
u16 local_2b0[260];
- TSize aTStack_2b8;
- f32 dVar10 = parse((const u8*)param_0, sVar6, param_1, local_2b0, aTStack_2b8,
- param_7, false);
+ TSize size;
+ f32 var_f31 = parse((u8*)pString, length, param_1, local_2b0, size, alpha, false);
f32 dVar12 = mFont->getAscent()*(mFontSizeY / mFont->getCellHeight());
- f32 dVar13 = dVar10 + dVar12;
- switch (param_4)
- {
+ var_f31 += dVar12;
+
+ switch (vBind) {
case VBIND_TOP:
break;
case VBIND_BOTTOM:
- param_6 += (s32)(param_2 - dVar13 - 0.5f);
+ param_6 += (s32)(param_2 - var_f31 - 0.5f);
break;
case VBIND_CENTER:
- param_6 += (s32)(param_2 - dVar13 - 0.5f) / 2;
+ param_6 += (s32)(param_2 - var_f31 - 0.5f) / 2;
default:
break;
}
- for (int iVar8 = 0; local_2b0[iVar8] != 0xffff; iVar8++) {
- switch (param_3) {
- case VBIND_TOP:
- local_2b0[iVar8] = 0;
+ for (int i = 0; local_2b0[i] != 0xFFFF; i++) {
+ switch (hBind) {
+ case HBIND_LEFT:
+ local_2b0[i] = 0;
break;
- case VBIND_BOTTOM:
- local_2b0[iVar8] = param_1 - local_2b0[iVar8];
+ case HBIND_RIGHT:
+ local_2b0[i] = param_1 - local_2b0[i];
break;
- case VBIND_CENTER:
- f32 fVar1 = (local_2b0[iVar8]);
- fVar1 = param_1 - fVar1;
- f32 ratio = 0.5f;
- local_2b0[iVar8] = fVar1 * ratio;
+ case HBIND_CENTER:
+ local_2b0[i] = (param_1 - local_2b0[i]) / 2;
break;
-
}
}
+
initchar();
- field_0x2c += param_5;
+
+ mCursorH += param_5;
mCursorV += param_6 + dVar12;
- field_0x24 = field_0x2c;
+ field_0x24 = mCursorH;
field_0x28 = mCursorV;
- parse((const u8*)param_0, sVar6, param_1, local_2b0, aTStack_2b8, param_7, true);
+ parse((u8*)pString, length, param_1, local_2b0, size, alpha, true);
}
}
/* 802F4B4C-802F52E8 2EF48C 079C+00 2/2 0/0 0/0 .text
* parse__8J2DPrintFPCUciiPUsRQ28J2DPrint5TSizeUcb */
-f32 J2DPrint::parse(u8 const* param_0, int param_1, int param_2, u16* param_3,
- J2DPrint::TSize& param_4, u8 param_5, bool param_6) {
+f32 J2DPrint::parse(const u8* pString, int length, int param_2, u16* param_3,
+ TSize& size, u8 alpha, bool param_6) {
if (mFont == NULL) {
return 0.0f;
}
- const u8* local_a4 = param_0;
- u16 r29 = 0;
- f32 f30 = field_0x2c;
- f32 f28 = mCursorV;
- f32 f31 = f30;
- f32 local_a8 = f28;
- int r27 = *(param_0++);
- f32 f29 = field_0x2c;
- f32 local_ac = field_0x2c;
+
+ const u8* pStringStart = pString;
+ u16 someIndex = 0;
+
+ f32 prevCursorH = mCursorH;
+ f32 prevCursorV = mCursorV;
+ f32 f31 = prevCursorH;
+ f32 local_a8 = prevCursorV;
+ int iCharacter = *(pString++);
+
+ f32 f29 = mCursorH;
+ f32 local_ac = mCursorH;
f32 local_b0 = mCursorV;
f32 local_b4 = mCursorV;
+
JUtility::TColor local_b8 = field_0x8;
JUtility::TColor local_bc = field_0xc;
f32 local_c0;
- local_b8.a = local_b8.a * param_5 / 0xff;
- local_bc.a = local_bc.a * param_5 / 0xff;
+
+ local_b8.a = local_b8.a * alpha / 0xFF;
+ local_bc.a = local_bc.a * alpha / 0xFF;
mFont->setGradColor(local_b8, field_0x22 ? local_bc : local_b8);
+
do {
- bool local_f0 = false;
+ bool b2ByteCharacter = false;
bool r25;
- if (mFont->isLeadByte(r27)) {
- r27 = (r27 << 8) | (*(param_0++));
- local_f0 = true;
+ if (mFont->isLeadByte(iCharacter)) {
+ iCharacter = (iCharacter << 8) | *(pString++);
+ b2ByteCharacter = true;
}
- if (r27 == 0 || ((u32)param_0 - (u32)local_a4) > param_1) {
- if (param_6 == 0 && param_3 != NULL) {
- param_3[r29] = 0.5f + f31;
+ if (iCharacter == 0 || ((u32)pString - (u32)pStringStart) > length) {
+ if (!param_6 && param_3 != NULL) {
+ param_3[someIndex] = 0.5f + f31;
}
- r29++;
+ someIndex++;
break;
} else {
r25 = true;
- local_c0 = field_0x2c;
- if (r27 < 0x20) {
- if (r27 == 0x1b) {
- u16 local_e8 = doEscapeCode(&param_0, param_5);
- if (local_e8 == 'HM') {
- if ((param_6 == 0) && (param_3 != NULL)) {
- param_3[r29] = 0.5f + f31;
+ local_c0 = mCursorH;
+ if (iCharacter < ' ') {
+ if (iCharacter == '\x1B') {
+ u16 code = doEscapeCode(&pString, alpha);
+ if (code == 'HM') {
+ if (!param_6 && param_3 != NULL) {
+ param_3[someIndex] = 0.5f + f31;
}
- field_0x2c = f30;
- mCursorV = f28;
- r29++;
- if (r29 == 0x100) {
+
+ mCursorH = prevCursorH;
+ mCursorV = prevCursorV;
+
+ someIndex++;
+ if (someIndex == 0x100) {
break;
}
+
f31 = 0.0f;
}
- if (local_e8) {
+
+ if (code != 0) {
r25 = false;
}
} else {
- doCtrlCode(r27);
+ doCtrlCode(iCharacter);
r25 = false;
- if (r27 == 10) {
- if ((!param_6) && (param_3 != NULL)) {
- param_3[r29] = 0.5f + f31;
+ if (iCharacter == 10) {
+ if (!param_6 && param_3 != NULL) {
+ param_3[someIndex] = 0.5f + f31;
}
- r29++;
- if (r29 == 0x100) {
+
+ someIndex++;
+ if (someIndex == 0x100) {
break;
}
+
f31 = 0.0f;
}
}
- } else if (local_f0 && ((u32)param_0 - (u32)local_a4 > (u32)param_1)) {
- if ((!param_6) && (param_3 != NULL)) {
- param_3[r29] = 0.5f + f31;
+ } else if (b2ByteCharacter && ((u32)pString - (u32)pStringStart > (u32)length)) {
+ if (!param_6 && param_3 != NULL) {
+ param_3[someIndex] = 0.5f + f31;
}
- r29++;
+ someIndex++;
break;
} else {
if (mFont->isFixed()) {
field_0x34 = mFont->getFixedWidth();
} else {
- JUTFont::TWidth uStack_ec;
- mFont->getWidthEntry(r27, &uStack_ec);
- field_0x34 = uStack_ec.field_0x1;
+ JUTFont::TWidth width;
+ mFont->getWidthEntry(iCharacter, &width);
+ field_0x34 = width.field_0x1;
}
- field_0x34 *= field_0x18 / mFont->getCellWidth();
- f32 fVar6 = ((field_0x2c + field_0x34) - field_0x24);
+ field_0x34 *= mScaleX / mFont->getCellWidth();
+
+ f32 fVar6 = ((mCursorH + field_0x34) - field_0x24);
fVar6 = 10000.0f * fVar6;
f32 local_c8 = s32(fVar6) / 10000.0f;
- if (local_c8 > param_2 && field_0x2c > f30) {
- u32 local_e4;
- if (local_f0) {
- local_e4 = 2;
+ if (local_c8 > param_2 && mCursorH > prevCursorH) {
+ u32 characterSize;
+ if (b2ByteCharacter) {
+ characterSize = 2;
} else {
- local_e4 = 1;
+ characterSize = 1;
}
- param_0 -= local_e4;
+
+ pString -= characterSize;
mCursorV += field_0x14;
+
if (!param_6 && (param_3 != NULL)) {
- param_3[r29] = 0.5f + f31;
+ param_3[someIndex] = 0.5f + f31;
}
- r29++;
- if (r29 == 0x100) {
+
+ someIndex++;
+ if (someIndex == 0x100) {
break;
}
- field_0x2c = field_0x24;
+
+ mCursorH = field_0x24;
f31 = 0.0f;
r25 = false;
} else {
if (param_6) {
if (param_3 != NULL) {
- mFont->drawChar_scale(field_0x2c + (f32)(s16)param_3[r29], mCursorV,
- (s32)field_0x18, (s32)field_0x1c, r27, true);
+ mFont->drawChar_scale(mCursorH + (f32)(s16)param_3[someIndex], mCursorV, (s32)mScaleX, (s32)mScaleY, iCharacter, true);
} else {
- mFont->drawChar_scale(field_0x2c, mCursorV,
- (s32)field_0x18, (s32)field_0x1c, r27, true);
+ mFont->drawChar_scale(mCursorH, mCursorV, (s32)mScaleX, (s32)mScaleY, iCharacter, true);
}
}
- field_0x2c += field_0x34;
+ mCursorH += field_0x34;
}
}
}
if (r25) {
- if (field_0x2c - f30 > f31) {
- f31 = field_0x2c - f30;
+ if (mCursorH - prevCursorH > f31) {
+ f31 = mCursorH - prevCursorH;
}
- field_0x2c += field_0x10;
+ mCursorH += field_0x10;
field_0x34 += field_0x10;
- f32 local_cc = (field_0x1c / mFont->getHeight()) * mFont->getDescent();
+
+ f32 local_cc = (mScaleY / mFont->getHeight()) * mFont->getDescent();
if (local_a8 < mCursorV + local_cc) {
local_a8 = mCursorV + local_cc;
}
- if (field_0x2c > local_ac) {
- local_ac = field_0x2c;
+ if (mCursorH > local_ac) {
+ local_ac = mCursorH;
}
- if (field_0x2c < f29) {
- f29 = field_0x2c;
+ if (mCursorH < f29) {
+ f29 = mCursorH;
}
if (local_c0 < f29) {
f29 = local_c0;
@@ -344,257 +367,260 @@ f32 J2DPrint::parse(u8 const* param_0, int param_1, int param_2, u16* param_3,
local_b0 = mCursorV;
}
}
- r27 = *(param_0++);
+
+ iCharacter = *(pString++);
} while (true);
if (param_3 != NULL) {
- param_3[r29] = 0xffff;
+ param_3[someIndex] = 0xFFFF;
}
- param_4.field_0x0 = local_ac - f29;
- param_4.field_0x4 = local_b4 - local_b0 + mFont->getLeading();
+
+ size.field_0x0 = local_ac - f29;
+ size.field_0x4 = local_b4 - local_b0 + mFont->getLeading();
+
if (!param_6) {
- field_0x2c = f30;
- mCursorV = f28;
+ mCursorH = prevCursorH;
+ mCursorV = prevCursorV;
}
- return local_a8 - f28;
+
+ return local_a8 - prevCursorV;
}
/* 802F52E8-802F5410 2EFC28 0128+00 2/1 0/0 0/0 .text doCtrlCode__8J2DPrintFi */
-void J2DPrint::doCtrlCode(int param_0) {
- switch (param_0) {
- case 8:
- field_0x2c -= field_0x34;
+void J2DPrint::doCtrlCode(int iCharacter) {
+ switch (iCharacter) {
+ case '\b':
+ mCursorH -= field_0x34;
field_0x34 = 0.0f;
break;
- case 9:
+ case '\t':
if (field_0x20 > 0) {
- f32 fVar1 = field_0x2c;
- field_0x2c = field_0x20 + field_0x20 * ((int)field_0x2c / field_0x20);
- field_0x34 = field_0x2c - fVar1;
+ f32 fVar1 = mCursorH;
+ mCursorH = field_0x20 + field_0x20 * ((int)mCursorH / field_0x20);
+ field_0x34 = mCursorH - fVar1;
}
break;
- case 10:
+ case '\n':
field_0x34 = 0.0f;
- field_0x2c = field_0x24;
+ mCursorH = field_0x24;
mCursorV += field_0x14;
break;
- case 0xd:
+ case '\r':
field_0x34 = 0.0f;
- field_0x2c = field_0x24;
+ mCursorH = field_0x24;
break;
- case 0x1c:
- field_0x2c += 1.0f;
+ case '\x1C':
+ mCursorH += 1.0f;
break;
- case 0x1d:
- field_0x2c -= 1.0f;
+ case '\x1D':
+ mCursorH -= 1.0f;
break;
- case 0x1e:
+ case '\x1E':
mCursorV -= 1.0f;
break;
- case 0x1f:
+ case '\x1F':
mCursorV += + 1.0f;
}
}
/* 802F5410-802F594C 2EFD50 053C+00 1/1 0/0 0/0 .text doEscapeCode__8J2DPrintFPPCUcUc */
-u16 J2DPrint::doEscapeCode(u8 const** param_0, u8 param_1) {
- u8 const* puVar9 = *param_0;
- u16 uVar11 = 0;
- u16 uVar3;
- for (int iVar10 = 0; iVar10 < 2; iVar10++) {
- if (mFont->isLeadByte(**param_0)) {
- uVar3 = ((**param_0) << 8) | (*param_0)[1];
- (*param_0) += 2;
+u16 J2DPrint::doEscapeCode(const u8** ppu8String, u8 alpha) {
+ const u8* pStringStart = *ppu8String;
+ u16 code = 0;
+
+ u16 codeLower;
+ for (int i = 0; i < 2; i++) {
+ if (mFont->isLeadByte(**ppu8String)) {
+ codeLower = ((**ppu8String) << 8) | (*ppu8String)[1];
+ (*ppu8String) += 2;
} else {
- uVar3 = **param_0;
- (*param_0)++;
+ codeLower = **ppu8String;
+ (*ppu8String)++;
}
- if (uVar3 >= 0x80 || uVar3 < 0x20) {
- *param_0 = puVar9;
+
+ if (codeLower >= 0x80 || codeLower < 0x20) {
+ *ppu8String = pStringStart;
return 0;
}
- uVar11 = ((uVar11) << 8) | uVar3;
+
+ code = (code << 8) | codeLower;
}
JUtility::TColor local_40 = field_0x8;
JUtility::TColor local_44 = field_0xc;
- switch(uVar11) {
- case 'CU':
- mCursorV -= getNumberF32(param_0, 1.0f, 0.0f, 10);
+ f32 scaleNumber;
+
+ switch(code) {
+ case 'CU': // Cursor Up
+ mCursorV -= getNumberF32(ppu8String, 1.0f, 0.0f, 10);
break;
- case 'CD':
- mCursorV += getNumberF32(param_0, 1.0f, 0.0f, 10);
+ case 'CD': // Cursor Down
+ mCursorV += getNumberF32(ppu8String, 1.0f, 0.0f, 10);
break;
- case 'CL':
- field_0x2c -= getNumberF32(param_0, 1.0f, 0.0f, 10);
+ case 'CL': // Cursor Left
+ mCursorH -= getNumberF32(ppu8String, 1.0f, 0.0f, 10);
break;
- case 'CR':
- field_0x2c += getNumberF32(param_0, 1.0f, 0.0f, 10);
+ case 'CR': // Cursor Right
+ mCursorH += getNumberF32(ppu8String, 1.0f, 0.0f, 10);
break;
- case 'LU':
+ case 'LU': // Line Up?
mCursorV -= field_0x14;
break;
- case 'LD':
+ case 'LD': // Line Down?
mCursorV += field_0x14;
break;
- case 'ST':
- s32 val = getNumberS32(param_0, field_0x20, field_0x20, 10);
- if (val > 0) {
- field_0x20 = val;
+ case 'ST': {
+ s32 number = getNumberS32(ppu8String, field_0x20, field_0x20, 10);
+ if (number > 0) {
+ field_0x20 = number;
}
break;
- case 'CC':
- field_0x8 = getNumberS32(param_0, *(u32*)&mCharColor, *(u32*)&field_0x8, 16);
+ }
+ case 'CC': { // Character Color
+ field_0x8 = getNumberS32(ppu8String, (u32)mCharColor, (u32)field_0x8, 16);
local_40 = field_0x8;
- local_40.a = local_40.a * param_1 / 0xff;
- local_44.a = local_44.a * param_1 / 0xff;
- JUtility::TColor* local_68;
- if (field_0x22 != 0) {
- local_68 = &local_44;
- }
- else {
- local_68 = &local_40;
- }
- mFont->setGradColor(local_40, *local_68);
+ local_40.a = local_40.a * alpha / 0xff;
+ local_44.a = local_44.a * alpha / 0xff;
+
+ mFont->setGradColor(local_40, field_0x22 != 0 ? local_44 : local_40);
break;
- case 'GC':
- field_0xc = getNumberS32(param_0, *(u32*)&mGradColor, *(u32*)&field_0xc, 16);
+ }
+ case 'GC': { // Gradient Color
+ field_0xc = getNumberS32(ppu8String, (u32)mGradColor, (u32)field_0xc, 16);
local_44 = field_0xc;
- local_40.a = local_40.a * param_1 / 0xff;
- local_44.a = local_44.a * param_1 / 0xff;
- JUtility::TColor* local_74;
- if (field_0x22 != 0) {
- local_74 = &local_44;
- }
- else {
- local_74 = &local_40;
- }
- mFont->setGradColor(local_40, *local_74);
+ local_40.a = local_40.a * alpha / 0xFF;
+ local_44.a = local_44.a * alpha / 0xFF;
+
+ mFont->setGradColor(local_40, field_0x22 != 0 ? local_44 : local_40);
break;
- case 'FX':
- f32 dVar13 = getNumberF32(param_0, mFontSizeX, field_0x18, 10);
- if (dVar13 >= 0) {
- field_0x18 = dVar13;
+ }
+ case 'FX': { // Font Scale X
+ scaleNumber = getNumberF32(ppu8String, mFontSizeX, mScaleX, 10);
+ if (scaleNumber >= 0) {
+ mScaleX = scaleNumber;
}
break;
- case 'FY':
- f32 dVar14 = getNumberF32(param_0, mFontSizeY, field_0x1c, 10);
- if (dVar14 >= 0) {
- field_0x1c = dVar14;
+ }
+ case 'FY': { // Font Scale Y
+ scaleNumber = getNumberF32(ppu8String, mFontSizeY, mScaleY, 10);
+ if (scaleNumber >= 0) {
+ mScaleY = scaleNumber;
}
break;
- case 'SH':
- field_0x10 = getNumberF32(param_0, field_0x48, field_0x10, 10);
+ }
+ case 'SH': // Space Horizontal?
+ field_0x10 = getNumberF32(ppu8String, mCharSpacing, field_0x10, 10);
break;
- case 'SV':
- field_0x14 = getNumberF32(param_0, field_0x4c, field_0x14, 10);
+ case 'SV': // Space Vertical?
+ field_0x14 = getNumberF32(ppu8String, mLineSpacing, field_0x14, 10);
break;
- case 'GM':
- s32 isZero = getNumberS32(param_0, field_0x22 == 0, field_0x22, 10) == 0;
- field_0x22 = isZero == 0;
- local_40.a = local_40.a * param_1 / 0xff;
- local_44.a = local_44.a * param_1 / 0xff;
- JUtility::TColor* local_80;
- if (field_0x22 != 0) {
- local_80 = &local_44;
- }
- else {
- local_80 = &local_40;
- }
- mFont->setGradColor(local_40, *local_80);
+ case 'GM': {
+ field_0x22 = getNumberS32(ppu8String, field_0x22 == 0, field_0x22, 10);
+ local_40.a = local_40.a * alpha / 0xFF;
+ local_44.a = local_44.a * alpha / 0xFF;
+
+ mFont->setGradColor(local_40, field_0x22 != 0 ? local_44 : local_40);
break;
+ }
case 'HM':
break;
default:
- *param_0 = puVar9;
- uVar11 = 0;
+ *ppu8String = pStringStart;
+ code = 0;
break;
}
- return uVar11;
+
+ return code;
}
/* 802F594C-802F59C0 2F028C 0074+00 3/3 0/0 0/0 .text initchar__8J2DPrintFv */
void J2DPrint::initchar() {
field_0x8 = mCharColor;
field_0xc = mGradColor;
- field_0x10 = field_0x48;
- field_0x14 = field_0x4c;
+ field_0x10 = mCharSpacing;
+ field_0x14 = mLineSpacing;
field_0x22 = field_0x5a;
field_0x20 = field_0x58;
- field_0x18 = mFontSizeX;
- field_0x1c = mFontSizeY;
+ mScaleX = mFontSizeX;
+ mScaleY = mFontSizeY;
}
/* 802F59C0-802F5AC4 2F0300 0104+00 1/1 0/0 0/0 .text getNumberS32__8J2DPrintFPPCUclli */
-s32 J2DPrint::getNumberS32(u8 const** param_0, s32 param_1, s32 param_2, int base) {
- const u8* puVar1 = *param_0;
- s32 uVar2 = param_1;
- if (*puVar1 != '[') {
- return param_1;
+s32 J2DPrint::getNumberS32(const u8** ppu8String, s32 defaultValue, s32 errorValue, int base) {
+ const u8* pStringStart = *ppu8String;
+ if (**ppu8String != '[') {
+ return defaultValue;
}
- (*param_0)++;
- uVar2 = 0;
- char* local_28;
+
+ (*ppu8String)++;
+
+ s32 number = 0;
+ char* pEnd;
if (base == 10) {
- uVar2 = strtol((char*)*param_0, &local_28, base);
+ number = strtol((char*)*ppu8String, &pEnd, base);
} else if (base == 16) {
- uVar2 = strtoul((char*)*param_0, &local_28, base);
- if ((u32)local_28 - (u32)*param_0 != 8) {
- if ((u32)local_28 - (u32)*param_0 == 6) {
- uVar2 = (uVar2 << 8) | 0xff;
+ number = strtoul((char*)*ppu8String, &pEnd, base);
+ if ((u32)pEnd - (u32)*ppu8String != 8) {
+ if ((u32)pEnd - (u32)*ppu8String == 6) {
+ number = (number << 8) | 0xFF;
} else {
- *param_0 = puVar1;
- return param_2;
+ *ppu8String = pStringStart;
+ return errorValue;
}
}
}
- if (local_28[0] != ']') {
- *param_0 = puVar1;
- return param_2;
+
+ if (pEnd[0] != ']') {
+ *ppu8String = pStringStart;
+ return errorValue;
} else {
- if ((char*)*param_0 == (char*)local_28) {
- *param_0 = (const u8*)local_28 + 1;
- return param_1;
+ if ((char*)*ppu8String == pEnd) {
+ *ppu8String = (const u8*)pEnd + 1;
+ return defaultValue;
} else {
- *param_0 = (const u8*)local_28 + 1;
+ *ppu8String = (const u8*)pEnd + 1;
}
}
- return uVar2;
+
+ return number;
}
/* 802F5AC4-802F5BF8 2F0404 0134+00 1/1 0/0 0/0 .text getNumberF32__8J2DPrintFPPCUcffi */
-f32 J2DPrint::getNumberF32(u8 const** param_0, f32 param_1, f32 param_2, int base) {
- const u8* puVar1 = *param_0;
- s32 uVar2 = param_1;
- if (*puVar1 != '[') {
- return param_1;
+f32 J2DPrint::getNumberF32(const u8** ppu8String, f32 defaultValue, f32 errorValue, int base) {
+ const u8* pStringStart = *ppu8String;
+ if (**ppu8String != '[') {
+ return defaultValue;
}
- (*param_0)++;
- uVar2 = 0;
- char* local_28;
+
+ (*ppu8String)++;
+
+ s32 number = 0;
+ char* pEnd;
if (base == 10) {
- uVar2 = strtol((char*)*param_0, &local_28, base);
+ number = strtol((char*)*ppu8String, &pEnd, base);
} else if (base == 16) {
- uVar2 = strtoul((char*)*param_0, &local_28, base);
- if ((u32)local_28 - (u32)*param_0 != 8) {
- if ((u32)local_28 - (u32)*param_0 == 6) {
- uVar2 = (uVar2 << 8) | 0xff;
+ number = strtoul((char*)*ppu8String, &pEnd, base);
+ if ((u32)pEnd - (u32)*ppu8String != 8) {
+ if ((u32)pEnd - (u32)*ppu8String == 6) {
+ number = (number << 8) | 0xFF;
} else {
- *param_0 = puVar1;
- return param_2;
+ *ppu8String = pStringStart;
+ return errorValue;
}
}
}
- if (local_28[0] != ']') {
- *param_0 = puVar1;
- return param_2;
+
+ if (pEnd[0] != ']') {
+ *ppu8String = pStringStart;
+ return errorValue;
} else {
- if ((char*)*param_0 == (char*)local_28) {
- *param_0 = (const u8*)local_28 + 1;
- return param_1;
+ if ((char*)*ppu8String == pEnd) {
+ *ppu8String = (const u8*)pEnd + 1;
+ return defaultValue;
} else {
- *param_0 = (const u8*)local_28 + 1;
+ *ppu8String = (const u8*)pEnd + 1;
}
}
- return uVar2;
-} \ No newline at end of file
+
+ return number;
+}
diff --git a/src/JSystem/JMessage/control.cpp b/src/JSystem/JMessage/control.cpp
index 321de9a6a2..1159f3a643 100644
--- a/src/JSystem/JMessage/control.cpp
+++ b/src/JSystem/JMessage/control.cpp
@@ -7,9 +7,16 @@
/* 802A7548-802A758C 2A1E88 0044+00 0/0 2/2 0/0 .text __ct__Q28JMessage8TControlFv */
JMessage::TControl::TControl()
- : pSequenceProcessor_(NULL), pRenderingProcessor_(NULL), messageCode_(0xFFFF),
- field_0xe(0xFFFF), pResourceCache_(NULL), pEntry_(NULL), pMessageText_begin_(0),
- pszText_update_current_(NULL), field_0x20(0) {}
+ : pSequenceProcessor_(NULL),
+ pRenderingProcessor_(NULL),
+ uMessageGroupID_(0xFFFF),
+ uMessageID_(0xFFFF),
+ pResourceCache_(NULL),
+ pEntry_(NULL),
+ pMessageText_begin_(NULL),
+ pszText_update_current_(NULL),
+ pMessageText_current_(NULL)
+ {}
/* 802A758C-802A75D4 2A1ECC 0048+00 1/0 2/2 0/0 .text __dt__Q28JMessage8TControlFv */
JMessage::TControl::~TControl() {}
@@ -17,9 +24,9 @@ JMessage::TControl::~TControl() {}
/* 802A75D4-802A7634 2A1F14 0060+00 0/0 9/9 0/0 .text reset__Q28JMessage8TControlFv */
void JMessage::TControl::reset() {
pEntry_ = NULL;
- pMessageText_begin_ = 0;
+ pMessageText_begin_ = NULL;
pszText_update_current_ = NULL;
- field_0x20 = 0;
+ pMessageText_current_ = NULL;
oStack_renderingProcessor_.clear();
if (pSequenceProcessor_ != NULL) {
@@ -38,7 +45,6 @@ int JMessage::TControl::update() {
}
pszText_update_current_ = pSequenceProcessor_->process(NULL);
-
if (pszText_update_current_ == NULL) {
pMessageText_begin_ = 0;
return 0;
@@ -50,44 +56,48 @@ int JMessage::TControl::update() {
/* 802A76BC-802A77E8 2A1FFC 012C+00 0/0 5/5 0/0 .text render__Q28JMessage8TControlFv */
void JMessage::TControl::render() {
if (isReady_render_()) {
- pRenderingProcessor_->setBegin_messageEntryText(pResourceCache_, pEntry_, field_0x20);
+ pRenderingProcessor_->setBegin_messageEntryText(pResourceCache_, pEntry_, pMessageText_current_);
pRenderingProcessor_->oStack_ = oStack_renderingProcessor_;
pRenderingProcessor_->process(pszText_update_current_);
}
}
/* 802A77E8-802A78F4 2A2128 010C+00 0/0 1/1 0/0 .text setMessageCode__Q28JMessage8TControlFUsUs */
-int JMessage::TControl::setMessageCode(u16 param_0, u16 param_1) {
- return setMessageCode_inReset_(getProcessor(), param_0, param_1);
+int JMessage::TControl::setMessageCode(u16 u16GroupID, u16 u16Index) {
+ TProcessor* pProcessor = getProcessor();
+ JUT_ASSERT(120, pProcessor!=0);
+ return setMessageCode_inReset_(pProcessor, u16GroupID, u16Index);
}
/* 802A78F4-802A7A20 2A2234 012C+00 0/0 6/6 0/0 .text setMessageID__Q28JMessage8TControlFUlUlPb */
-int JMessage::TControl::setMessageID(u32 param_0, u32 param_1, bool* param_2) {
+int JMessage::TControl::setMessageID(u32 uMsgID, u32 param_1, bool* pbValid) {
TProcessor* pProcessor = getProcessor();
+ JUT_ASSERT(132, pProcessor!=0);
- u32 code = pProcessor->toMessageCode_messageID(param_0, param_1, param_2);
- if (code == -1) {
+ u32 uCode = pProcessor->toMessageCode_messageID(uMsgID, param_1, pbValid);
+ if (uCode == 0xFFFFFFFF) {
return 0;
}
- return setMessageCode_inReset_(pProcessor, code >> 0x10, code & 0xFFFF);
+ return setMessageCode_inReset_(pProcessor, uCode >> 16, uCode & 0xFFFF);
}
/* 802A7A20-802A7AF8 2A2360 00D8+00 2/2 1/1 0/0 .text
* setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs */
-bool JMessage::TControl::setMessageCode_inSequence_(JMessage::TProcessor const* pProcessor,
- u16 messageCode, u16 messageIndex) {
- pEntry_ = pProcessor->getMessageEntry_messageCode(messageCode, messageIndex);
-
+bool JMessage::TControl::setMessageCode_inSequence_(JMessage::TProcessor const* pProcessor, u16 u16GroupID, u16 u16Index) {
+ pEntry_ = pProcessor->getMessageEntry_messageCode(u16GroupID, u16Index);
if (pEntry_ == NULL) {
return false;
}
- messageCode_ = messageCode;
- field_0xe = messageIndex;
+ uMessageGroupID_ = u16GroupID;
+ uMessageID_ = u16Index;
+
pResourceCache_ = pProcessor->getResourceCache();
+ JUT_ASSERT(155, pResourceCache_!=0);
+
pMessageText_begin_ = pResourceCache_->getMessageText_messageEntry(pEntry_);
- field_0x20 = pMessageText_begin_;
+ pMessageText_current_ = pMessageText_begin_;
oStack_renderingProcessor_.clear();
return true;
}
diff --git a/src/JSystem/JMessage/data.cpp b/src/JSystem/JMessage/data.cpp
index ceb56a0849..9f7c0f0c11 100644
--- a/src/JSystem/JMessage/data.cpp
+++ b/src/JSystem/JMessage/data.cpp
@@ -1,10 +1,6 @@
-//
-// Generated By: dol2asm
-// Translation Unit: data
-//
-
#include "JSystem/JMessage/data.h"
-#include "dol2asm.h"
/* 80455818-80455820 003E18 0004+04 0/0 1/1 0/0 .sdata2 ga4cSignature__Q28JMessage4data */
-SECTION_SDATA2 u32 JMessage::data::ga4cSignature = 'MESG'; \ No newline at end of file
+const u32 JMessage::data::ga4cSignature = 'MESG';
+
+const u32 JMessage::data::ga4cSignature_color = 'MGCL';
diff --git a/src/JSystem/JMessage/locale.cpp b/src/JSystem/JMessage/locale.cpp
index 93ea6af5ea..c1595a5763 100644
--- a/src/JSystem/JMessage/locale.cpp
+++ b/src/JSystem/JMessage/locale.cpp
@@ -1,60 +1,58 @@
-//
-// Generated By: dol2asm
-// Translation Unit: locale
-//
-
#include "JSystem/JMessage/locale.h"
-#include <dolphin.h>
/* 802A9528-802A958C 2A3E68 0064+00 0/0 1/0 0/0 .text
* parseCharacter_ShiftJIS__Q28JMessage6localeFPPCc */
-int JMessage::locale::parseCharacter_ShiftJIS(char const** str) {
- u8 c = **str;
- int ret = c;
- *str = *str + 1;
+int JMessage::locale::parseCharacter_ShiftJIS(const char** ppszText) {
+ int c = *(u8*)*ppszText & 0xFF;
+ (*ppszText)++;
if (isLeadByte_ShiftJIS(c)) {
- ret <<= 8;
- ret |= *(u8*)*str;
- *str = *str + 1;
+ c <<= 8;
+ c |= *(u8*)*ppszText & 0xFF;
+ (*ppszText)++;
}
- return ret;
+ return c;
}
/* 802A958C-802A968C 2A3ECC 0100+00 0/0 1/0 0/0 .text parseCharacter_UTF8__Q28JMessage6localeFPPCc
*/
-int JMessage::locale::parseCharacter_UTF8(char const** str) {
- int c = *(u8*)*str;
- int ret = c;
- *str = *str + 1;
+int JMessage::locale::parseCharacter_UTF8(const char** ppszText) {
+ int c = *(u8*)*ppszText & 0xFF;
+ (*ppszText)++;
if (c & 0x80) {
- if ((c & 0xe0) == 0xc0) {
- ret = (ret & 0x1f) << 6;
- ret |= **str & 0x3f;
- *str = *str + 1;
- } else if ((c & 0xf0) == 0xe0) {
- ret = (ret & 0xf) << 6;
- ret |= **str & 0x3f;
- *str = *str + 1;
- ret <<= 6;
- ret |= **str & 0x3f;
- *str = *str + 1;
- } else if ((c & 0xf8) == 0xf0) {
- ret = (ret & 0x7) << 6;
- ret |= **str & 0x3f;
- *str = *str + 1;
- ret <<= 6;
- ret |= **str & 0x3f;
- *str = *str + 1;
- ret <<= 6;
- ret |= **str & 0x3f;
- *str = *str + 1;
+ if ((c & 0xE0) == 0xC0) {
+ c &= 0x1F;
+ c <<= 6;
+ c |= (*(u8*)*ppszText & 0xFF) & 0x3F;
+ (*ppszText)++;
+ } else if ((c & 0xF0) == 0xE0) {
+ c &= 0xF;
+ c <<= 6;
+ c |= (*(u8*)*ppszText & 0xFF) & 0x3F;
+ (*ppszText)++;
+
+ c <<= 6;
+ c |= (*(u8*)*ppszText & 0xFF) & 0x3F;
+ (*ppszText)++;
+ } else if ((c & 0xF8) == 0xF0) {
+ c &= 0x7;
+ c <<= 6;
+ c |= (*(u8*)*ppszText & 0xFF) & 0x3F;
+ (*ppszText)++;
+
+ c <<= 6;
+ c |= (*(u8*)*ppszText & 0xFF) & 0x3F;
+ (*ppszText)++;
+
+ c <<= 6;
+ c |= (*(u8*)*ppszText & 0xFF) & 0x3F;
+ (*ppszText)++;
} else {
- ret = -1;
+ c = -1;
}
}
- return ret;
+ return c;
}
diff --git a/src/JSystem/JMessage/processor.cpp b/src/JSystem/JMessage/processor.cpp
index 7df27c1ada..a59b2d277d 100644
--- a/src/JSystem/JMessage/processor.cpp
+++ b/src/JSystem/JMessage/processor.cpp
@@ -1,11 +1,7 @@
-//
-// Generated By: dol2asm
-// Translation Unit: processor
-//
-
#include "JSystem/JMessage/processor.h"
#include "JSystem/JMessage/control.h"
#include "JSystem/JUtility/JUTAssert.h"
+#include <cstdint.h>
/* 802A7AF8-802A7B40 2A2438 0048+00 1/0 2/2 0/0 .text __dt__Q28JMessage10TReferenceFv */
JMessage::TReference::~TReference() {}
@@ -26,87 +22,100 @@ void JMessage::TProcessor::reset() {
/* 802A7BF8-802A7C30 2A2538 0038+00 1/1 8/8 0/0 .text
* stack_pushCurrent__Q28JMessage10TProcessorFPCc */
-void JMessage::TProcessor::stack_pushCurrent(char const* string) {
- if (string != NULL) {
+void JMessage::TProcessor::stack_pushCurrent(char const* pszText) {
+ if (pszText != NULL) {
if (!oStack_.IsPushable()) {
+ JGADGET_WARNMSG(113, "stack full");
return;
}
- stack_pushCurrent_(string);
+ stack_pushCurrent_(pszText);
}
}
/* 802A7C30-802A7C54 2A2570 0024+00 1/1 0/0 0/0 .text stack_popCurrent__Q28JMessage10TProcessorFv
*/
void JMessage::TProcessor::stack_popCurrent() {
+ JGADGET_ASSERTWARN(122, !oStack_.empty());
stack_popCurrent_();
}
/* 802A7C54-802A7CD4 2A2594 0080+00 1/1 1/1 0/0 .text
* getResource_groupID__Q28JMessage10TProcessorCFUs */
-const JMessage::TResource* JMessage::TProcessor::getResource_groupID(u16 groupID) const {
- if (isResourceCache_groupID(groupID)) {
+const JMessage::TResource* JMessage::TProcessor::getResource_groupID(u16 u16GroupID) const {
+ if (isResourceCache_groupID(u16GroupID)) {
return pResourceCache_;
}
- // Is there another way to do this?
- ((JMessage::TProcessor*)this)->pResourceCache_ = getResource_groupID_uncached(groupID);
+ pResourceCache_ = getResource_groupID_uncached(u16GroupID);
return pResourceCache_;
}
/* 802A7CD4-802A7E38 2A2614 0164+00 0/0 1/1 0/0 .text
* toMessageCode_messageID__Q28JMessage10TProcessorCFUlUlPb */
-// NONMATCHING regalloc
-u32 JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1, bool* param_2) const {
- const TResource* this_00 = getResourceCache();
- if (this_00 != NULL) {
- u16 uVar4 = this_00->toMessageIndex_messageID(param_0, param_1, param_2);
- if (uVar4 != 0xffff) {
- return uVar4 | (this_00->getGroupID() << 16);
+// NONMATCHING - regalloc, likely due to wrong enumerator implementation
+u32 JMessage::TProcessor::toMessageCode_messageID(u32 uMsgID, u32 param_1, bool* pbValid) const {
+ const TResource* pResourceCache = getResourceCache();
+ if (pResourceCache != NULL) {
+ u16 u16Index = pResourceCache->toMessageIndex_messageID(uMsgID, param_1, pbValid);
+ if (u16Index != 0xFFFF) {
+ return u16Index | (pResourceCache->getGroupID() << 16);
}
}
- TResourceContainer* this_01 = getResourceContainer();
- if (this_01 == NULL) {
- return -1;
+
+ TResourceContainer* pResourceContainer = getResourceContainer();
+ if (pResourceContainer == NULL) {
+ return 0xFFFFFFFF;
}
- JGadget::TContainerEnumerator_const<JMessage::TResource, 0> enumerator(this_01->getResourceContainer());
- const TResource* this_02;
+ JGadget::TContainerEnumerator_const<JMessage::TResource, 0> enumerator(pResourceContainer->getResourceContainer());
+ const TResource* pResource;
while (enumerator) {
- this_02 = (const TResource*)&(*enumerator);
- if (this_02 != this_00) {
- u16 uVar4 = this_02->toMessageIndex_messageID(param_0, param_1, param_2);
- if (uVar4 != 0xffff) {
- ((JMessage::TProcessor*)this)->pResourceCache_ = this_02;
- return uVar4 | (this_02->getGroupID() << 0x10);
+ pResource = (const TResource*)&(*enumerator);
+ if (pResource != pResourceCache) {
+ u16 u16Index = pResource->toMessageIndex_messageID(uMsgID, param_1, pbValid);
+ if (u16Index != 0xFFFF) {
+ ((JMessage::TProcessor*)this)->pResourceCache_ = pResource;
+ return u16Index | (pResource->getGroupID() << 16);
}
}
}
- return -1;
+
+ return 0xFFFFFFFF;
}
/* 802A7E38-802A7EDC 2A2778 00A4+00 1/1 0/0 0/0 .text
* on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl */
-void JMessage::TProcessor::on_select_begin(char const* (*param_0)(JMessage::TProcessor*),
- void const* param_1, char const* param_2, u32 param_3) {
- if (stack_isPushable()) {
- oProcess_.reset_select();
+void JMessage::TProcessor::on_select_begin(char const* (*pfn)(JMessage::TProcessor*),
+ void const* pOffset, char const* pcBase, u32 uNumber) {
+ JUT_ASSERT(191, uNumber>0);
- oProcess_.rData.pfn = param_0;
- oProcess_.rData.pcBase = param_2;
- oProcess_.rData.pOffset = param_1;
- oProcess_.rData.uRest = param_3;
+ if (!stack_isPushable()) {
+ JGADGET_WARNMSG(194, "stack full");
+ } else {
+ oProcess_.reset_select();
- const char* psz = param_0(this);
+ oProcess_.rData.pfn = pfn;
+ oProcess_.rData.pcBase = pcBase;
+ oProcess_.rData.pOffset = pOffset;
+ oProcess_.rData.uRest = uNumber;
+
+ JUT_ASSERT(205, pfn!=0);
+ const char* psz = pfn(this);
+ JUT_ASSERT(207, psz!=0);
+
stack_pushCurrent_(psz);
- do_select_begin(param_3);
+ do_select_begin(uNumber);
}
}
/* 802A7EDC-802A7F34 2A281C 0058+00 1/1 0/0 0/0 .text on_select_end__Q28JMessage10TProcessorFv */
void JMessage::TProcessor::on_select_end() {
+ TProcess_::rdata& rData = oProcess_.rData;
+ JUT_ASSERT(219, rData.uRest==0);
oProcess_.reset_normal();
+ JUT_ASSERT(223, stack_isPushable());
stack_popCurrent_();
do_select_end();
}
@@ -115,8 +124,17 @@ void JMessage::TProcessor::on_select_end() {
* on_select_separate__Q28JMessage10TProcessorFv */
void JMessage::TProcessor::on_select_separate() {
stack_popCurrent_();
+ JUT_ASSERT(234, stack_isPushable());
+
+ TProcess_::rdata& rData = oProcess_.rData;
+ JUT_ASSERT(237, rData.uRest>0);
+
+ const char* (*pfn)(TProcessor*) = rData.pfn;
+ JUT_ASSERT(240, pfn!=0);
+
+ const char* psz = pfn(this);
+ JUT_ASSERT(242, psz!=0);
- const char* psz = oProcess_.rData.pfn(this);
stack_pushCurrent_(psz);
do_select_separate();
}
@@ -126,23 +144,23 @@ void JMessage::TProcessor::on_select_separate() {
void JMessage::TProcessor::do_reset() {}
/* 802A7FC4-802A7FC8 2A2904 0004+00 3/0 0/0 0/0 .text do_begin__Q28JMessage10TProcessorFPCvPCc */
-void JMessage::TProcessor::do_begin(void const* param_0, char const* param_1) {}
+void JMessage::TProcessor::do_begin(void const* pEntry, char const* pszText) {}
/* 802A7FC8-802A7FCC 2A2908 0004+00 3/0 0/0 0/0 .text do_end__Q28JMessage10TProcessorFv
*/
void JMessage::TProcessor::do_end() {}
/* 802A7FCC-802A7FD0 2A290C 0004+00 3/0 0/0 0/0 .text do_character__Q28JMessage10TProcessorFi */
-void JMessage::TProcessor::do_character(int param_0) {}
+void JMessage::TProcessor::do_character(int iCharacter) {}
/* 802A7FD0-802A7FD8 2A2910 0008+00 3/0 0/0 0/0 .text do_tag__Q28JMessage10TProcessorFUlPCvUl */
-bool JMessage::TProcessor::do_tag(u32 param_0, void const* param_1, u32 param_2) {
+bool JMessage::TProcessor::do_tag(u32 uTag, void const* pData, u32 uSize) {
return false;
}
/* 802A7FD8-802A7FDC 2A2918 0004+00 3/0 6/0 0/0 .text do_select_begin__Q28JMessage10TProcessorFUl
*/
-void JMessage::TProcessor::do_select_begin(u32 param_0) {}
+void JMessage::TProcessor::do_select_begin(u32 uNumber) {}
/* 802A7FDC-802A7FE0 2A291C 0004+00 3/0 6/0 0/0 .text do_select_end__Q28JMessage10TProcessorFv */
void JMessage::TProcessor::do_select_end() {}
@@ -154,22 +172,33 @@ void JMessage::TProcessor::do_select_separate() {}
/* 802A7FE4-802A8084 2A2924 00A0+00 1/1 0/0 0/0 .text on_tag___Q28JMessage10TProcessorFv
*/
void JMessage::TProcessor::on_tag_() {
- u32 size;
- u8* psz = (u8*)getCurrent();
- size = *psz;
+ u32 uSize;
+ char* psz = (char*)getCurrent();
+ JUT_ASSERT(292, psz!=0);
+ JUT_ASSERT(293, psz[-1]==data::gcTagBegin);
+
+ uSize = *(u8*)psz;
+ pszCurrent_ = uSize + psz - 1;
+
+ psz++;
- pszCurrent_ = size + (char*)psz + -1;
+ u32 uTag = *(u8*)psz & 0xFF;
+ psz++;
- u32 tag = (psz[1] << 0x8) | psz[2];
- tag <<= 8;
- tag |= psz[3];
+ uTag <<= 8;
+ uTag |= *(u8*)psz & 0xFF;
+ psz++;
- on_tag(tag, &psz[4], size - 5);
+ uTag <<= 8;
+ uTag |= *(u8*)psz & 0xFF;
+ psz++;
+
+ on_tag(uTag, psz, uSize - 5);
}
/* 802A8084-802A8088 2A29C4 0004+00 2/0 4/0 0/0 .text do_resetStatus___Q28JMessage10TProcessorFPCc
*/
-void JMessage::TProcessor::do_resetStatus_(char const* param_0) {}
+void JMessage::TProcessor::do_resetStatus_(char const* pszText) {}
/* 802A8088-802A8090 2A29C8 0008+00 2/0 4/0 0/0 .text
* do_setBegin_isReady___Q28JMessage10TProcessorCFv */
@@ -178,46 +207,58 @@ bool JMessage::TProcessor::do_setBegin_isReady_() const {
}
/* 802A8090-802A81EC 2A29D0 015C+00 2/2 0/0 0/0 .text do_tag___Q28JMessage10TProcessorFUlPCvUl */
-void JMessage::TProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) {
- u32 group = data::getTagGroup(uTag);
- u32 code = data::getTagCode(uTag);
+void JMessage::TProcessor::do_tag_(u32 uTag, void const* pData, u32 uSize) {
+ u8 uGroupID = data::getTagGroup(uTag);
+ unsigned int uCode = data::getTagCode(uTag);
- switch (group) {
+ switch (uGroupID) {
case 0xFF:
- switch (code) {
+ switch (uCode & 0xFFFF) {
case 4:
- stack_pushCurrent(
- on_word(JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(data)));
+ JUT_ASSERT(331, uSize==4);
+ stack_pushCurrent(on_word(JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(pData)));
break;
case 5:
- stack_pushCurrent(on_message(
- JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(data)));
+ JUT_ASSERT(341, uSize==4);
+ stack_pushCurrent(on_message(JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(pData)));
break;
+ default:
+ JGADGET_WARNMSG1(351, "unknown system-tag-code : ", uCode & 0xFFFF);
}
break;
case 0xFE:
- stack_pushCurrent(on_word(code));
+ JUT_ASSERT(356, uSize==0);
+ stack_pushCurrent(on_word(uCode & 0xFFFF));
break;
case 0xFD:
- stack_pushCurrent(on_message_limited(code));
+ JUT_ASSERT(361, uSize==0);
+ stack_pushCurrent(on_message_limited(uCode));
break;
- case 0xF6:
- on_select_begin(process_onSelect_limited_, data, (char*)data + uSize, code);
+ case 0xF6: {
+ u32 uNumber = uCode & 0xFFFF;
+ JUT_ASSERT(368, uSize==4*uNumber);
+ on_select_begin(process_onSelect_limited_, pData, (char*)pData + uSize, uCode);
break;
+ }
case 0xF5:
- on_select_begin(process_onSelect_, data, (char*)data + uSize, code);
+ u32 uNumber = uCode & 0xFFFF;
+ JUT_ASSERT(377, uSize==4*uNumber);
+ on_select_begin(process_onSelect_, pData, (char*)pData + uSize, uCode);
break;
}
+
+ JGADGET_WARNMSG4(387, "unknown tag-value : [", (unsigned int)uGroupID, "-", uCode & 0xFFFF, ']');
}
/* 802A81EC-802A828C 2A2B2C 00A0+00 2/2 0/0 0/0 .text
* process_character___Q28JMessage10TProcessorFv */
bool JMessage::TProcessor::process_character_() {
- int character = on_parseCharacter(&pszCurrent_);
+ JUT_ASSERT(397, pszCurrent_!=0);
+ int iCharacter = on_parseCharacter(&pszCurrent_);
- switch (character) {
+ switch (iCharacter) {
case 0:
- if (!oProcess_.pfnProcess_CharacterEnd(this)) {
+ if (!oProcess_.pfnProcess_onCharacterEnd(this)) {
return false;
}
break;
@@ -225,7 +266,7 @@ bool JMessage::TProcessor::process_character_() {
on_tag_();
break;
default:
- on_character(character);
+ on_character(iCharacter);
}
return true;
@@ -234,6 +275,8 @@ bool JMessage::TProcessor::process_character_() {
/* 802A828C-802A82F4 2A2BCC 0068+00 6/6 6/6 0/0 .text
* process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
bool JMessage::TProcessor::process_onCharacterEnd_normal_(JMessage::TProcessor* pThis) {
+ JUT_ASSERT(420, pThis->oProcess_.pfnProcess_onCharacterEnd== &process_onCharacterEnd_normal_);
+
if (!pThis->oStack_.empty()) {
pThis->stack_popCurrent();
return true;
@@ -246,9 +289,14 @@ bool JMessage::TProcessor::process_onCharacterEnd_normal_(JMessage::TProcessor*
/* 802A82F4-802A833C 2A2C34 0048+00 1/1 0/0 0/0 .text
* process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
bool JMessage::TProcessor::process_onCharacterEnd_select_(JMessage::TProcessor* pThis) {
- pThis->oProcess_.rData.uRest--;
+ JUT_ASSERT(435, pThis->oProcess_.pfnProcess_onCharacterEnd== &process_onCharacterEnd_select_);
+ JUT_ASSERT(436, !pThis->oStack_.empty());
- if (pThis->oProcess_.rData.uRest != 0) {
+ TProcess_::rdata& rData = pThis->oProcess_.rData;
+ rData.uRest--;
+
+ u32 uRest = rData.uRest;
+ if (uRest != 0) {
pThis->on_select_separate();
return true;
}
@@ -260,77 +308,110 @@ bool JMessage::TProcessor::process_onCharacterEnd_select_(JMessage::TProcessor*
/* 802A833C-802A8358 2A2C7C 001C+00 1/1 0/0 0/0 .text
* process_onSelect_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
const char* JMessage::TProcessor::process_onSelect_limited_(JMessage::TProcessor* pThis) {
- u16 data = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse((u16*)pThis->oProcess_.rData.pOffset);
+ TProcess_::rdata& rData = pThis->oProcess_.rData;
+ JUT_ASSERT(454, rData.pfn==&process_onSelect_limited_);
+ JUT_ASSERT(455, rData.pcBase!=0);
+ JUT_ASSERT(456, rData.pOffset!=0);
+ JUT_ASSERT(457, rData.uRest>0);
- pThis->oProcess_.rData.pOffset =
- (void*)((u8*)pThis->oProcess_.rData.pOffset + 2);
+ u16* puOffset = (u16*)rData.pOffset;
+ u16 uData = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(puOffset);
- return &pThis->oProcess_.rData.pcBase[data];
+ rData.pOffset = (void*)(puOffset + 1);
+ return &rData.pcBase[uData];
}
/* 802A8358-802A8374 2A2C98 001C+00 1/1 0/0 0/0 .text
* process_onSelect___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
const char* JMessage::TProcessor::process_onSelect_(JMessage::TProcessor* pThis) {
- u32 data = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse((u32*)pThis->oProcess_.rData.pOffset);
+ TProcess_::rdata& rData = pThis->oProcess_.rData;
+ JUT_ASSERT(471, rData.pfn==&process_onSelect_);
+ JUT_ASSERT(472, rData.pcBase!=0);
+ JUT_ASSERT(473, rData.pOffset!=0);
+ JUT_ASSERT(474, rData.uRest>0);
- pThis->oProcess_.rData.pOffset =
- (void*)((u8*)pThis->oProcess_.rData.pOffset + 4);
+ u32* puOffset = (u32*)rData.pOffset;
+ u32 uData = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(puOffset);
- return &pThis->oProcess_.rData.pcBase[data];
+ rData.pOffset = (void*)(puOffset + 1);
+ return &rData.pcBase[uData];
}
/* 802A8374-802A83B8 2A2CB4 0044+00 0/0 2/2 0/0 .text
* __ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl */
-JMessage::TSequenceProcessor::TSequenceProcessor(JMessage::TReference const* param_0,
- JMessage::TControl* param_1)
- : TProcessor(param_0), pControl_(param_1), eStatus_(STATUS_READY) {}
+JMessage::TSequenceProcessor::TSequenceProcessor(JMessage::TReference const* pReference,
+ JMessage::TControl* pControl)
+ : TProcessor(pReference),
+ pControl_(pControl),
+ eStatus_(STATUS_READY)
+ {}
/* 802A83B8-802A8418 2A2CF8 0060+00 1/0 2/2 0/0 .text __dt__Q28JMessage18TSequenceProcessorFv */
JMessage::TSequenceProcessor::~TSequenceProcessor() {}
/* 802A8418-802A85A4 2A2D58 018C+00 0/0 1/1 0/0 .text process__Q28JMessage18TSequenceProcessorFPCc
*/
-const char* JMessage::TSequenceProcessor::process(char const* param_0) {
+const char* JMessage::TSequenceProcessor::process(char const* pszText) {
do {
switch (eStatus_) {
case STATUS_NORMAL:
break;
case STATUS_JUMP: {
+ JUT_ASSERT(549, pControl_!=0);
+
if (!on_jump_isReady()) {
return pszCurrent_;
}
eStatus_ = STATUS_NORMAL;
- const void* data = oProcess2_.process.jump_process.jumpFn(this);
- if (data != NULL) {
- on_jump(data, pControl_->getMessageText_begin());
+
+ TProcess_& process = oProcess2_;
+ TSequenceProcessor::jumpPfn pfn = process.process.jump_process.jumpFn;
+ JUT_ASSERT(556, pfn!=0);
+
+ const void* pEntry = pfn(this);
+ if (pEntry != NULL) {
+ on_jump(pEntry, pControl_->getMessageText_begin());
}
break;
}
- case STATUS_BRANCH:
- u32 tmp = on_branch_queryResult();
- if (tmp > 0x7FFFFFFF) {
- switch (tmp) {
+ case STATUS_BRANCH: {
+ JUT_ASSERT(567, pControl_!=0);
+
+ u32 queryResult = on_branch_queryResult();
+ if (queryResult > 0x7FFFFFFF) {
+ switch (queryResult) {
case -1:
return pszCurrent_;
case -2:
eStatus_ = STATUS_NORMAL;
break;
+ default:
+ JUT_ASSERT(579, false);
}
} else {
eStatus_ = STATUS_NORMAL;
- if (tmp < oProcess2_.process.branch_process.uTarget) {
- const void* data = oProcess2_.process.branch_process.branchFn(this, tmp);
- if (data != NULL) {
- on_branch(data, pControl_->getMessageText_begin());
+ TProcess_& process = oProcess2_;
+ if (queryResult >= process.process.branch_process.uTarget) {
+ JGADGET_WARNMSG1(588, "unknown result : ", queryResult);
+ } else {
+ TSequenceProcessor::branchPfn pfn = process.process.branch_process.branchFn;
+ JUT_ASSERT(592, pfn!=0);
+
+ const void* pEntry = pfn(this, queryResult);
+ if (pEntry != NULL) {
+ on_branch(pEntry, pControl_->getMessageText_begin());
}
}
}
break;
}
+ default:
+ JUT_ASSERT(602, false);
+ }
- if (pszCurrent_ == param_0) {
+ if (pszCurrent_ == pszText) {
on_end();
return NULL;
}
@@ -346,59 +427,76 @@ const char* JMessage::TSequenceProcessor::process(char const* param_0) {
/* 802A85A4-802A85D0 2A2EE4 002C+00 1/1 0/0 0/0 .text
* on_isReady__Q28JMessage18TSequenceProcessorFv */
bool JMessage::TSequenceProcessor::on_isReady() {
+ JUT_ASSERT(629, eStatus_==STATUS_NORMAL);
return do_isReady();
}
/* 802A85D0-802A85E4 2A2F10 0014+00 1/1 0/0 0/0 .text
* on_jump_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessor_PCvUl */
-void JMessage::TSequenceProcessor::on_jump_register(JMessage::TSequenceProcessor::jumpPfn param_0,
- u32 param_1) {
+void JMessage::TSequenceProcessor::on_jump_register(JMessage::TSequenceProcessor::jumpPfn pfn, u32 u32Target) {
+ JUT_ASSERT(638, eStatus_==STATUS_NORMAL);
eStatus_ = STATUS_JUMP;
- oProcess2_.process.jump_process.jumpFn = param_0;
- oProcess2_.process.jump_process.u32Target = param_1;
+
+ TProcess_& process = oProcess2_;
+ process.process.jump_process.jumpFn = pfn;
+ process.process.jump_process.u32Target = u32Target;
}
/* 802A85E4-802A8610 2A2F24 002C+00 1/1 0/0 0/0 .text
* on_jump_isReady__Q28JMessage18TSequenceProcessorFv */
bool JMessage::TSequenceProcessor::on_jump_isReady() {
+ JUT_ASSERT(649, eStatus_==STATUS_JUMP);
return do_jump_isReady();
}
/* 802A8610-802A8690 2A2F50 0080+00 1/1 0/0 0/0 .text
* on_jump__Q28JMessage18TSequenceProcessorFPCvPCc */
-void JMessage::TSequenceProcessor::on_jump(void const* param_0, char const* param_1) {
- on_resetStatus_(param_1);
- do_jump(param_0, param_1);
+void JMessage::TSequenceProcessor::on_jump(void const* pEntry, char const* pszText) {
+ on_resetStatus_(pszText);
+
+ JUT_ASSERT(658, eStatus_==STATUS_NORMAL);
+ JUT_ASSERT(659, pEntry!=0);
+ JUT_ASSERT(660, pszText!=0);
+ do_jump(pEntry, pszText);
}
/* 802A8690-802A86A0 2A2FD0 0010+00 1/1 0/0 0/0 .text
* on_branch_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessorUl_PCvPCvUl
*/
-void JMessage::TSequenceProcessor::on_branch_register(
- JMessage::TSequenceProcessor::branchPfn param_0, void const* param_1, u32 param_2) {
- oProcess2_.process.branch_process.branchFn = param_0;
- oProcess2_.process.branch_process.pTarget = param_1;
- oProcess2_.process.branch_process.uTarget = param_2;
+void JMessage::TSequenceProcessor::on_branch_register(JMessage::TSequenceProcessor::branchPfn pfn, void const* pTarget, u32 uTarget) {
+ JUT_ASSERT(669, eStatus_==STATUS_NORMAL);
+
+ TProcess_& process = oProcess2_;
+ process.process.branch_process.branchFn = pfn;
+ process.process.branch_process.pTarget = pTarget;
+ process.process.branch_process.uTarget = uTarget;
}
/* 802A86A0-802A86D4 2A2FE0 0034+00 1/1 0/0 0/0 .text
* on_branch_query__Q28JMessage18TSequenceProcessorFUl */
-void JMessage::TSequenceProcessor::on_branch_query(u32 param_0) {
+void JMessage::TSequenceProcessor::on_branch_query(u32 uCode) {
+ JUT_ASSERT(680, eStatus_==STATUS_NORMAL);
eStatus_ = STATUS_BRANCH;
- do_branch_query(param_0);
+ do_branch_query(uCode);
}
/* 802A86D4-802A8700 2A3014 002C+00 1/1 0/0 0/0 .text
* on_branch_queryResult__Q28JMessage18TSequenceProcessorFv */
u32 JMessage::TSequenceProcessor::on_branch_queryResult() {
- return do_branch_queryResult();
+ JUT_ASSERT(691, eStatus_==STATUS_BRANCH);
+ u32 result = do_branch_queryResult();
+ return result;
}
/* 802A8700-802A8780 2A3040 0080+00 1/1 0/0 0/0 .text
* on_branch__Q28JMessage18TSequenceProcessorFPCvPCc */
-void JMessage::TSequenceProcessor::on_branch(void const* param_0, char const* param_1) {
- on_resetStatus_(param_1);
- do_branch(param_0, param_1);
+void JMessage::TSequenceProcessor::on_branch(void const* pEntry, char const* pszText) {
+ on_resetStatus_(pszText);
+
+ JUT_ASSERT(717, eStatus_==STATUS_NORMAL);
+ JUT_ASSERT(718, pEntry!=0);
+ JUT_ASSERT(719, pszText!=0);
+ do_branch(pEntry, pszText);
}
/* 802A8780-802A8788 2A30C0 0008+00 1/0 0/0 0/0 .text
@@ -415,11 +513,11 @@ bool JMessage::TSequenceProcessor::do_jump_isReady() {
/* 802A8790-802A8794 2A30D0 0004+00 1/0 0/0 0/0 .text
* do_jump__Q28JMessage18TSequenceProcessorFPCvPCc */
-void JMessage::TSequenceProcessor::do_jump(void const* param_0, char const* param_1) {}
+void JMessage::TSequenceProcessor::do_jump(void const* pEntry, char const* pszText) {}
/* 802A8794-802A8798 2A30D4 0004+00 1/0 2/0 0/0 .text
* do_branch_query__Q28JMessage18TSequenceProcessorFUl */
-void JMessage::TSequenceProcessor::do_branch_query(u32 param_0) {}
+void JMessage::TSequenceProcessor::do_branch_query(u32 uCode) {}
/* 802A8798-802A87A0 2A30D8 0008+00 1/0 2/0 0/0 .text
* do_branch_queryResult__Q28JMessage18TSequenceProcessorFv */
@@ -429,14 +527,14 @@ s32 JMessage::TSequenceProcessor::do_branch_queryResult() {
/* 802A87A0-802A87A4 2A30E0 0004+00 1/0 2/0 0/0 .text
* do_branch__Q28JMessage18TSequenceProcessorFPCvPCc */
-void JMessage::TSequenceProcessor::do_branch(void const* param_0, char const* param_1) {}
+void JMessage::TSequenceProcessor::do_branch(void const* pEntry, char const* pszText) {}
/* 802A87A4-802A87C0 2A30E4 001C+00 1/0 2/0 0/0 .text
* do_resetStatus___Q28JMessage18TSequenceProcessorFPCc */
-void JMessage::TSequenceProcessor::do_resetStatus_(char const* param_0) {
+void JMessage::TSequenceProcessor::do_resetStatus_(char const* pszText) {
eStatus_ = STATUS_READY;
- if (param_0 != NULL) {
+ if (pszText != NULL) {
eStatus_ = STATUS_NORMAL;
}
}
@@ -449,145 +547,178 @@ bool JMessage::TSequenceProcessor::do_setBegin_isReady_() const {
/* 802A87D0-802A87D4 2A3110 0004+00 1/0 2/0 0/0 .text
* do_begin___Q28JMessage18TSequenceProcessorFPCvPCc */
-void JMessage::TSequenceProcessor::do_begin_(void const* param_0, char const* param_1) {}
+void JMessage::TSequenceProcessor::do_begin_(void const* pEntry, char const* pszText) {
+ JUT_ASSERT(782, eStatus_==STATUS_NORMAL);
+}
/* 802A87D4-802A87E0 2A3114 000C+00 1/0 2/0 0/0 .text do_end___Q28JMessage18TSequenceProcessorFv
*/
void JMessage::TSequenceProcessor::do_end_() {
+ JUT_ASSERT(789, eStatus_==STATUS_NORMAL);
eStatus_ = STATUS_ONE;
}
/* 802A87E0-802A892C 2A3120 014C+00 2/0 2/0 0/0 .text
* do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl */
-void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) {
- char* temp = (char*)data;
- u32 group = data::getTagGroup(uTag);
- u32 code = data::getTagCode(uTag);
+void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* pData, u32 uSize) {
+ u8 uGroupID = data::getTagGroup(uTag);
+ unsigned int uCode = data::getTagCode(uTag);
- switch (group) {
+ switch (uGroupID) {
case 0xFF:
- switch (code) {
+ switch (uCode & 0xFFFF) {
case 0:
case 1:
case 2:
case 3:
break;
case 6: {
- u32 tmp = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(temp);
- on_jump_register(process_onJump_, tmp);
+ JUT_ASSERT(807, uSize==4);
+ u32 u32Target = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(pData);
+ on_jump_register(process_onJump_, u32Target);
break;
}
case 7:
break;
- default:
- TProcessor::do_tag_(uTag, temp, uSize);
+ default: {
+ TProcessor::do_tag_(uTag, pData, uSize);
break;
}
+ }
break;
- case 0xFC:
- on_jump_register(process_onJump_limited_, code);
+ case 0xFC: {
+ JUT_ASSERT(828, uSize==0);
+ on_jump_register(process_onJump_limited_, uCode & 0xFFFF);
break;
- case 0xFB:
- on_branch_register(process_onBranch_limited_, temp, code);
+ }
+ case 0xFB: {
+ u32 uNumber = uCode & 0xFFFF;
+ JUT_ASSERT(835, uSize==2*uNumber);
+ on_branch_register(process_onBranch_limited_, pData, uNumber);
break;
- case 0xFA:
- on_branch_register(process_onBranch_, temp, code);
+ }
+ case 0xFA: {
+ u32 uNumber = uCode & 0xFFFF;
+ JUT_ASSERT(843, uSize==4*uNumber);
+ on_branch_register(process_onBranch_, pData, uNumber);
break;
- case 0xF9:
- on_branch_query(code);
+ }
+ case 0xF9: {
+ JUT_ASSERT(849, uSize==0);
+ on_branch_query(uCode & 0xFFFF);
break;
- case 0xF8:
- on_branch_register(process_onBranch_limited_, temp + 2,
- JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(temp));
- on_branch_query(code);
+ }
+ case 0xF8: {
+ u16* pu16Data = (u16*)pData;
+ u32 uNumber = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(pu16Data);
+ JUT_ASSERT(859, uSize==2+2*uNumber);
+ on_branch_register(process_onBranch_limited_, pu16Data + 1, uNumber);
+ on_branch_query(uCode & 0xFFFF);
break;
- case 0xF7:
- on_branch_register(process_onBranch_, temp + 2,
- JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(temp));
- on_branch_query(code);
+ }
+ case 0xF7: {
+ u16* pu16Data = (u16*)pData;
+ u32 uNumber = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(pu16Data);
+ JUT_ASSERT(871, uSize==2+4*uNumber);
+ on_branch_register(process_onBranch_, pu16Data + 1, uNumber);
+ on_branch_query(uCode & 0xFFFF);
break;
+ }
default:
- TProcessor::do_tag_(uTag, temp, uSize);
- break;
+ TProcessor::do_tag_(uTag, pData, uSize);
}
}
/* 802A892C-802A8944 2A326C 0018+00 1/1 0/0 0/0 .text
* process_setMessageIndex_reserved___Q28JMessage18TSequenceProcessorFUs */
-// NONMATCHING
void JMessage::TSequenceProcessor::process_setMessageIndex_reserved_(u16 u16Index) {
- JUT_ASSERT(890, u16Index >= 0xff00);
+ JUT_ASSERT(890, (data::MESSAGEINDEX_RESERVED_ENUM_MIN<=u16Index)&& (u16Index<=data::MESSAGEINDEX_RESERVED_ENUM_MAX));
+
switch (u16Index) {
- case 0xffff:
+ case 0xFFFF:
+ JGADGET_WARNMSG1(896, "message-index reserved : ", u16Index);
return;
}
}
/* 802A8944-802A89B8 2A3284 0074+00 4/4 0/0 0/0 .text
* process_setMessageCode___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUsUs */
-void* JMessage::TSequenceProcessor::process_setMessageCode_(
- JMessage::TSequenceProcessor const* param_0, u16 param_1, u16 param_2) {
- if (param_2 >= 0xFF00) {
- process_setMessageIndex_reserved_(param_2);
+void* JMessage::TSequenceProcessor::process_setMessageCode_(JMessage::TSequenceProcessor const* pProcessor, u16 u16GroupID, u16 u16Index) {
+ JGADGET_ASSERTWARN(904, u16GroupID<=data::MESSAGEGROUPID_USER_ENUM_MIN);
+
+ if (u16Index >= 0xFF00) {
+ process_setMessageIndex_reserved_(u16Index);
return NULL;
}
- TControl* pControl = param_0->getControl();
+ TControl* pControl = pProcessor->getControl();
+ JUT_ASSERT(911, pControl!=0);
- if (pControl->setMessageCode_inSequence_(param_0, param_1, param_2)) {
- return pControl->getMessageEntry();
+ if (!pControl->setMessageCode_inSequence_(pProcessor, u16GroupID, u16Index)) {
+ JGADGET_WARNMSG1(914, "message-code undefined : ", pControl->getMessageCode());
+ return NULL;
}
- return NULL;
+ return pControl->getMessageEntry();
}
/* 802A89B8-802A89EC 2A32F8 0034+00 1/1 0/0 0/0 .text
* process_onJump_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor */
const void*
-JMessage::TSequenceProcessor::process_onJump_limited_(JMessage::TSequenceProcessor const* param_0) {
- return process_setMessageIndex_(param_0, param_0->oProcess2_.process.jump_process.u32Target);
+JMessage::TSequenceProcessor::process_onJump_limited_(JMessage::TSequenceProcessor const* pProcessor) {
+ const TProcess_::processData::jumpData& rData = pProcessor->oProcess2_.process.jump_process;
+
+ JUT_ASSERT(925, rData.u32Target<=std::uint16_t(-1));
+ return process_setMessageIndex_(pProcessor, rData.u32Target);
}
/* 802A89EC-802A8A18 2A332C 002C+00 1/1 0/0 0/0 .text
* process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor */
const void*
-JMessage::TSequenceProcessor::process_onJump_(JMessage::TSequenceProcessor const* param_0) {
- return process_setMessageCode_(param_0, param_0->oProcess2_.process.jump_process.u32Target);
+JMessage::TSequenceProcessor::process_onJump_(JMessage::TSequenceProcessor const* pProcessor) {
+ const TProcess_::processData::jumpData& rData = pProcessor->oProcess2_.process.jump_process;
+ return process_setMessageCode_(pProcessor, rData.u32Target);
}
/* 802A8A18-802A8A50 2A3358 0038+00 1/1 0/0 0/0 .text
* process_onBranch_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl */
const void*
-JMessage::TSequenceProcessor::process_onBranch_limited_(JMessage::TSequenceProcessor const* param_0,
- u32 uTargetIndex) {
- return process_setMessageIndex_(
- param_0, JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(
- param_0->oProcess2_.process.branch_process.pTarget, uTargetIndex));
+JMessage::TSequenceProcessor::process_onBranch_limited_(JMessage::TSequenceProcessor const* pProcessor, u32 uTargetIndex) {
+ const TProcess_::processData::branchData& rData = pProcessor->oProcess2_.process.branch_process;
+
+ JUT_ASSERT(942, rData.pTarget!=0);
+ JUT_ASSERT(943, uTargetIndex<rData.uTarget);
+
+ u16 u16Index = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(rData.pTarget, uTargetIndex);
+ return process_setMessageIndex_(pProcessor, u16Index);
}
/* 802A8A50-802A8A84 2A3390 0034+00 1/1 0/0 0/0 .text
* process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl */
const void*
-JMessage::TSequenceProcessor::process_onBranch_(JMessage::TSequenceProcessor const* param_0,
- u32 uTargetIndex) {
- return process_setMessageCode_(
- param_0, JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(
- param_0->oProcess2_.process.branch_process.pTarget, uTargetIndex));
+JMessage::TSequenceProcessor::process_onBranch_(JMessage::TSequenceProcessor const* pProcessor, u32 uTargetIndex) {
+ const TProcess_::processData::branchData& rData = pProcessor->oProcess2_.process.branch_process;
+
+ JUT_ASSERT(957, rData.pTarget!=0);
+ JUT_ASSERT(958, uTargetIndex<rData.uTarget);
+
+ u32 uCode = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(rData.pTarget, uTargetIndex);
+ return process_setMessageCode_(pProcessor, uCode);
}
/* 802A8A84-802A8AC0 2A33C4 003C+00 0/0 4/4 0/0 .text
* __ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference */
-JMessage::TRenderingProcessor::TRenderingProcessor(JMessage::TReference const* param_0)
- : TProcessor(param_0) {}
+JMessage::TRenderingProcessor::TRenderingProcessor(JMessage::TReference const* pReference)
+ : TProcessor(pReference) {}
/* 802A8AC0-802A8B20 2A3400 0060+00 1/0 6/6 0/0 .text __dt__Q28JMessage19TRenderingProcessorFv */
JMessage::TRenderingProcessor::~TRenderingProcessor() {}
/* 802A8B20-802A8BA4 2A3460 0084+00 0/0 4/4 0/0 .text
* process__Q28JMessage19TRenderingProcessorFPCc */
-int JMessage::TRenderingProcessor::process(char const* param_0) {
+int JMessage::TRenderingProcessor::process(char const* pszText) {
do {
- if (pszCurrent_ == param_0) {
+ if (pszCurrent_ == pszText) {
on_end();
return 0;
}
@@ -598,7 +729,7 @@ int JMessage::TRenderingProcessor::process(char const* param_0) {
/* 802A8BA4-802A8BA8 2A34E4 0004+00 1/0 4/0 0/0 .text
* do_begin___Q28JMessage19TRenderingProcessorFPCvPCc */
-void JMessage::TRenderingProcessor::do_begin_(void const* param_0, char const* param_1) {}
+void JMessage::TRenderingProcessor::do_begin_(void const* pEntry, char const* pszText) {}
/* 802A8BA8-802A8BAC 2A34E8 0004+00 1/0 4/0 0/0 .text do_end___Q28JMessage19TRenderingProcessorFv
*/
@@ -606,24 +737,25 @@ void JMessage::TRenderingProcessor::do_end_() {}
/* 802A8BAC-802A8C24 2A34EC 0078+00 1/0 4/0 0/0 .text
* do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl */
-void JMessage::TRenderingProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) {
- u32 group = data::getTagGroup(uTag);
- u32 code = data::getTagCode(uTag);
+void JMessage::TRenderingProcessor::do_tag_(u32 uTag, void const* pData, u32 uSize) {
+ u8 uGroupID = data::getTagGroup(uTag);
+ unsigned int uCode = data::getTagCode(uTag);
- switch (group) {
+ switch (uGroupID) {
case 0xFF:
- switch (code) {
+ switch (uCode & 0xFFFF) {
case 0:
case 1:
case 2:
case 3:
+ JGADGET_WARNMSG1(1047, "system-tag-code ignored : ", uCode & 0xFFFF);
break;
case 6:
break;
case 7:
break;
default:
- TProcessor::do_tag_(uTag, data, uSize);
+ TProcessor::do_tag_(uTag, pData, uSize);
break;
}
break;
@@ -635,7 +767,7 @@ void JMessage::TRenderingProcessor::do_tag_(u32 uTag, void const* data, u32 uSiz
case 0xF7:
break;
default:
- TProcessor::do_tag_(uTag, data, uSize);
+ TProcessor::do_tag_(uTag, pData, uSize);
break;
}
}
diff --git a/src/JSystem/JMessage/resource.cpp b/src/JSystem/JMessage/resource.cpp
index 0b0faafe99..eca131efd8 100644
--- a/src/JSystem/JMessage/resource.cpp
+++ b/src/JSystem/JMessage/resource.cpp
@@ -1,87 +1,90 @@
-//
-// Generated By: dol2asm
-// Translation Unit: resource
-//
-
#include "JSystem/JMessage/resource.h"
#include "JSystem/JGadget/search.h"
#include "JSystem/JGadget/define.h"
#include <algorithm.h>
-#include "string.h"
+#include <string.h>
/* 802A8CDC-802A8EC0 2A361C 01E4+00 0/0 1/1 0/0 .text
* toMessageIndex_messageID__Q28JMessage9TResourceCFUlUlPb */
-u16 JMessage::TResource::toMessageIndex_messageID(u32 lowerHalf, u32 upperHalf,
- bool* isMsgValid) const {
- if (!mMessageID.getRaw()) {
+u16 JMessage::TResource::toMessageIndex_messageID(u32 uMsgID, u32 upperHalf, bool* pbValid) const {
+ if (!oParse_TBlock_messageID_.getRaw()) {
return 0xFFFF;
}
- u32 val = -1;
- bool check = true;
+ JUT_ASSERT(87, oParse_TBlock_messageID_.get_form()==0);
+
+ u32 uMsgValue = 0xFFFFFFFF;
+ bool valid = true;
- u8 sp0A = mMessageID.get_formSupplement();
- switch (sp0A) {
+ u8 uFormSupplement = oParse_TBlock_messageID_.get_formSupplement();
+ switch (uFormSupplement) {
case 0:
- if (upperHalf) {
- check = false;
+ if (upperHalf != 0) {
+ valid = false;
}
- val = lowerHalf;
+ uMsgValue = uMsgID;
break;
case 1:
- if (lowerHalf > 0xFFFFFF || upperHalf > 0xFF) {
- check = false;
+ if (uMsgID > 0xFFFFFF || upperHalf > 0xFF) {
+ valid = false;
}
- val = ((lowerHalf << 8) & 0xFFFFFF00) | (upperHalf & 0xFF);
+ uMsgValue = ((uMsgID << 8) & 0xFFFFFF00) | (upperHalf & 0xFF);
break;
case 2:
- if (lowerHalf > 0xFFFF || upperHalf > 0xFFFF) {
- check = false;
+ if (uMsgID > 0xFFFF || upperHalf > 0xFFFF) {
+ valid = false;
}
- val = ((lowerHalf << 16) & 0xFFFF0000) | (upperHalf & 0xFFFF);
+ uMsgValue = ((uMsgID << 16) & 0xFFFF0000) | (upperHalf & 0xFFFF);
break;
case 3:
- if (lowerHalf > 0xFF || upperHalf > 0xFFFFFF) {
- check = false;
+ if (uMsgID > 0xFF || upperHalf > 0xFFFFFF) {
+ valid = false;
}
- val = ((lowerHalf << 24) & 0xFF000000) | (upperHalf & 0x00FFFFFF);
+ uMsgValue = ((uMsgID << 24) & 0xFF000000) | (upperHalf & 0x00FFFFFF);
break;
case 4:
- if (lowerHalf) {
- check = false;
+ if (uMsgID != 0) {
+ valid = false;
}
- val = upperHalf;
+ uMsgValue = upperHalf;
break;
default:
+ JGADGET_WARNMSG1(122, "form-supplement unknown", uFormSupplement);
return 0xFFFF;
}
- if (isMsgValid) {
- *isMsgValid = check;
+ if (pbValid) {
+ *pbValid = valid;
}
- if (val == 0xFFFFFFFF) {
+ if (uMsgValue == 0xFFFFFFFF) {
return 0xFFFF;
}
- int number = mMessageID.get_number();
- const u32* first = mMessageID.getContent();
- const u32* last = first + number;
+ int nMsgNumber = oParse_TBlock_messageID_.get_number();
+
+ const u32* pContent = oParse_TBlock_messageID_.getContent();
+ JUT_ASSERT(131, pContent!=0);
- const u32* lower;
- if (mMessageID.get_isOrdered()) {
- lower = std::lower_bound(first, last, val);
+ const u32* pFirst = pContent;
+ const u32* pLast = pFirst + nMsgNumber;
+ const u32* pEntry;
- if (lower == last || *lower != val) {
+ if (oParse_TBlock_messageID_.get_isOrdered()) {
+ pEntry = std::lower_bound(pFirst, pLast, uMsgValue);
+ if (pEntry == pLast || *pEntry != uMsgValue) {
return 0xFFFF;
}
} else {
- lower = std::find(first, last, val);
- if (lower == last) {
+ pEntry = std::find(pFirst, pLast, uMsgValue);
+ if (pEntry == pLast) {
return 0xFFFF;
}
}
- return (lower - first);
+
+ int nIndex = pEntry - pFirst;
+ JUT_ASSERT(154, (data::MESSAGEINDEX_USER_ENUM_MIN<=nIndex)&& (nIndex<=data::MESSAGEINDEX_USER_ENUM_MAX));
+ return nIndex;
}
/* 803C9C80-803C9C94 -00001 0014+00 1/1 0/0 0/0 .data
@@ -100,45 +103,48 @@ JMessage::TResourceContainer::TCResource::TCResource() {}
/* 802A8EF8-802A8F6C 2A3838 0074+00 1/0 2/2 0/0 .text
* __dt__Q38JMessage18TResourceContainer10TCResourceFv */
-JMessage::TResourceContainer::TCResource::~TCResource() {}
+JMessage::TResourceContainer::TCResource::~TCResource() {
+ JGADGET_ASSERTWARN(173, empty());
+}
/* 802A8F6C-802A8FFC 2A38AC 0090+00 0/0 1/1 0/0 .text
* Get_groupID__Q38JMessage18TResourceContainer10TCResourceFUs */
-// NONMATCHING
-JMessage::TResource* JMessage::TResourceContainer::TCResource::Get_groupID(u16 groupID) {
+// NONMATCHING - likely due to incorrect enumerator setup compared to debug
+JMessage::TResource* JMessage::TResourceContainer::TCResource::Get_groupID(u16 u16GroupID) {
JGadget::TContainerEnumerator<TResource, 0> enumerator(this);
while (enumerator) {
const TResource* res = &(*enumerator);
- if (res->field_0xc.get_groupID() == groupID)
+ if (res->getGroupID() == u16GroupID)
return (TResource*)res;
}
+
return NULL;
}
/* 802A8FFC-802A9048 2A393C 004C+00 1/0 0/0 0/0 .text
* Do_create__Q38JMessage18TResourceContainer10TCResourceFv */
JMessage::TResource* JMessage::TResourceContainer::TCResource::Do_create() {
- TResource* new_res = new TResource();
- return new_res;
+ return new TResource();
}
/* 802A9048-802A906C 2A3988 0024+00 1/0 0/0 0/0 .text
* Do_destroy__Q38JMessage18TResourceContainer10TCResourceFPQ28JMessage9TResource */
// NONMATCHING extra null comparison
-void JMessage::TResourceContainer::TCResource::Do_destroy(JMessage::TResource* param_0) {
- delete param_0;
+void JMessage::TResourceContainer::TCResource::Do_destroy(JMessage::TResource* pResource) {
+ delete pResource;
}
/* 802A906C-802A90B8 2A39AC 004C+00 0/0 2/2 0/0 .text __ct__Q28JMessage18TResourceContainerFv */
-JMessage::TResourceContainer::TResourceContainer() : mEncodingType(0), pfnParseCharacter_(NULL) {}
+JMessage::TResourceContainer::TResourceContainer() : encodingType_(0), pfnParseCharacter_(NULL) {}
/* 802A90B8-802A90F0 2A39F8 0038+00 1/1 0/0 0/0 .text
* setEncoding__Q28JMessage18TResourceContainerFUc */
void JMessage::TResourceContainer::setEncoding(u8 e) {
if (e == 0) {
- mEncodingType = e;
+ encodingType_ = e;
pfnParseCharacter_ = NULL;
} else {
+ JGADGET_ASSERTWARN(285, isEncodingSettable(e));
setEncoding_(e);
}
}
@@ -146,14 +152,15 @@ void JMessage::TResourceContainer::setEncoding(u8 e) {
/* 802A90F0-802A9130 2A3A30 0040+00 1/1 0/0 0/0 .text
* setEncoding___Q28JMessage18TResourceContainerFUc */
void JMessage::TResourceContainer::setEncoding_(u8 e) {
- mEncodingType = e;
- pfnParseCharacter_ = JGadget::toValueFromIndex<JMessage::locale::parseCharacter_function>(
- e, sapfnParseCharacter_, 5, NULL);
+ encodingType_ = e;
+ pfnParseCharacter_ = JGadget::toValueFromIndex<JMessage::locale::parseCharacter_function>(e, sapfnParseCharacter_, 5, NULL);
+ JUT_ASSERT(299, pfnParseCharacter_!=0);
}
/* 802A9130-802A9158 2A3A70 0028+00 0/0 2/2 0/0 .text
* __ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer */
JMessage::TParse::TParse(JMessage::TResourceContainer* pContainer) {
+ JUT_ASSERT(324, pContainer!=0);
pContainer_ = pContainer;
pResource_ = NULL;
}
@@ -164,108 +171,121 @@ JMessage::TParse::~TParse() {}
/* 802A91B8-802A92F4 2A3AF8 013C+00 1/0 0/0 0/0 .text
* parseHeader_next__Q28JMessage6TParseFPPCvPUlUl */
// NONMATCHING regalloc, missing clrlwi
-bool JMessage::TParse::parseHeader_next(void const** ppData_inout, u32* puBlock_out, u32 param_2) {
+bool JMessage::TParse::parseHeader_next(const void** ppData_inout, u32* puBlock_out, u32 param_2) {
+ JUT_ASSERT(343, ppData_inout!=0);
+ JUT_ASSERT(344, puBlock_out!=0);
+
const void* pData = *ppData_inout;
+ JUT_ASSERT(346, pData!=0);
- data::TParse_THeader header(pData);
- *ppData_inout = header.getContent();
- *puBlock_out = header.get_blockNumber();
+ data::TParse_THeader oHeader(pData);
+ *ppData_inout = oHeader.getContent();
+ *puBlock_out = oHeader.get_blockNumber();
- if (memcmp(header.get_signature(), &data::ga4cSignature, sizeof(data::ga4cSignature))) {
+ JUT_ASSERT(350, pContainer_!=0);
+
+ if (memcmp(oHeader.get_signature(), &data::ga4cSignature, sizeof(data::ga4cSignature)) != 0) {
+ JGADGET_WARNMSG(355, "unknown signature");
return 0;
}
- if (header.get_type() != 'bmg1') {
+ if (oHeader.get_type() != 'bmg1') {
+ JGADGET_WARNMSG(360, "unknown type");
return 0;
}
- u8 encoding = header.get_encoding();
- if (encoding != 0) {
- if (!pContainer_->isEncodingSettable(encoding)) {
+ u8 uEncoding = oHeader.get_encoding();
+ if (uEncoding != 0) {
+ if (!pContainer_->isEncodingSettable(uEncoding)) {
+ JGADGET_WARNMSG(369, "encoding not acceptable");
return 0;
}
- pContainer_->setEncoding(encoding);
+ pContainer_->setEncoding(uEncoding);
}
if (param_2 & 0x10) {
return 1;
}
- TResourceContainer::TCResource* resContainer = &pContainer_->resContainer_;
- pResource_ = resContainer->Do_create();
+ TResourceContainer::TCResource* pResContainer = &pContainer_->resContainer_;
+ pResource_ = pResContainer->Do_create();
if (pResource_ == NULL) {
- return param_2 & 0x20;
+ JGADGET_WARNMSG(384, "can't create resource");
+ if (param_2 & 0x20) {
+ return 1;
+ } else {
+ return 0;
+ }
} else {
- resContainer->Push_back(pResource_);
- pResource_->setData_header(header.getRaw());
+ pResContainer->Push_back(pResource_);
+ pResource_->setData_header(oHeader.getRaw());
return 1;
}
}
/* 802A92F4-802A9490 2A3C34 019C+00 1/0 0/0 0/0 .text
* parseBlock_next__Q28JMessage6TParseFPPCvPUlUl */
-bool JMessage::TParse::parseBlock_next(void const** ppData_inout, u32* puData_out, u32 param_2) {
+bool JMessage::TParse::parseBlock_next(const void** ppData_inout, u32* puData_out, u32 param_2) {
JUT_ASSERT(401, ppData_inout!=0);
JUT_ASSERT(402, puData_out!=0);
const void* pData = *ppData_inout;
JUT_ASSERT(404, pData!=0);
- data::TParse_TBlock sp34(pData);
+ data::TParse_TBlock oBlock(pData);
- *ppData_inout = sp34.getNext();
- *puData_out = sp34.get_size();
+ *ppData_inout = oBlock.getNext();
+ *puData_out = oBlock.get_size();
TResourceContainer::TCResource& rcResource = pContainer_->resContainer_;
JUT_ASSERT(412, pResource_==&*--(rcResource.end()));
- u32 sp30 = sp34.get_type();
- switch (sp30) {
- case 'INF1':
+ u32 uType = oBlock.get_type();
+ switch (uType) {
+ case 'INF1': {
pResource_->setData_block_info(pData);
break;
+ }
case 'FLI1':
break;
case 'FLW1':
break;
- case 'DAT1':
+ case 'DAT1': {
pResource_->setData_block_messageText(pData);
- u16 temp_r26 = pResource_->getGroupID();
+ u16 u16GroupID = pResource_->getGroupID();
if (param_2 & 0x80) {
- JGadget::TLinkList<JMessage::TResource, 0>::iterator sp2C(rcResource.begin());
- JMessage::TResource* sp28;
- while ((sp28 = &*sp2C) != pResource_) {
- if ((u16)temp_r26 != sp28->getGroupID()) {
- ++sp2C;
+ JGadget::TLinkList<JMessage::TResource, 0>::iterator iResource(rcResource.begin());
+ JMessage::TResource* pResource;
+ while ((pResource = &*iResource) != pResource_) {
+ if ((u16)u16GroupID != pResource->getGroupID()) {
+ ++iResource;
} else {
- sp2C = rcResource.Erase_destroy(sp28);
+ iResource = rcResource.Erase_destroy(pResource);
}
}
} else {
#ifdef DEBUG
- JMessage::TResource* sp24 = rcResource.Get_groupID(temp_r26);
- if (sp24 != pResource_) {
- JGadget_outMessage sp148(JGadget_outMessage::warning, __FILE__, 444);
- sp148 << "group-ID already exist : " << temp_r26;
+ JMessage::TResource* pResource = rcResource.Get_groupID(u16GroupID);
+ if (pResource != pResource_) {
+ JGADGET_WARNMSG1(444, "group-ID already exist : ", u16GroupID);
}
#endif
}
break;
- case 'STR1':
+ }
+ case 'STR1': {
pResource_->setData_block_stringAttribute(pData);
break;
- case 'MID1':
+ }
+ case 'MID1': {
pResource_->setData_block_messageID(pData);
break;
+ }
default:
- #ifdef DEBUG
- JGadget_outMessage sp148(JGadget_outMessage::warning, __FILE__, 463);
- sp148 << "unknown block : " << sp30;
- #endif
-
+ JGADGET_WARNMSG1(463, "unknown block : ", uType);
if (!(param_2 & 0x40)) {
return 0;
}
@@ -277,24 +297,26 @@ bool JMessage::TParse::parseBlock_next(void const** ppData_inout, u32* puData_ou
/* 802A9490-802A94A8 2A3DD0 0018+00 1/0 0/0 0/0 .text
* parseCharacter_1Byte__Q28JMessage6localeFPPCc */
-int JMessage::locale::parseCharacter_1Byte(char const** string) {
- u8 parse_char = **string;
+int JMessage::locale::parseCharacter_1Byte(char const** ppszText) {
+ u8** ppuText = (u8**)ppszText;
+ int parse_char = **ppuText & 0xFF;
- *string = *string + 1;
+ (*ppuText)++;
return parse_char;
}
/* 802A94A8-802A94D4 2A3DE8 002C+00 1/0 0/0 0/0 .text
* parseCharacter_2Byte__Q28JMessage6localeFPPCc */
-int JMessage::locale::parseCharacter_2Byte(char const** string) {
- u8** tmp_str = (u8**)string;
+int JMessage::locale::parseCharacter_2Byte(char const** ppszText) {
+ u8** ppuText = (u8**)ppszText;
+
+ int parse_char = **ppuText & 0xFF;
+ (*ppuText)++;
- u8 hi = **tmp_str;
- *tmp_str = *tmp_str + 1;
+ parse_char <<= 8;
- u8 lo = **tmp_str;
- int parse_char = (hi << 8) | lo;
- *tmp_str = *tmp_str + 1;
+ parse_char |= **ppuText & 0xFF;
+ (*ppuText)++;
return parse_char;
}
diff --git a/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/algorithm.h b/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/algorithm.h
index 23d1a166eb..e34b4ea75a 100644
--- a/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/algorithm.h
+++ b/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/algorithm.h
@@ -84,8 +84,9 @@ InputIt find_if(InputIt first, InputIt last, UnaryPredicate p) {
// fakematch: val should be a const reference, but that breaks JMessage::TResource::toMessageIndex_messageID
template<class ForwardIterator, class T>
inline ForwardIterator find(ForwardIterator first, ForwardIterator last, T& val) {
- for (; first != last && *first != val; ++first) {
- }
+ while (first != last && !(*first == val)) {
+ ++first;
+ }
return first;
}
diff --git a/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/cstdint.h b/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/cstdint.h
new file mode 100644
index 0000000000..5f6672b452
--- /dev/null
+++ b/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/cstdint.h
@@ -0,0 +1,28 @@
+#ifndef MSL_CSTDINT_H_
+#define MSL_CSTDINT_H_
+
+#ifdef __cplusplus
+namespace std {
+extern "C" {
+#endif
+
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned long uint32_t;
+
+typedef signed char int8_t;
+typedef short int16_t;
+typedef long int32_t;
+
+typedef unsigned long long uint64_t;
+typedef long long int64_t;
+
+typedef uint32_t uintptr_t;
+typedef int32_t intptr_t;
+
+#ifdef __cplusplus
+};
+}
+#endif
+
+#endif
diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp
index 02de206cc8..73d79cc635 100644
--- a/src/d/d_demo.cpp
+++ b/src/d/d_demo.cpp
@@ -1,4 +1,5 @@
#include "d/d_demo.h"
+#include "d/d_msg_class.h"
#include "d/d_msg_object.h"
#include "m_Do/m_Do_graphic.h"
#include "d/actor/d_a_movie_player.h"
diff --git a/src/d/d_meter2_draw.cpp b/src/d/d_meter2_draw.cpp
index f979af3c8b..e5ad2079cb 100644
--- a/src/d/d_meter2_draw.cpp
+++ b/src/d/d_meter2_draw.cpp
@@ -3346,7 +3346,7 @@ char* dMeter2Draw_c::getActionString(u8 i_action, u8 i_type, u8* param_2) {
}
if (param_2 != NULL) {
- *param_2 = mesg_entry.print_style;
+ *param_2 = mesg_entry.output_type;
if (g_drawHIO.mButtonATextActionID == 0x3E6) {
*param_2 = 7;
@@ -3363,7 +3363,7 @@ char* dMeter2Draw_c::getActionString(u8 i_action, u8 i_type, u8* param_2) {
}
if (param_2 != NULL) {
- *param_2 = mesg_entry.print_style;
+ *param_2 = mesg_entry.output_type;
if (i_action_num[i_action] == 0x3E6) {
*param_2 = 7;
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);
}
diff --git a/src/d/d_msg_object.cpp b/src/d/d_msg_object.cpp
index afe4f472ef..1c86837757 100644
--- a/src/d/d_msg_object.cpp
+++ b/src/d/d_msg_object.cpp
@@ -1784,8 +1784,11 @@ bool dMsgObject_c::isKanbanMessage() {
}
/* 802370E8-802370FC 231A28 0014+00 6/6 3/3 0/0 .text isHowlMessage__12dMsgObject_cFv */
-u8 dMsgObject_c::isHowlMessage() {
- return mFukiKind == 17;
+bool dMsgObject_c::isHowlMessage() {
+ if (mFukiKind == 17) {
+ return true;
+ }
+ return false;
}
/* 802370FC-80237138 231A3C 003C+00 3/3 2/2 0/0 .text isMidonaMessage__12dMsgObject_cFv
diff --git a/src/d/d_msg_unit.cpp b/src/d/d_msg_unit.cpp
index 26383285bc..731bb4cdc1 100644
--- a/src/d/d_msg_unit.cpp
+++ b/src/d/d_msg_unit.cpp
@@ -33,89 +33,94 @@ dMsgUnit_c::~dMsgUnit_c() {}
/* 80238CEC-8023907C 23362C 0390+00 0/0 5/5 0/0 .text setTag__10dMsgUnit_cFiiPcb */
// NONMATCHING - regalloc
-void dMsgUnit_c::setTag(int param_1, int param_2, char* param_3, bool param_4) {
- *param_3 = 0;
+void dMsgUnit_c::setTag(int i_type, int i_value, char* o_buffer, bool param_4) {
+ *o_buffer = 0;
bool stack9 = false;
bool stack8 = false;
- int param_2b = param_2;
- if (param_1 == 0x10000) {
- sprintf(param_3, "%d", param_2);
- } else if (param_1 == 0x10001) {
- int tens_digit = param_2 / 10;
- int ones_digit = param_2 % 10;
- sprintf(param_3, "%d-%d", tens_digit, ones_digit);
- } else if (param_1 == 4 && param_4 == true) {
- int r6 = param_2 / 1000;
- int r5 = r6 / 60;
- r6 -= r5 * 60;
- if (r5 > 99) {
- r5 = 99;
- r6 = 59;
+ int param_2b = i_value;
+
+ if (i_type == 0x10000) {
+ sprintf(o_buffer, "%d", i_value);
+ } else if (i_type == 0x10001) {
+ int tens_digit = i_value / 10;
+ int ones_digit = i_value % 10;
+ sprintf(o_buffer, "%d-%d", tens_digit, ones_digit);
+ } else if (i_type == 4 && param_4 == true) {
+ int seconds = i_value / 1000;
+ int minutes = seconds / 60;
+ seconds -= minutes * 60;
+ if (minutes > 99) {
+ minutes = 99;
+ seconds = 59;
}
- if (r5 != 0 || r6 != 0) {
- sprintf(param_3, "%d:%02d", r5, r6);
+ if (minutes != 0 || seconds != 0) {
+ sprintf(o_buffer, "%d:%02d", minutes, seconds);
}
- } else if (param_1 == 3 && param_4 == true) {
+ } else if (i_type == 3 && param_4 == true) {
f32 iVar8b;
f32 dayTime = g_env_light.getDaytime();
- f32 fVar1 = dayTime / 15.0f;
+ f32 hour = dayTime / 15.0f;
+
iVar8b = ((s32)(1000000.0f * dayTime) % 15000000) / 1000000.0f;
- f32 iVar8c = 60.0f * (iVar8b / 15.0f);
+ f32 minute = 60.0f * (iVar8b / 15.0f);
+
iVar8b = ((s32)(1000000.0f * dayTime) % 250000) / 1000000.0f;
f32 iVar9 = 60.0f * (iVar8b / 0.25f);
- sprintf(param_3, "%d:%02d", (s32)(fVar1), (s32)iVar8c);
+ sprintf(o_buffer, "%d:%02d", (s32)hour, (s32)minute);
} else {
- if (param_1 == 9 && param_4 == true) {
- int param_2c = param_2;
- sprintf(param_3, "%d", param_2c);
+ if (i_type == 9 && param_4 == true) {
+ int value = i_value;
+ sprintf(o_buffer, "%d", value);
stack8 = true;
}
if (!stack9) {
- bmg_header_t* iVar9 = (bmg_header_t*)dMeter2Info_getMsgUnitResource();
- dMsgUnit_inf1_section_t* inf1 = NULL;
- const void* dat1 = NULL;
- str1_section_t* str1 = NULL;
- int local_114 = sizeof(bmg_header_t);
- u32 size = iVar9->size;
- bmg_section_t* piVar12 = (bmg_section_t*)(((u8*)iVar9) + local_114);
- for (; local_114 < size; local_114 += piVar12->size) {
- switch(piVar12->magic) {
+ bmg_header_t* pHeader = (bmg_header_t*)dMeter2Info_getMsgUnitResource();
+ dMsgUnit_inf1_section_t* pInfoBlock = NULL;
+ const void* pMsgDataBlock = NULL;
+ str1_section_t* pStrAttributeBlock = NULL;
+ int filepos = sizeof(bmg_header_t);
+ u32 filesize = pHeader->size;
+ bmg_section_t* pSection = (bmg_section_t*)(((u8*)pHeader) + filepos);
+
+ for (; filepos < filesize; filepos += pSection->size) {
+ switch(pSection->magic) {
case 'FLW1':
break;
case 'FLI1':
break;
case 'INF1':
- inf1 = (dMsgUnit_inf1_section_t*)piVar12;
+ pInfoBlock = (dMsgUnit_inf1_section_t*)pSection;
break;
case 'DAT1':
- dat1 = piVar12;
+ pMsgDataBlock = pSection;
break;
case 'STR1':
- str1 = (str1_section_t*)piVar12;
+ pStrAttributeBlock = (str1_section_t*)pSection;
break;
}
- piVar12 = (bmg_section_t*)((u8*)piVar12 + piVar12->size);
+ pSection = (bmg_section_t*)((u8*)pSection + pSection->size);
}
// This section is weird. The debug seems like entriesStr is outside the condition
- // but the normal build doesn't really work with that. Same for inf1->entries.
+ // but the normal build doesn't really work with that. Same for pInfoBlock->entries.
#ifdef DEBUG
- dMsgUnit_inf1_entry* entry = &inf1->entries[param_1];
+ dMsgUnit_inf1_entry* entry = &pInfoBlock->entries[i_type];
u32 dat1EntryOffset = entry->dat1EntryOffset;
u16 startFrame = entry->startFrame;
u16 endFrame = entry->endFrame;
- const char* entriesStr = str1->entries->str;
+ const char* entriesStr = pStrAttributeBlock->entries->str;
#else
- u16 startFrame = inf1->entries[param_1].startFrame;
- u16 endFrame = inf1->entries[param_1].endFrame;
+ u16 startFrame = pInfoBlock->entries[i_type].startFrame;
+ u16 endFrame = pInfoBlock->entries[i_type].endFrame;
const char* entriesStr;
#endif
+
const char* uVar5;
- if (param_2 == 1
+ if (i_value == 1
#ifdef DEBUG
- || (dComIfGs_getPalLanguage() == 3 && param_2 == 0)
+ || (dComIfGs_getPalLanguage() == 3 && i_value == 0)
#endif
) {
#ifdef DEBUG
@@ -123,26 +128,29 @@ void dMsgUnit_c::setTag(int param_1, int param_2, char* param_3, bool param_4) {
} else {
uVar5 = entriesStr + startFrame;
#else
- uVar5 = str1->entries->str + endFrame;
+ uVar5 = pStrAttributeBlock->entries->str + endFrame;
} else {
- uVar5 = str1->entries->str + startFrame;
+ uVar5 = pStrAttributeBlock->entries->str + startFrame;
#endif
}
+
if (strcmp(uVar5, "") == 0) {
- sprintf(param_3, "%d%s", param_2, uVar5);
+ sprintf(o_buffer, "%d%s", i_value, uVar5);
} else {
- sprintf(param_3, "%d %s", param_2, uVar5);
+ sprintf(o_buffer, "%d %s", i_value, uVar5);
}
}
- if (param_1 == 3 && param_4 == true) {
- char acStack_d8[20];
- setTag(4, 0, acStack_d8, false);
- strcat(param_3, acStack_d8);
+
+ if (i_type == 3 && param_4 == true) {
+ char buffer[20];
+ setTag(4, 0, buffer, false);
+ strcat(o_buffer, buffer);
}
- if (param_1 == 4 && param_4 == true) {
- char acStack_ec[20];
- setTag(5, param_2b, acStack_ec, false);
- strcat(param_3, acStack_ec);
+
+ if (i_type == 4 && param_4 == true) {
+ char buffer[20];
+ setTag(5, param_2b, buffer, false);
+ strcat(o_buffer, buffer);
}
}
}