mirror of
https://github.com/zeldaret/ss
synced 2026-07-28 07:08:38 -04:00
Merge pull request #250 from robojumper/select-btn
d_lyt_msg_window_select_btn mostly OK
This commit is contained in:
+145
-132
@@ -252,14 +252,14 @@ const u16 sMsgWindowFlags[2050] = {
|
||||
|
||||
dTagProcessor_c::dTagProcessor_c() {
|
||||
field_0x82C = -1;
|
||||
field_0x828 = -1;
|
||||
field_0x90E = 0;
|
||||
mCancelBtnIdx = -1;
|
||||
mCurrentOptionIdx = 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int j = 0; j < 256; j++) {
|
||||
field_0x008[i][j] = 0;
|
||||
mOptionBufs[i][j] = 0;
|
||||
}
|
||||
field_0x808[i] = 0;
|
||||
field_0x90F[i] = 0;
|
||||
mOptionLengths[i] = 0;
|
||||
mOptionSound[i] = 0;
|
||||
}
|
||||
|
||||
field_0x904 = 0.0f;
|
||||
@@ -327,7 +327,7 @@ dTagProcessor_c::dTagProcessor_c() {
|
||||
field_0xEEE = 0;
|
||||
field_0xEEF = 0;
|
||||
field_0xEE0 = 0;
|
||||
field_0xEE1 = 0;
|
||||
mIsShadowText = false;
|
||||
field_0xEE2 = 0;
|
||||
field_0xEE3 = 0;
|
||||
field_0xEE4 = 0;
|
||||
@@ -356,11 +356,11 @@ void dTagProcessor_c::format(
|
||||
void dTagProcessor_c::formatV(
|
||||
dTextBox_c *textBox, const wchar_t *src, wchar_t *dest, u32 destLen, u32 *pOutLen, void *unk, va_list list
|
||||
) {
|
||||
s32 state3 = 0;
|
||||
s32 state4 = 0;
|
||||
s32 optionIdx = 0;
|
||||
bool isProcessingOption = false;
|
||||
|
||||
s32 state1 = -1;
|
||||
s32 state2 = -1;
|
||||
s32 cancelBtnIdx = -1;
|
||||
|
||||
f32 currScale, backupScale;
|
||||
backupScale = currScale = fn_800B8040(0, mMsgWindowSubtype);
|
||||
@@ -371,8 +371,9 @@ void dTagProcessor_c::formatV(
|
||||
textBox->set0x1F8(0);
|
||||
}
|
||||
|
||||
s32 local_b4 = 0;
|
||||
s32 optionLength = 0;
|
||||
|
||||
// 0xE TAG_CMD_0x0F0F0F0F 0x00 0x02
|
||||
StackThing x = {0x000E, 0x0F0F, 0x0F0F, 0x0002};
|
||||
wchar_t *writePtr = dest;
|
||||
if (textBox != nullptr) {
|
||||
@@ -384,6 +385,7 @@ void dTagProcessor_c::formatV(
|
||||
dest[4] = mLineData.mNumLines;
|
||||
}
|
||||
|
||||
// 0xE TAG_CMD_0x0F0F0F0E 0x00 0x01
|
||||
StackThing yTmp;
|
||||
StackThing y = {0x000E, 0x0F0F, 0x0F0E, 0x0001};
|
||||
|
||||
@@ -402,16 +404,16 @@ void dTagProcessor_c::formatV(
|
||||
s32 cmd = 0;
|
||||
wchar_t *endPtr = nullptr;
|
||||
getTextCommand(c, src + 1, &cmdLen, &cmd, &endPtr);
|
||||
bool bVar3 = false;
|
||||
bool processingOption = false;
|
||||
switch (cmd) {
|
||||
case 0x0F0F0F0F:
|
||||
if (state4 != 0 && field_0x90E != 0) {
|
||||
case TAG_CMD_0x0F0F0F0F:
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
const wchar_t *t = src;
|
||||
u32 len = (cmdLen / 2) + 1;
|
||||
for (int i = 0; i < len; i++) {
|
||||
getTmpBuffer()[local_b4] = *(t++);
|
||||
onWriteTmpBuffer();
|
||||
local_b4++;
|
||||
getOptionBuf()[optionLength] = *(t++);
|
||||
onWriteOptionBuf();
|
||||
optionLength++;
|
||||
}
|
||||
} else {
|
||||
const wchar_t *t = src;
|
||||
@@ -421,67 +423,67 @@ void dTagProcessor_c::formatV(
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0x10000: {
|
||||
case TAG_CMD_OPTION_0: {
|
||||
u8 a = READ_U8(endPtr, 0);
|
||||
u8 b = READ_U8(endPtr, 1);
|
||||
switch (a) {
|
||||
case 0: state2 = 0; break;
|
||||
case 0: cancelBtnIdx = 0; break;
|
||||
case 1: state1 = 0; break;
|
||||
}
|
||||
field_0x90F[0] = b;
|
||||
mOptionSound[0] = b;
|
||||
yTmp = y;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int j = 0; j < 256; j++) {
|
||||
if (j < 4) {
|
||||
field_0x008[i][j] = yTmp.us[j];
|
||||
mOptionBufs[i][j] = yTmp.us[j];
|
||||
} else {
|
||||
field_0x008[i][j] = 0;
|
||||
mOptionBufs[i][j] = 0;
|
||||
}
|
||||
}
|
||||
field_0x808[i] = 4;
|
||||
mOptionLengths[i] = 4;
|
||||
}
|
||||
state3 = 1;
|
||||
bVar3 = true;
|
||||
optionIdx = 1;
|
||||
processingOption = true;
|
||||
} break;
|
||||
case 0x10001: {
|
||||
case TAG_CMD_OPTION_1: {
|
||||
u8 a = READ_U8(endPtr, 0);
|
||||
u8 b = READ_U8(endPtr, 1);
|
||||
switch (a) {
|
||||
case 0: state2 = 1; break;
|
||||
case 0: cancelBtnIdx = 1; break;
|
||||
case 1: state1 = 1; break;
|
||||
}
|
||||
field_0x90F[1] = b;
|
||||
state3 = 2;
|
||||
bVar3 = true;
|
||||
mOptionSound[1] = b;
|
||||
optionIdx = 2;
|
||||
processingOption = true;
|
||||
} break;
|
||||
case 0x10002: {
|
||||
case TAG_CMD_OPTION_2: {
|
||||
u8 a = READ_U8(endPtr, 0);
|
||||
u8 b = READ_U8(endPtr, 1);
|
||||
switch (a) {
|
||||
case 0: state2 = 2; break;
|
||||
case 0: cancelBtnIdx = 2; break;
|
||||
case 1: state1 = 2; break;
|
||||
}
|
||||
field_0x90F[2] = b;
|
||||
state3 = 3;
|
||||
bVar3 = true;
|
||||
mOptionSound[2] = b;
|
||||
optionIdx = 3;
|
||||
processingOption = true;
|
||||
} break;
|
||||
case 0x10003: {
|
||||
case TAG_CMD_OPTION_3: {
|
||||
u8 a = READ_U8(endPtr, 0);
|
||||
u8 b = READ_U8(endPtr, 1);
|
||||
switch (a) {
|
||||
case 0: state2 = 3; break;
|
||||
case 0: cancelBtnIdx = 3; break;
|
||||
case 1: state1 = 3; break;
|
||||
}
|
||||
field_0x90F[3] = b;
|
||||
state3 = 4;
|
||||
bVar3 = true;
|
||||
mOptionSound[3] = b;
|
||||
optionIdx = 4;
|
||||
processingOption = true;
|
||||
} break;
|
||||
case 0x10008:
|
||||
if (textBox != nullptr) {
|
||||
currScale = fn_800B8040(READ_U8(endPtr, 0), mMsgWindowSubtype);
|
||||
currScale *= textBox->getMyScale();
|
||||
}
|
||||
writePtr = writeTextNormal(src, writePtr, &local_b4, cmdLen, state4);
|
||||
writePtr = writeTextNormal(src, writePtr, &optionLength, cmdLen, isProcessingOption);
|
||||
break;
|
||||
case 0x30000: {
|
||||
if (textBox != nullptr) {
|
||||
@@ -489,35 +491,45 @@ void dTagProcessor_c::formatV(
|
||||
currScale *= dLyt_HIO_c::getField0x768();
|
||||
currScale *= textBox->getMyScale();
|
||||
}
|
||||
writePtr = writeTextNormal(src, writePtr, &local_b4, cmdLen, state4);
|
||||
writePtr = writeTextNormal(src, writePtr, &optionLength, cmdLen, isProcessingOption);
|
||||
} break;
|
||||
case 0x10010: fn_800B5520(endPtr); break;
|
||||
case 0x20004:
|
||||
if (textBox != nullptr) {
|
||||
saveIconWidth(textBox, endPtr, currScale);
|
||||
}
|
||||
writePtr = writeTextNormal(src, writePtr, &local_b4, cmdLen, state4);
|
||||
writePtr = writeTextNormal(src, writePtr, &optionLength, cmdLen, isProcessingOption);
|
||||
break;
|
||||
case TAG_CMD_WRITE_HERONAME:
|
||||
writePtr = writeHeroname(writePtr, &optionLength, isProcessingOption);
|
||||
break;
|
||||
case TAG_CMD_WRITE_ITEM:
|
||||
writePtr = writeItem(writePtr, endPtr, &optionLength, isProcessingOption);
|
||||
break;
|
||||
case TAG_CMD_WRITE_STRING_ARG:
|
||||
writePtr = writeStringArg(writePtr, endPtr, &optionLength, isProcessingOption);
|
||||
break;
|
||||
case TAG_CMD_WRITE_NUMERIC_ARG:
|
||||
writePtr = writeNumericArg(writePtr, endPtr, &optionLength, isProcessingOption);
|
||||
break;
|
||||
case 0x20000: writePtr = writeHeroname(writePtr, &local_b4, state4); break;
|
||||
case 0x20001: writePtr = writeItem(writePtr, endPtr, &local_b4, state4); break;
|
||||
case 0x20002: writePtr = writeStringArg(writePtr, endPtr, &local_b4, state4); break;
|
||||
case 0x20003: writePtr = writeNumericArg(writePtr, endPtr, &local_b4, state4); break;
|
||||
|
||||
case 0x30004: writePtr = writeSingularOrPluralWord(writePtr, endPtr, &local_b4, state4); break;
|
||||
case TAG_CMD_WRITE_WORD:
|
||||
writePtr = writeSingularOrPluralWord(writePtr, endPtr, &optionLength, isProcessingOption);
|
||||
break;
|
||||
case 0x30001:
|
||||
field_0xEF1 = 1;
|
||||
writePtr = writeTextNormal(src, writePtr, &local_b4, cmdLen, state4);
|
||||
writePtr = writeTextNormal(src, writePtr, &optionLength, cmdLen, isProcessingOption);
|
||||
break;
|
||||
|
||||
default: writePtr = writeTextNormal(src, writePtr, &local_b4, cmdLen, state4); break;
|
||||
default: writePtr = writeTextNormal(src, writePtr, &optionLength, cmdLen, isProcessingOption); break;
|
||||
}
|
||||
|
||||
if (bVar3) {
|
||||
if (processingOption) {
|
||||
field_0x82C = state1;
|
||||
state4 = 1;
|
||||
field_0x828 = state2;
|
||||
field_0x90E = state3;
|
||||
local_b4 = field_0x808[state3 - 1];
|
||||
isProcessingOption = 1;
|
||||
mCancelBtnIdx = cancelBtnIdx;
|
||||
mCurrentOptionIdx = optionIdx;
|
||||
optionLength = mOptionLengths[optionIdx - 1];
|
||||
}
|
||||
src += (cmdLen / 2) + 1;
|
||||
} else if (c == 0xF) {
|
||||
@@ -531,11 +543,11 @@ void dTagProcessor_c::formatV(
|
||||
writePtr[2] = src[2];
|
||||
writePtr += 3;
|
||||
src += 3;
|
||||
} else if (state4 != 0 && field_0x90E != 0) {
|
||||
} else if (isProcessingOption != 0 && mCurrentOptionIdx != 0) {
|
||||
// Note: Return ignored here
|
||||
writeSingleCharacter(c, &getTmpBuffer()[local_b4], &local_b4);
|
||||
writeSingleCharacter(c, &getOptionBuf()[optionLength], &optionLength);
|
||||
src++;
|
||||
onWriteTmpBuffer();
|
||||
onWriteOptionBuf();
|
||||
} else {
|
||||
if (textBox != nullptr) {
|
||||
if (c == L'\n') {
|
||||
@@ -618,7 +630,7 @@ beginning:
|
||||
wchar_t *endPtr = nullptr;
|
||||
getTextCommand(c, src + 1, &cmdLen, &cmd, &endPtr);
|
||||
switch (cmd) {
|
||||
case 0x0F0F0F0F: {
|
||||
case TAG_CMD_0x0F0F0F0F: {
|
||||
if (lineNum / getMaxNumLines(mMsgWindowSubtype) == unkArg) {
|
||||
nw4r::lyt::Size fontSize = getTextBox()->GetFontSize();
|
||||
posX = getMarginForCenteredLine(lineNum);
|
||||
@@ -658,11 +670,11 @@ beginning:
|
||||
}
|
||||
lineNum++;
|
||||
} break;
|
||||
case 0x10000:
|
||||
case 0x10001:
|
||||
case 0x10002:
|
||||
case 0x10003: b1 = true; break;
|
||||
case 0x10008: {
|
||||
case TAG_CMD_OPTION_0:
|
||||
case TAG_CMD_OPTION_1:
|
||||
case TAG_CMD_OPTION_2:
|
||||
case TAG_CMD_OPTION_3: b1 = true; break;
|
||||
case 0x10008: {
|
||||
if (b2) {
|
||||
f32 newScale = fn_800B8040(READ_U8(endPtr, 0), mMsgWindowSubtype);
|
||||
f32 baseScale = fn_800B8040(0, mMsgWindowSubtype);
|
||||
@@ -787,33 +799,33 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
wchar_t *endPtr = nullptr;
|
||||
getTextCommand(ch, ctx->str, &cmdLen, &cmd, &endPtr);
|
||||
switch (cmd) {
|
||||
case 0x10000:
|
||||
case TAG_CMD_OPTION_0:
|
||||
ctx->str += cmdLen / 2;
|
||||
ctx->str += field_0x808[0];
|
||||
ctx->str += mOptionLengths[0];
|
||||
return nw4r::ut::OPERATION_DEFAULT;
|
||||
case 0x10001:
|
||||
case TAG_CMD_OPTION_1:
|
||||
ctx->str += cmdLen / 2;
|
||||
ctx->str += field_0x808[1];
|
||||
ctx->str += mOptionLengths[1];
|
||||
return nw4r::ut::OPERATION_DEFAULT;
|
||||
case 0x10002:
|
||||
case TAG_CMD_OPTION_2:
|
||||
ctx->str += cmdLen / 2;
|
||||
ctx->str += field_0x808[2];
|
||||
ctx->str += mOptionLengths[2];
|
||||
return nw4r::ut::OPERATION_DEFAULT;
|
||||
case 0x10003:
|
||||
case TAG_CMD_OPTION_3:
|
||||
ctx->str += cmdLen / 2;
|
||||
ctx->str += field_0x808[3];
|
||||
ctx->str += mOptionLengths[3];
|
||||
return nw4r::ut::OPERATION_DEFAULT;
|
||||
case 0x0F0F0F0F: fn_800B4FF0(rect, ctx, cmdLen, endPtr); break;
|
||||
case 0x0F0F0F0E: field_0xEE2 = 1; break;
|
||||
case 0x3:
|
||||
if (field_0xEE1 == 0) {
|
||||
case TAG_CMD_0x0F0F0F0F: fn_800B4FF0(rect, ctx, cmdLen, endPtr); break;
|
||||
case TAG_CMD_0x0F0F0F0E: field_0xEE2 = 1; break;
|
||||
case TAG_CMD_COLOR:
|
||||
if (!mIsShadowText) {
|
||||
setColor(rect, ctx, cmdLen, endPtr);
|
||||
}
|
||||
break;
|
||||
case 0x2: setScale(rect, ctx, cmdLen, endPtr); break;
|
||||
case TAG_CMD_SCALE: setScale(rect, ctx, cmdLen, endPtr); break;
|
||||
case 0x10004:
|
||||
// Pause
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEED == 0 && mNumericArgsCopy[8] == field_0x838) {
|
||||
setFramesLeftOnPause(rect, ctx, cmdLen, endPtr);
|
||||
field_0xEED = 1;
|
||||
@@ -823,7 +835,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
}
|
||||
break;
|
||||
case 0x10005:
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEEE == 0 && mNumericArgsCopy[9] == field_0x83C) {
|
||||
fn_800B5500(cmdLen, endPtr);
|
||||
field_0xEEE = 1;
|
||||
@@ -833,7 +845,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
}
|
||||
break;
|
||||
case 0x10007:
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEE5 == 0 && mNumericArgsCopy[0] == field_0x87C) {
|
||||
fn_800B60E0(cmdLen, endPtr);
|
||||
field_0xEE5 = 1;
|
||||
@@ -845,7 +857,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
case 0x10008: fn_800B61D0(rect, ctx, cmdLen, endPtr); break;
|
||||
case 0x30000: changeScale(rect, ctx, false); break;
|
||||
case 0x10009:
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEE6 == 0 && mNumericArgsCopy[1] == field_0x880) {
|
||||
fn_800B6110(cmdLen, endPtr);
|
||||
field_0xEE6 = 1;
|
||||
@@ -855,7 +867,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
}
|
||||
break;
|
||||
case 0x1000A:
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEE7 == 0 && mNumericArgsCopy[2] == field_0x884) {
|
||||
fn_800B6140(cmdLen, endPtr);
|
||||
field_0xEE7 = 1;
|
||||
@@ -866,7 +878,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
break;
|
||||
case 0x1000B:
|
||||
// Sound
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEE8 == 0 && mNumericArgsCopy[3] == field_0x888) {
|
||||
playSound(cmdLen, endPtr);
|
||||
field_0xEE8 = 1;
|
||||
@@ -877,7 +889,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
break;
|
||||
case 0x1000C:
|
||||
// "entrypoint"
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEEA == 0 && mNumericArgsCopy[5] == field_0x890) {
|
||||
fn_800B6170(cmdLen, endPtr);
|
||||
field_0xEEA = 1;
|
||||
@@ -887,7 +899,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
}
|
||||
break;
|
||||
case 0x1000D:
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEEB == 0 && mNumericArgsCopy[6] == field_0x894) {
|
||||
fn_800B6190(cmdLen, endPtr);
|
||||
field_0xEEB = 1;
|
||||
@@ -897,7 +909,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
}
|
||||
break;
|
||||
case 0x1000E:
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEEC == 0 && mNumericArgsCopy[7] == field_0x898) {
|
||||
fn_800B61B0(cmdLen, endPtr);
|
||||
field_0xEEC = 1;
|
||||
@@ -916,7 +928,7 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
}
|
||||
break;
|
||||
case 0x10011:
|
||||
if (rect == nullptr && field_0xEE1 == 0) {
|
||||
if (rect == nullptr && !mIsShadowText) {
|
||||
if (field_0xEEF == 0 && mNumericArgsCopy[10] == field_0x840) {
|
||||
fn_800B5540(endPtr);
|
||||
field_0xEEF = 1;
|
||||
@@ -1096,13 +1108,13 @@ void dTagProcessor_c::fn_800B5540(wchar_t *src) {
|
||||
dLytMsgWindow_c::getInstance()->onFlag0x820(sMsgWindowFlags[READ_U8(src, 0)]);
|
||||
}
|
||||
|
||||
wchar_t *dTagProcessor_c::writeHeroname(wchar_t *dest, s32 *outArg, s32 arg) {
|
||||
wchar_t *dTagProcessor_c::writeHeroname(wchar_t *dest, s32 *outArg, bool isProcessingOption) {
|
||||
if (FileManager::GetInstance()->getHeroname()[0] != '\0') {
|
||||
for (int i = 0; FileManager::GetInstance()->getHeroname()[i] != '\0'; i++) {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
wchar_t *heroName = FileManager::GetInstance()->getHeroname();
|
||||
writeSingleCharacter(heroName[i], &getTmpBuffer()[*outArg], outArg);
|
||||
onWriteTmpBuffer();
|
||||
writeSingleCharacter(heroName[i], &getOptionBuf()[*outArg], outArg);
|
||||
onWriteOptionBuf();
|
||||
} else {
|
||||
wchar_t *heroName = FileManager::GetInstance()->getHeroname();
|
||||
dest = writeSingleCharacter(heroName[i], dest, nullptr);
|
||||
@@ -1112,7 +1124,7 @@ wchar_t *dTagProcessor_c::writeHeroname(wchar_t *dest, s32 *outArg, s32 arg) {
|
||||
return dest;
|
||||
}
|
||||
|
||||
wchar_t *dTagProcessor_c::writeItem(wchar_t *dest, wchar_t *src, s32 *outArg, s32 arg) {
|
||||
wchar_t *dTagProcessor_c::writeItem(wchar_t *dest, wchar_t *src, s32 *outArg, bool isProcessingOption) {
|
||||
int itemIndex = READ_U16(src, 0);
|
||||
wchar_t c;
|
||||
|
||||
@@ -1125,10 +1137,10 @@ wchar_t *dTagProcessor_c::writeItem(wchar_t *dest, wchar_t *src, s32 *outArg, s3
|
||||
while ((c = text[i]) != 0) {
|
||||
if (c == 0xE) {
|
||||
int len = ((text[i + 3] / 2) & 0x7F) + 4;
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
for (int j = 0; j < len; j++) {
|
||||
writeSingleCharacter(text[i], &getTmpBuffer()[*outArg], outArg);
|
||||
onWriteTmpBuffer();
|
||||
writeSingleCharacter(text[i], &getOptionBuf()[*outArg], outArg);
|
||||
onWriteOptionBuf();
|
||||
i++;
|
||||
}
|
||||
} else {
|
||||
@@ -1138,9 +1150,9 @@ wchar_t *dTagProcessor_c::writeItem(wchar_t *dest, wchar_t *src, s32 *outArg, s3
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
writeSingleCharacter(c, &getTmpBuffer()[*outArg], outArg);
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
writeSingleCharacter(c, &getOptionBuf()[*outArg], outArg);
|
||||
onWriteOptionBuf();
|
||||
} else {
|
||||
dest = writeSingleCharacter(c, dest, nullptr);
|
||||
}
|
||||
@@ -1151,17 +1163,17 @@ wchar_t *dTagProcessor_c::writeItem(wchar_t *dest, wchar_t *src, s32 *outArg, s3
|
||||
return dest;
|
||||
}
|
||||
|
||||
wchar_t *dTagProcessor_c::writeStringArg(wchar_t *dest, wchar_t *src, s32 *outArg, s32 arg) {
|
||||
wchar_t *dTagProcessor_c::writeStringArg(wchar_t *dest, wchar_t *src, s32 *outArg, bool isProcessingOption) {
|
||||
s32 argIdx = READ_U32(src, 0);
|
||||
wchar_t c;
|
||||
int i = 0;
|
||||
while ((c = mStringArgs[argIdx][i]) != 0) {
|
||||
if (c == 0xE) {
|
||||
int len = ((mStringArgs[argIdx][i + 3] / 2) & 0x7F) + 4;
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
for (int j = 0; j < len; j++) {
|
||||
writeSingleCharacter(mStringArgs[argIdx][i], &getTmpBuffer()[*outArg], outArg);
|
||||
onWriteTmpBuffer();
|
||||
writeSingleCharacter(mStringArgs[argIdx][i], &getOptionBuf()[*outArg], outArg);
|
||||
onWriteOptionBuf();
|
||||
i++;
|
||||
}
|
||||
} else {
|
||||
@@ -1171,9 +1183,9 @@ wchar_t *dTagProcessor_c::writeStringArg(wchar_t *dest, wchar_t *src, s32 *outAr
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
writeSingleCharacter(c, &getTmpBuffer()[*outArg], outArg);
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
writeSingleCharacter(c, &getOptionBuf()[*outArg], outArg);
|
||||
onWriteOptionBuf();
|
||||
} else {
|
||||
dest = writeSingleCharacter(c, dest, nullptr);
|
||||
}
|
||||
@@ -1188,7 +1200,7 @@ wchar_t *dTagProcessor_c::writeStringArg(wchar_t *dest, wchar_t *src, s32 *outAr
|
||||
return dest;
|
||||
}
|
||||
|
||||
wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outArg, s32 arg) {
|
||||
wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outArg, bool isProcessingOption) {
|
||||
int numZeroDigits = READ_U8(src, 4);
|
||||
bool writeZeroDigits = false;
|
||||
s32 argIdx = READ_U32(src, 0);
|
||||
@@ -1204,9 +1216,9 @@ wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outA
|
||||
writeZeroDigits = true;
|
||||
}
|
||||
if (digit > 0 || writeZeroDigits) {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
getTmpBuffer()[*outArg] = '0' + digit;
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
getOptionBuf()[*outArg] = '0' + digit;
|
||||
onWriteOptionBuf();
|
||||
(*outArg)++;
|
||||
} else {
|
||||
*(dest++) = '0' + digit;
|
||||
@@ -1220,9 +1232,9 @@ wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outA
|
||||
writeZeroDigits = true;
|
||||
}
|
||||
if (digit > 0 || writeZeroDigits) {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
getTmpBuffer()[*outArg] = '0' + digit;
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
getOptionBuf()[*outArg] = '0' + digit;
|
||||
onWriteOptionBuf();
|
||||
(*outArg)++;
|
||||
} else {
|
||||
*(dest++) = '0' + digit;
|
||||
@@ -1236,9 +1248,9 @@ wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outA
|
||||
writeZeroDigits = true;
|
||||
}
|
||||
if (digit > 0 || writeZeroDigits) {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
getTmpBuffer()[*outArg] = '0' + digit;
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
getOptionBuf()[*outArg] = '0' + digit;
|
||||
onWriteOptionBuf();
|
||||
(*outArg)++;
|
||||
} else {
|
||||
*(dest++) = '0' + digit;
|
||||
@@ -1252,9 +1264,9 @@ wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outA
|
||||
writeZeroDigits = true;
|
||||
}
|
||||
if (digit > 0 || writeZeroDigits) {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
getTmpBuffer()[*outArg] = '0' + digit;
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
getOptionBuf()[*outArg] = '0' + digit;
|
||||
onWriteOptionBuf();
|
||||
(*outArg)++;
|
||||
} else {
|
||||
*(dest++) = '0' + digit;
|
||||
@@ -1263,9 +1275,9 @@ wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outA
|
||||
}
|
||||
|
||||
digit = number;
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
getTmpBuffer()[*outArg] = '0' + digit;
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
getOptionBuf()[*outArg] = '0' + digit;
|
||||
onWriteOptionBuf();
|
||||
(*outArg)++;
|
||||
} else {
|
||||
*(dest++) = '0' + digit;
|
||||
@@ -1273,7 +1285,7 @@ wchar_t *dTagProcessor_c::writeNumericArg(wchar_t *dest, wchar_t *src, s32 *outA
|
||||
return dest;
|
||||
}
|
||||
|
||||
wchar_t *dTagProcessor_c::writeSingularOrPluralWord(wchar_t *dest, wchar_t *src, s32 *outArg, s32 arg) {
|
||||
wchar_t *dTagProcessor_c::writeSingularOrPluralWord(wchar_t *dest, wchar_t *src, s32 *outArg, bool isProcessingOption) {
|
||||
int itemIndex = READ_U8(src, 0);
|
||||
wchar_t c;
|
||||
|
||||
@@ -1290,10 +1302,10 @@ wchar_t *dTagProcessor_c::writeSingularOrPluralWord(wchar_t *dest, wchar_t *src,
|
||||
while ((c = text[i]) != 0) {
|
||||
if (c == 0xE) {
|
||||
int len = ((text[i + 3] / 2) & 0x7F) + 4;
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
for (int j = 0; j < len; j++) {
|
||||
writeSingleCharacter(text[i], &getTmpBuffer()[*outArg], outArg);
|
||||
onWriteTmpBuffer();
|
||||
writeSingleCharacter(text[i], &getOptionBuf()[*outArg], outArg);
|
||||
onWriteOptionBuf();
|
||||
i++;
|
||||
}
|
||||
} else {
|
||||
@@ -1303,9 +1315,9 @@ wchar_t *dTagProcessor_c::writeSingularOrPluralWord(wchar_t *dest, wchar_t *src,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
writeSingleCharacter(c, &getTmpBuffer()[*outArg], outArg);
|
||||
onWriteTmpBuffer();
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
writeSingleCharacter(c, &getOptionBuf()[*outArg], outArg);
|
||||
onWriteOptionBuf();
|
||||
} else {
|
||||
dest = writeSingleCharacter(c, dest, nullptr);
|
||||
}
|
||||
@@ -1498,7 +1510,7 @@ void dTagProcessor_c::drawPicture(
|
||||
mColor c2(0xF3, 0xEF, 0xE1, alpha);
|
||||
w->SetTextColor(c1, c2);
|
||||
}
|
||||
if (field_0xEE1 != 0) {
|
||||
if (mIsShadowText) {
|
||||
// #505050
|
||||
mColor c1(0x50, 0x50, 0x50, 0);
|
||||
mColor c2(0x50, 0x50, 0x50, 0x50);
|
||||
@@ -1635,11 +1647,12 @@ void dTagProcessor_c::restoreColor(nw4r::ut::PrintContext<wchar_t> *ctx, u8 wind
|
||||
ctx->writer->SetTextColor(c1, c2);
|
||||
}
|
||||
|
||||
wchar_t *dTagProcessor_c::writeTextNormal(const wchar_t *src, wchar_t *dest, s32 *pArg, u8 cmdLen, s32 arg) {
|
||||
if (arg != 0 && field_0x90E != 0) {
|
||||
wchar_t *
|
||||
dTagProcessor_c::writeTextNormal(const wchar_t *src, wchar_t *dest, s32 *pArg, u8 cmdLen, bool isProcessingOption) {
|
||||
if (isProcessingOption && mCurrentOptionIdx != 0) {
|
||||
for (u32 i = 0; i < (cmdLen / 2 + 1); i++) {
|
||||
getTmpBuffer()[*pArg] = *(src++);
|
||||
onWriteTmpBuffer();
|
||||
getOptionBuf()[*pArg] = *(src++);
|
||||
onWriteOptionBuf();
|
||||
(*pArg)++;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -129,9 +129,9 @@ bool dLytGameOver_c::build() {
|
||||
}
|
||||
}
|
||||
|
||||
mSelectBtn.setField_0x9C4(1);
|
||||
mSelectBtn.setField_0x99C(1);
|
||||
mSelectBtn.setField_0x9A0(2);
|
||||
mSelectBtn.setFlipBtnLayout(1);
|
||||
mSelectBtn.setSkipOutAnim(1);
|
||||
mSelectBtn.setInSound(2);
|
||||
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
|
||||
@@ -253,8 +253,8 @@ void dLytGameOver_c::executeState_Wait() {
|
||||
anm.play();
|
||||
switch (mStep) {
|
||||
case 0: {
|
||||
if (mSelectBtn.getField_0x9B4() >= 0) {
|
||||
mSelectedOption = mSelectBtn.getField_0x9B4();
|
||||
if (mSelectBtn.getDecidedBtnIdx() >= 0) {
|
||||
mSelectedOption = mSelectBtn.getDecidedBtnIdx();
|
||||
mStep += 1;
|
||||
mIsChangingState = true;
|
||||
}
|
||||
@@ -344,15 +344,15 @@ void dLytGameOver_c::setupButtons() {
|
||||
}
|
||||
|
||||
for (int i = 0; i < numOptions; i++) {
|
||||
const wchar_t *buf = dMessage_c::getGlobalTagProcessor()->getBuf(i);
|
||||
const wchar_t *buf = dMessage_c::getGlobalTagProcessor()->getOptionString(i);
|
||||
mSelectBtn.getSelectTextBox(i, 0)->setTextWithGlobalTextProcessor(buf);
|
||||
mSelectBtn.getSelectTextBox(i, 1)->setTextWithGlobalTextProcessor(buf);
|
||||
}
|
||||
mSelectBtn.setTagProcessor(dMessage_c::getGlobalTagProcessor());
|
||||
u32 tmp = dMessage_c::getGlobalTagProcessor()->getField_0x828();
|
||||
mSelectBtn.setField_0x9BC(tmp);
|
||||
u32 tmp = dMessage_c::getGlobalTagProcessor()->getCancelBtnIdx();
|
||||
mSelectBtn.setCancelBtnIdx(tmp);
|
||||
mSelectBtn.setField_0x990(tmp);
|
||||
mSelectBtn.fn_8011E5D0(numOptions, true);
|
||||
mSelectBtn.requestIn(numOptions, true);
|
||||
}
|
||||
|
||||
SPECIAL_BASE_PROFILE(LYT_GAMEOVER_MGR, dLytGameOverMgr_c, fProfile::LYT_GAMEOVER_MGR, 0x02AC, 0x0201);
|
||||
|
||||
@@ -67,11 +67,11 @@ bool dLytSaveMsgWindow_c::build(bool arg) {
|
||||
}
|
||||
}
|
||||
|
||||
mBtn.setField_0x9C4(1);
|
||||
mBtn.setFlipBtnLayout(1);
|
||||
if (arg) {
|
||||
mBtn.setField_0x99C(1);
|
||||
mBtn.setSkipOutAnim(1);
|
||||
}
|
||||
mBtn.setField_0x9A0(1);
|
||||
mBtn.setInSound(1);
|
||||
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
mLineSpace = mLyt.getTextBox("T_text_00")->GetLineSpace();
|
||||
@@ -222,8 +222,8 @@ void dLytSaveMsgWindow_c::initializeState_Wait() {
|
||||
}
|
||||
void dLytSaveMsgWindow_c::executeState_Wait() {
|
||||
if (field_0x10C0 == 0) {
|
||||
field_0x10C4 = mBtn.getField_0x9B4();
|
||||
field_0x10C8 = mBtn.getField_0x9B0();
|
||||
field_0x10C4 = mBtn.getDecidedBtnIdx();
|
||||
field_0x10C8 = mBtn.getConfirmedBtnIdx();
|
||||
}
|
||||
if (field_0x10DB == 1) {
|
||||
field_0x10DB = 0;
|
||||
@@ -279,7 +279,7 @@ void dLytSaveMsgWindow_c::executeState_Out() {
|
||||
}
|
||||
}
|
||||
void dLytSaveMsgWindow_c::finalizeState_Out() {
|
||||
if (mBtn.getField_0x9A4() == 0) {
|
||||
if (!mBtn.isVisible()) {
|
||||
mLyt.findPane("N_messageBtn_00")->SetVisible(false);
|
||||
}
|
||||
mWillFinishOut = 0;
|
||||
@@ -375,7 +375,7 @@ void dLytSaveMsgWindow_c::updateSaveText() {
|
||||
numOptions = 4;
|
||||
}
|
||||
for (s32 i = 0; i < numOptions; i++) {
|
||||
const wchar_t *text = dMessage_c::getGlobalTagProcessor()->getBuf(i);
|
||||
const wchar_t *text = dMessage_c::getGlobalTagProcessor()->getOptionString(i);
|
||||
mBtn.getSelectTextBox(i, 0)->setTextWithGlobalTextProcessor(text);
|
||||
mBtn.getSelectTextBox(i, 1)->setTextWithGlobalTextProcessor(text);
|
||||
}
|
||||
@@ -383,10 +383,10 @@ void dLytSaveMsgWindow_c::updateSaveText() {
|
||||
if (field_0x10B0 != 0) {
|
||||
mBtn.setTagProcessor(dMessage_c::getGlobalTagProcessor());
|
||||
static const u32 sInts[] = {0, 2, 3, 4};
|
||||
u32 unkInt = sInts[field_0x10B0];
|
||||
s32 f = dMessage_c::getGlobalTagProcessor()->getField_0x828();
|
||||
mBtn.setField_0x9BC(f);
|
||||
u32 numOptions = sInts[field_0x10B0];
|
||||
s32 f = dMessage_c::getGlobalTagProcessor()->getCancelBtnIdx();
|
||||
mBtn.setCancelBtnIdx(f);
|
||||
mBtn.setField_0x990(f);
|
||||
mBtn.fn_8011E5D0(unkInt, true);
|
||||
mBtn.requestIn(numOptions, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ void dTextBox_c::setTextWithGlobalTextProcessorV(const wchar_t *str, void *unk,
|
||||
mpMyTagProcessor = dMessage_c::getGlobalTagProcessor();
|
||||
u32 outLen = 0;
|
||||
mWindowSubtype = mpMyTagProcessor->getMsgWindowSubtype();
|
||||
mpMyTagProcessor->setField_0xEE1(field_0x1F6);
|
||||
mpMyTagProcessor->setIsShadowText(mIsShadowTextBox);
|
||||
mpMyTagProcessor->setField_0xEE2(0);
|
||||
mpMyTagProcessor->setField_0xEE3(1);
|
||||
|
||||
@@ -283,7 +283,7 @@ void dTextBox_c::setTextWithTextProcessorV(const wchar_t *str, dTagProcessor_c *
|
||||
u32 outLen = 0;
|
||||
mpMyTagProcessor = tagProcessor;
|
||||
mWindowSubtype = mpMyTagProcessor->getMsgWindowSubtype();
|
||||
mpMyTagProcessor->setField_0xEE1(field_0x1F6);
|
||||
mpMyTagProcessor->setIsShadowText(mIsShadowTextBox);
|
||||
mpMyTagProcessor->setField_0xEE2(0);
|
||||
mpMyTagProcessor->setField_0xEE3(1);
|
||||
|
||||
@@ -325,7 +325,7 @@ void dTextBox_c::setMessageWithGlobalTextProcessorAndMsbtInfo(
|
||||
mpMyTagProcessor = dMessage_c::getGlobalTagProcessor();
|
||||
mpMyTagProcessor->setMsgWindowSubtype(dLytMsgWindow_c::MSG_WINDOW_34);
|
||||
mWindowSubtype = mpMyTagProcessor->getMsgWindowSubtype();
|
||||
mpMyTagProcessor->setField_0xEE1(field_0x1F6);
|
||||
mpMyTagProcessor->setIsShadowText(mIsShadowTextBox);
|
||||
mpMyTagProcessor->setField_0xEE2(0);
|
||||
mpMyTagProcessor->setField_0xEE3(1);
|
||||
|
||||
@@ -472,7 +472,7 @@ void dTextBox_c::init() {
|
||||
mIsWidthFixed = false;
|
||||
mFixedWidth = 0.0f;
|
||||
mHasTextWriter = true;
|
||||
field_0x1F6 = 0;
|
||||
mIsShadowTextBox = false;
|
||||
field_0x1F7 = 0;
|
||||
field_0x1F9 = false;
|
||||
field_0x1FA = 0;
|
||||
@@ -522,7 +522,7 @@ bool dTextBox_c::hasDynamicText() {
|
||||
}
|
||||
|
||||
if (userDatName == "copy" && myList->GetType() == nw4r::lyt::res::TYPE_STRING) {
|
||||
field_0x1F6 = true;
|
||||
mIsShadowTextBox = true;
|
||||
dTextBox_c *other = mpLytBase->getTextBox(myList->GetString());
|
||||
if (other != nullptr) {
|
||||
u16 otherNum = other->GetExtUserDataNum();
|
||||
@@ -607,7 +607,7 @@ void dTextBox_c::DrawSelf(const nw4r::lyt::DrawInfo &drawInfo) {
|
||||
|
||||
if (mpMyTagProcessor != nullptr) {
|
||||
mpMyTagProcessor->setMsgWindowSubtype(mWindowSubtype);
|
||||
mpMyTagProcessor->setField_0xEE1(field_0x1F6);
|
||||
mpMyTagProcessor->setIsShadowText(mIsShadowTextBox);
|
||||
mpMyTagProcessor->setField_0xEE2(0);
|
||||
if (mAlpha != 0) {
|
||||
mpMyTagProcessor->setField_0xEE3(1);
|
||||
|
||||
@@ -142,7 +142,7 @@ bool dLytMsgWindow_c::build() {
|
||||
field_0x81C = 0;
|
||||
field_0x81D = 0;
|
||||
|
||||
field_0x824 = 0;
|
||||
mNumOptions = 0;
|
||||
field_0x820 = 0;
|
||||
|
||||
field_0x81E = 0;
|
||||
@@ -161,7 +161,7 @@ bool dLytMsgWindow_c::remove() {
|
||||
mpTagProcessor = nullptr;
|
||||
mSelectBtn.remove();
|
||||
removeSubMsgManagers();
|
||||
field_0x824 = 0;
|
||||
mNumOptions = 0;
|
||||
mResAcc1.detach();
|
||||
mResAcc2.detach();
|
||||
return true;
|
||||
@@ -494,36 +494,36 @@ static wchar_t *sBufs[4];
|
||||
|
||||
void dLytMsgWindow_c::initializeState_WaitKeySelectQuestion() {
|
||||
// TODO regswaps
|
||||
field_0x824 = mpTagProcessor->getField_0x90E();
|
||||
mNumOptions = mpTagProcessor->getField_0x90E();
|
||||
|
||||
mSelectBtn.setField_0x9B8(mpTagProcessor->getField_0x82C());
|
||||
s32 tmp = mpTagProcessor->getField_0x828();
|
||||
mSelectBtn.setField_0x9BC(tmp);
|
||||
s32 tmp = mpTagProcessor->getCancelBtnIdx();
|
||||
mSelectBtn.setCancelBtnIdx(tmp);
|
||||
mSelectBtn.setField_0x990(tmp);
|
||||
mSelectBtn.setTagProcessor(mpTagProcessor);
|
||||
|
||||
for (s32 i = 0; i < 4; i++) {
|
||||
sBufs[i] = mpTagProcessor->getBuf(i);
|
||||
sBufs[i] = mpTagProcessor->getOptionString(i);
|
||||
}
|
||||
|
||||
mSelectBtn.fn_8011E5D0(field_0x824, true);
|
||||
mSelectBtn.requestIn(mNumOptions, true);
|
||||
|
||||
for (s32 i = 0, option = 0; i < field_0x824; option++, i++) {
|
||||
for (s32 i = 0, option = 0; i < mNumOptions; option++, i++) {
|
||||
for (s32 j = 0; j < 2; j++) {
|
||||
mSelectBtn.getSelectTextBox(option, j)->setTextWithGlobalTextProcessor(sBufs[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytMsgWindow_c::executeState_WaitKeySelectQuestion() {
|
||||
s32 selection = mSelectBtn.getField_0x9B4();
|
||||
s32 selection = mSelectBtn.getDecidedBtnIdx();
|
||||
if (selection >= 0) {
|
||||
if (mSelectBtn.isStateWait()) {
|
||||
bool doFiThing = false;
|
||||
mpTagProcessor->setField_0x90E(0);
|
||||
mpTagProcessor->setField_0x82C(-1);
|
||||
mpTagProcessor->setField_0x828(-1);
|
||||
mpTagProcessor->setCancelBtnIdx(-1);
|
||||
mSelectBtn.setTagProcessor(nullptr);
|
||||
field_0x824 = 0;
|
||||
mNumOptions = 0;
|
||||
mTextOptionSelection = selection;
|
||||
field_0x1220 = 0;
|
||||
if (FiContext::GetInstance() != nullptr) {
|
||||
|
||||
@@ -54,7 +54,7 @@ bool dLytMsgWindowDemo_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i] = mLyt.getTextBox(sTextBoxes[i]);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
mpTagProcessor = tagProcessor;
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ bool dLytMsgWindowGet_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAcc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -68,7 +68,7 @@ bool dLytMsgWindowLink_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -65,8 +65,8 @@ bool dLytMsgWindowStone_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resA
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[2]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
mpTextboxes[2]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -79,7 +79,7 @@ bool dLytMsgWindowSword_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resA
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -68,7 +68,7 @@ bool dLytMsgWindowTalk_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -64,7 +64,7 @@ bool dLytMsgWindowWood_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
Reference in New Issue
Block a user