mirror of
https://github.com/zeldaret/ss
synced 2026-07-11 22:50:06 -04:00
More enum while I'm at it
This commit is contained in:
@@ -60,7 +60,6 @@ enum MeterFlag_e {
|
||||
METER_BTN_Z = 0x800,
|
||||
METER_BTN_0x1000 = 0x1000,
|
||||
|
||||
|
||||
METER_BTN_CROSS = METER_BTN_CROSS_UP | METER_BTN_CROSS_DOWN | METER_BTN_CROSS_LEFT | METER_BTN_CROSS_RIGHT,
|
||||
};
|
||||
|
||||
@@ -68,6 +67,11 @@ class dLytMeterMain_c {
|
||||
friend class dLytMeter_c;
|
||||
|
||||
public:
|
||||
enum BasicPosition_e {
|
||||
POSITION_NORMAL = 0,
|
||||
POSITION_MAP = 1,
|
||||
};
|
||||
|
||||
dLytMeterMain_c();
|
||||
virtual ~dLytMeterMain_c() {}
|
||||
|
||||
@@ -169,8 +173,8 @@ private:
|
||||
/* 0x136DC */ mVec3_c mRupyPositions[7];
|
||||
/* 0x13730 */ mVec3_c mShieldPos;
|
||||
/* 0x1373C */ mVec3_c mRupyPos;
|
||||
/* 0x13748 */ s32 field_0x13748;
|
||||
/* 0x1374C */ s32 field_0x1374C;
|
||||
/* 0x13748 */ s32 mBasicPosition;
|
||||
/* 0x1374C */ s32 mSavedBasicPosition;
|
||||
/* 0x13750 */ s32 field_0x13750;
|
||||
/* 0x13754 */ s32 field_0x13754;
|
||||
/* 0x13758 */ s32 mShieldPosIndex;
|
||||
@@ -264,6 +268,14 @@ public:
|
||||
return mMain.field_0x13770;
|
||||
}
|
||||
|
||||
bool getMeterField_0x13773() const {
|
||||
return mMain.field_0x13773;
|
||||
}
|
||||
|
||||
void setMeterField_0x13773(bool value) {
|
||||
mMain.field_0x13773 = value;
|
||||
}
|
||||
|
||||
bool getMeterField_0x13774() const {
|
||||
return mMain.field_0x13774;
|
||||
}
|
||||
@@ -450,6 +462,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
dLytMeterMain_c::BasicPosition_e getBasicPosition() const {
|
||||
return (dLytMeterMain_c::BasicPosition_e)mMain.mBasicPosition;
|
||||
}
|
||||
|
||||
void setBasicPosition(dLytMeterMain_c::BasicPosition_e pos) {
|
||||
mMain.mBasicPosition = pos;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x00004 */ d2d::ResAccIf_c mResAcc;
|
||||
/* 0x00374 */ dLytMeterEventSkip_c *mpEventSkip;
|
||||
|
||||
@@ -25,6 +25,34 @@ struct dLytMsgWindowCharData;
|
||||
|
||||
class dLytMsgWindow_c {
|
||||
public:
|
||||
enum MsgWindow_e {
|
||||
MSG_WINDOW_0 = 0,
|
||||
MSG_WINDOW_1 = 1,
|
||||
|
||||
MSG_WINDOW_SWORD_FI = 2,
|
||||
MSG_WINDOW_SWORD_GHIRAHIM = 3,
|
||||
MSG_WINDOW_SWORD_LASTBOSS = 4,
|
||||
MSG_WINDOW_GET = 5,
|
||||
MSG_WINDOW_WOOD = 6,
|
||||
MSG_WINDOW_STONE = 7,
|
||||
|
||||
MSG_WINDOW_8 = 8,
|
||||
|
||||
MSG_WINDOW_LINK = 9,
|
||||
|
||||
MSG_WINDOW_10 = 10,
|
||||
|
||||
MSG_WINDOW_22 = 22,
|
||||
|
||||
MSG_WINDOW_DEMO = 30,
|
||||
MSG_WINDOW_31 = 31,
|
||||
|
||||
MSG_WINDOW_34 = 34,
|
||||
|
||||
// Maybe none
|
||||
MSG_WINDOW_36 = 36,
|
||||
};
|
||||
|
||||
dLytMsgWindow_c() : mStateMgr(*this) {}
|
||||
virtual ~dLytMsgWindow_c() {}
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ public:
|
||||
return *mStateMgr.getStateID() == StateID_Wait;
|
||||
}
|
||||
|
||||
private:
|
||||
protected:
|
||||
s32 fn_8011FE50();
|
||||
|
||||
STATE_FUNC_DECLARE(dLytMsgWindowSelectBtn_c, Wait);
|
||||
|
||||
+27
-19
@@ -5,6 +5,7 @@
|
||||
#include "d/d_message.h"
|
||||
#include "d/d_textunk.h"
|
||||
#include "d/d_textwindow_unk.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window.h"
|
||||
#include "nw4r/lyt/lyt_types.h"
|
||||
#include "nw4r/ut/ut_CharWriter.h"
|
||||
#include "nw4r/ut/ut_Color.h"
|
||||
@@ -206,7 +207,7 @@ dTagProcessor_c::dTagProcessor_c() {
|
||||
field_0xEE3 = 0;
|
||||
field_0xEE4 = 0;
|
||||
field_0x004 = nullptr;
|
||||
mMsgWindowSubtype = 0x24;
|
||||
mMsgWindowSubtype = dLytMsgWindow_c::MSG_WINDOW_36;
|
||||
field_0x90D = 4;
|
||||
field_0xEF0 = 0;
|
||||
field_0xEF1 = 0;
|
||||
@@ -497,7 +498,9 @@ beginning:
|
||||
if (lineNum / getMaxNumLines(mMsgWindowSubtype) == unkArg) {
|
||||
nw4r::lyt::Size fontSize = field_0x004->GetFontSize();
|
||||
posX = fn_800B8560(lineNum);
|
||||
if ((mMsgWindowSubtype < 6 || mMsgWindowSubtype >= 10) && mMsgWindowSubtype != 30) {
|
||||
if ((mMsgWindowSubtype < dLytMsgWindow_c::MSG_WINDOW_WOOD ||
|
||||
mMsgWindowSubtype >= dLytMsgWindow_c::MSG_WINDOW_10) &&
|
||||
mMsgWindowSubtype != dLytMsgWindow_c::MSG_WINDOW_DEMO) {
|
||||
posX = 0.0f;
|
||||
}
|
||||
|
||||
@@ -513,7 +516,7 @@ beginning:
|
||||
if (textBox != nullptr) {
|
||||
currScale *= textBox->getMyScale();
|
||||
}
|
||||
if (mMsgWindowSubtype == 30) {
|
||||
if (mMsgWindowSubtype == dLytMsgWindow_c::MSG_WINDOW_DEMO) {
|
||||
tmp3 = -2.0f;
|
||||
} else {
|
||||
tmp3 = 3.0f;
|
||||
@@ -804,12 +807,14 @@ nw4r::ut::Operation dTagProcessor_c::ProcessTags(nw4r::ut::Rect *rect, u16 ch, n
|
||||
}
|
||||
|
||||
void dTagProcessor_c::fn_800B4FF0(nw4r::ut::Rect *rect, nw4r::ut::PrintContext<wchar_t> *ctx, u8 cmdLen, wchar_t *ptr) {
|
||||
if (mMsgWindowSubtype != 22 && mMsgWindowSubtype != 30 && field_0xEE0 != 0) {
|
||||
if (mMsgWindowSubtype != dLytMsgWindow_c::MSG_WINDOW_22 && mMsgWindowSubtype != dLytMsgWindow_c::MSG_WINDOW_DEMO &&
|
||||
field_0xEE0 != 0) {
|
||||
int arg = ptr[0];
|
||||
nw4r::lyt::Size textBoxSize = field_0x004->GetSize();
|
||||
nw4r::lyt::Size fontSize = field_0x004->GetFontSize();
|
||||
int i1 = getMaxNumLines(mMsgWindowSubtype);
|
||||
if (arg % i1 == 0 && mMsgWindowSubtype != 31 && mMsgWindowSubtype != 8) {
|
||||
if (arg % i1 == 0 && mMsgWindowSubtype != dLytMsgWindow_c::MSG_WINDOW_31 &&
|
||||
mMsgWindowSubtype != dLytMsgWindow_c::MSG_WINDOW_8) {
|
||||
int u = 0;
|
||||
int v = 0;
|
||||
for (int i = arg; i < arg + getMaxNumLines(mMsgWindowSubtype) && i < 0x32; i++) {
|
||||
@@ -854,7 +859,9 @@ void dTagProcessor_c::fn_800B4FF0(nw4r::ut::Rect *rect, nw4r::ut::PrintContext<w
|
||||
|
||||
f32 lineWidth = getLineWidth(arg);
|
||||
f32 margin = (textBoxSize.width - lineWidth) * 0.5f;
|
||||
if ((mMsgWindowSubtype < 6 || mMsgWindowSubtype >= 9) && mMsgWindowSubtype != 30) {
|
||||
if ((mMsgWindowSubtype < dLytMsgWindow_c::MSG_WINDOW_WOOD ||
|
||||
mMsgWindowSubtype >= dLytMsgWindow_c::MSG_WINDOW_LINK) &&
|
||||
mMsgWindowSubtype != 30) {
|
||||
margin = 0.0f;
|
||||
}
|
||||
if (margin > 0.0f) {
|
||||
@@ -872,14 +879,14 @@ void dTagProcessor_c::setColor(nw4r::ut::Rect *rect, nw4r::ut::PrintContext<wcha
|
||||
nw4r::ut::Color c1 = FontColors1[cmd & 0xFFFF];
|
||||
nw4r::ut::Color c2 = FontColors2[cmd & 0xFFFF];
|
||||
if (cmd == 0) {
|
||||
if (mMsgWindowSubtype == 2) {
|
||||
if (mMsgWindowSubtype == dLytMsgWindow_c::MSG_WINDOW_SWORD_FI) {
|
||||
c1.r = 0xFF;
|
||||
c1.g = 0x6E;
|
||||
c1.b = 0x64;
|
||||
c2.r = 0xFF;
|
||||
c2.g = 0x6E;
|
||||
c2.b = 0x64;
|
||||
} else if (mMsgWindowSubtype == 7) {
|
||||
} else if (mMsgWindowSubtype == dLytMsgWindow_c::MSG_WINDOW_STONE) {
|
||||
c1.r = 0xE6;
|
||||
c1.g = 0x4B;
|
||||
c1.b = 0x32;
|
||||
@@ -888,14 +895,14 @@ void dTagProcessor_c::setColor(nw4r::ut::Rect *rect, nw4r::ut::PrintContext<wcha
|
||||
c2.b = 0x32;
|
||||
}
|
||||
} else if (cmd == 1) {
|
||||
if (mMsgWindowSubtype == 2) {
|
||||
if (mMsgWindowSubtype == dLytMsgWindow_c::MSG_WINDOW_SWORD_FI) {
|
||||
c1.r = 0xF5;
|
||||
c1.g = 0x64;
|
||||
c1.b = 0x5A;
|
||||
c2.r = 0xC8;
|
||||
c2.g = 0x64;
|
||||
c2.b = 0x5A;
|
||||
} else if (mMsgWindowSubtype == 7) {
|
||||
} else if (mMsgWindowSubtype == dLytMsgWindow_c::MSG_WINDOW_STONE) {
|
||||
c1.r = 0xB4;
|
||||
c1.g = 0x50;
|
||||
c1.b = 0x50;
|
||||
@@ -903,7 +910,8 @@ void dTagProcessor_c::setColor(nw4r::ut::Rect *rect, nw4r::ut::PrintContext<wcha
|
||||
c2.g = 0x40;
|
||||
c2.b = 0x40;
|
||||
}
|
||||
} else if (cmd == 3 && mMsgWindowSubtype >= 2 && mMsgWindowSubtype < 5) {
|
||||
} else if (cmd == 3 && mMsgWindowSubtype >= dLytMsgWindow_c::MSG_WINDOW_SWORD_FI &&
|
||||
mMsgWindowSubtype < dLytMsgWindow_c::MSG_WINDOW_SWORD_FI + 3) {
|
||||
c1.r = 0x50;
|
||||
c1.g = 0xE6;
|
||||
c1.b = 0xFA;
|
||||
@@ -1261,23 +1269,23 @@ void dTagProcessor_c::setStringArg(const wchar_t *arg, s32 index) {
|
||||
f32 dTagProcessor_c::fn_800B8040(s8 factor, u32 windowType) {
|
||||
// Fun little recursion here
|
||||
f32 f1 = UnkTextThing::getFn800B1F70();
|
||||
if (windowType == 6) {
|
||||
if (windowType == dLytMsgWindow_c::MSG_WINDOW_WOOD) {
|
||||
f32 f2 = fn_800B8040(0, 0);
|
||||
f32 f3 = fn_800B8040(factor, 0);
|
||||
return f1 * ((f3 / f2) * 0.93f);
|
||||
} else if (windowType == 7) {
|
||||
} else if (windowType == dLytMsgWindow_c::MSG_WINDOW_STONE) {
|
||||
f32 f2 = fn_800B8040(0, 0);
|
||||
f32 f3 = fn_800B8040(factor, 0);
|
||||
return f1 * ((f3 / f2) * 0.9f);
|
||||
} else if (windowType == 9) {
|
||||
} else if (windowType == dLytMsgWindow_c::MSG_WINDOW_LINK) {
|
||||
f32 f2 = fn_800B8040(0, 0);
|
||||
f32 f3 = fn_800B8040(factor, 0);
|
||||
return f1 * ((f3 / f2) * 0.68f);
|
||||
} else if (windowType == 30) {
|
||||
} else if (windowType == dLytMsgWindow_c::MSG_WINDOW_DEMO) {
|
||||
f32 f2 = fn_800B8040(0, 0);
|
||||
f32 f3 = fn_800B8040(factor, 0);
|
||||
return f1 * ((f3 / f2) * 0.9f);
|
||||
} else if (windowType == 34) {
|
||||
} else if (windowType == dLytMsgWindow_c::MSG_WINDOW_34) {
|
||||
f32 f2 = fn_800B8040(0, 0);
|
||||
f32 f3 = fn_800B8040(factor, 0);
|
||||
return f1 * ((f3 / f2) * 0.86f);
|
||||
@@ -1296,11 +1304,11 @@ f32 dTagProcessor_c::fn_800B8040(s8 factor, u32 windowType) {
|
||||
}
|
||||
|
||||
s32 dTagProcessor_c::getMaxNumLines(s32 arg) {
|
||||
if (arg >= 6 && arg < 8) {
|
||||
if (arg >= dLytMsgWindow_c::MSG_WINDOW_WOOD && arg < dLytMsgWindow_c::MSG_WINDOW_WOOD + 2) {
|
||||
return 4;
|
||||
} else if (arg == 9) {
|
||||
} else if (arg == dLytMsgWindow_c::MSG_WINDOW_LINK) {
|
||||
return 2;
|
||||
} else if (arg == 30) {
|
||||
} else if (arg == dLytMsgWindow_c::MSG_WINDOW_DEMO) {
|
||||
return 2;
|
||||
}
|
||||
return 4;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "d/d_message.h"
|
||||
#include "d/d_tag_processor.h"
|
||||
#include "d/d_textunk.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window.h"
|
||||
#include "libms/msgfile.h"
|
||||
#include "m/m_color.h"
|
||||
#include "nw4r/lyt/lyt_common.h"
|
||||
@@ -500,7 +501,7 @@ void dTextBox_c::init() {
|
||||
SetFontSize(sz);
|
||||
mMyTextScale = sz;
|
||||
mMyScale = 1.0f;
|
||||
mWindowSubtype = 0x24;
|
||||
mWindowSubtype = dLytMsgWindow_c::MSG_WINDOW_36;
|
||||
field_0x201 = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -849,8 +849,8 @@ bool dLytMeterMain_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
}
|
||||
s32 zero = 0;
|
||||
|
||||
field_0x1374C = 0;
|
||||
field_0x13748 = 0;
|
||||
mSavedBasicPosition = 0;
|
||||
mBasicPosition = POSITION_NORMAL;
|
||||
field_0x13750 = 4;
|
||||
field_0x13770 = 3;
|
||||
field_0x13774 = 0;
|
||||
@@ -1005,7 +1005,7 @@ void dLytMeterMain_c::fn_800D5290() {
|
||||
}
|
||||
|
||||
bool dLytMeterMain_c::fn_800D5350() {
|
||||
if (field_0x13748 == 1 && dMessage_c::getInstance()->getField_0x328()) {
|
||||
if (mBasicPosition == POSITION_MAP && dMessage_c::getInstance()->getField_0x328()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -1519,7 +1519,7 @@ bool dLytMeterMain_c::execute() {
|
||||
meter->clearFlags(METER_BTN_PLUS);
|
||||
}
|
||||
|
||||
if (field_0x13750 != 0 && field_0x13748 == 1) {
|
||||
if (field_0x13750 != 0 && mBasicPosition == POSITION_MAP) {
|
||||
fn_800D5290();
|
||||
}
|
||||
|
||||
@@ -1606,9 +1606,9 @@ bool dLytMeterMain_c::execute() {
|
||||
mNodes[METER_SHIELD].mpPane->SetTranslate(mShieldPos);
|
||||
}
|
||||
|
||||
if (field_0x13748 != field_0x1374C) {
|
||||
field_0x1374C = field_0x13748;
|
||||
mAnmGroups[METER_ANIM_POSITION].setFrame(field_0x13748);
|
||||
if (mBasicPosition != mSavedBasicPosition) {
|
||||
mSavedBasicPosition = mBasicPosition;
|
||||
mAnmGroups[METER_ANIM_POSITION].setFrame(mBasicPosition);
|
||||
mAnmGroups[METER_ANIM_POSITION].setAnimEnable(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
// clang-format off
|
||||
// vtable order
|
||||
#include "d/lyt/meter/d_lyt_meter.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window_common.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window_talk.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window_link.h"
|
||||
@@ -167,6 +168,9 @@ bool dLytMsgWindow_c::remove() {
|
||||
|
||||
void dLytMsgWindow_c::initializeState_Invisible() {}
|
||||
void dLytMsgWindow_c::executeState_Invisible() {
|
||||
if (!EventManager::isInEvent() && dLytMeter_c::GetInstance()->getMeterField_0x13773()) {
|
||||
dLytMeter_c::GetInstance()->setMeterField_0x13773(false);
|
||||
}
|
||||
if (dMessage_c::getInstance()->getField_0x329()) {
|
||||
mStateMgr.changeState(StateID_MapOpen);
|
||||
} else if (dMessage_c::getInstance()->getField_0x32A()) {
|
||||
@@ -179,7 +183,7 @@ void dLytMsgWindow_c::executeState_Invisible() {
|
||||
|
||||
if (field_0x1220 == 0) {
|
||||
if (field_0x80D != 0) {
|
||||
if (mpTagProcessor->getMsgWindowSubtype() == 0x16) {
|
||||
if (mpTagProcessor->getMsgWindowSubtype() == MSG_WINDOW_22) {
|
||||
mpAutoCaption = new dLytAutoCaption_c();
|
||||
mpAutoCaption->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
mpCurrentSubtype = mpAutoCaption;
|
||||
@@ -200,29 +204,29 @@ void dLytMsgWindow_c::executeState_Invisible() {
|
||||
createSubMsgManager(mpTagProcessor->getMsgWindowSubtype());
|
||||
field_0x828 = nullptr;
|
||||
mSpecialFiMenuValue = FiContext::KEN8_Nevermind;
|
||||
if (mpTagProcessor->getMsgWindowSubtype() == 6) {
|
||||
if (mpTagProcessor->getMsgWindowSubtype() == MSG_WINDOW_WOOD) {
|
||||
mpCurrentSubtype = mpWindowWood;
|
||||
dTextBox_c *box = mpCurrentSubtype->getTextBox();
|
||||
mpMsgWindowUnk->fn_800B2130(mNameCopy, box, nullptr, true);
|
||||
mpMsgWindowUnk->textAdvancingRelated(true, true);
|
||||
setTextToDisplay(mpMsgWindowUnk->getProcessedText());
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == 7) {
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == MSG_WINDOW_STONE) {
|
||||
mpCurrentSubtype = mpWindowStone;
|
||||
dTextBox_c *box = mpCurrentSubtype->getTextBox();
|
||||
mpMsgWindowUnk->fn_800B2130(mNameCopy, box, nullptr, true);
|
||||
mpMsgWindowUnk->textAdvancingRelated(true, true);
|
||||
setTextToDisplay(mpMsgWindowUnk->getProcessedText());
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() >= 2 &&
|
||||
mpTagProcessor->getMsgWindowSubtype() < 5) {
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() >= MSG_WINDOW_SWORD_FI &&
|
||||
mpTagProcessor->getMsgWindowSubtype() < MSG_WINDOW_SWORD_FI + 3) {
|
||||
mpCurrentSubtype = mpWindowSword;
|
||||
field_0x828 = mpWindowSword->getCharData();
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == 9) {
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == MSG_WINDOW_LINK) {
|
||||
mpCurrentSubtype = mpWindowLink;
|
||||
field_0x828 = mpWindowLink->getCharData();
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == 5) {
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == MSG_WINDOW_GET) {
|
||||
mpCurrentSubtype = mpWindowGet;
|
||||
field_0x828 = mpWindowGet->getCharData();
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == 30) {
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() == MSG_WINDOW_DEMO) {
|
||||
mpCurrentSubtype = mpWindowDemo;
|
||||
field_0x828 = mpWindowDemo->getCharData();
|
||||
dTextBox_c *box = mpCurrentSubtype->getTextBox();
|
||||
@@ -298,9 +302,10 @@ void dLytMsgWindow_c::executeState_OutputText() {
|
||||
}
|
||||
}
|
||||
|
||||
if (mpTagProcessor->getMsgWindowSubtype() >= 2 && mpTagProcessor->getMsgWindowSubtype() < 5) {
|
||||
if (mpTagProcessor->getMsgWindowSubtype() >= MSG_WINDOW_SWORD_FI &&
|
||||
mpTagProcessor->getMsgWindowSubtype() < MSG_WINDOW_SWORD_FI + 3) {
|
||||
fn_803998A0(lbl_80575DE0, mpMsgWindowUnk->getField_0x147A(), mpMsgWindowUnk->getField_0x147C());
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() <= 1 && oldValue != mpMsgWindowUnk->getField_0x147A()) {
|
||||
} else if (mpTagProcessor->getMsgWindowSubtype() <= MSG_WINDOW_1 && oldValue != mpMsgWindowUnk->getField_0x147A()) {
|
||||
u16 a = mpMsgWindowUnk->getField_0x147C();
|
||||
f32 b = (dTagProcessor_c::fn_800B8040(0, 0) * 100.0f);
|
||||
SmallSoundManager::GetInstance()->playButtonPressSoundWhenAdvancingTextBoxes(a / b);
|
||||
@@ -362,7 +367,8 @@ void dLytMsgWindow_c::executeState_WaitKeyChangePage0() {
|
||||
mStateMgr.changeState(StateID_WaitKeyChangePage1);
|
||||
} else {
|
||||
mpMsgWindowUnk->fn_800B2AA0();
|
||||
if (mpTagProcessor->getMsgWindowSubtype() >= 6 && mpTagProcessor->getMsgWindowSubtype() < 8) {
|
||||
if (mpTagProcessor->getMsgWindowSubtype() >= MSG_WINDOW_WOOD &&
|
||||
mpTagProcessor->getMsgWindowSubtype() < MSG_WINDOW_WOOD + 2) {
|
||||
mpMsgWindowUnk->textAdvancingRelated(true, true);
|
||||
}
|
||||
setTextToDisplay(mpMsgWindowUnk->getProcessedText());
|
||||
@@ -377,7 +383,8 @@ void dLytMsgWindow_c::executeState_WaitKeyChangePage1() {
|
||||
if (mpCurrentSubtype->startDecide(false)) {
|
||||
field_0x817 = 0;
|
||||
mpMsgWindowUnk->fn_800B2AA0();
|
||||
if (mpTagProcessor->getMsgWindowSubtype() >= 6 && mpTagProcessor->getMsgWindowSubtype() < 8) {
|
||||
if (mpTagProcessor->getMsgWindowSubtype() >= MSG_WINDOW_WOOD &&
|
||||
mpTagProcessor->getMsgWindowSubtype() < MSG_WINDOW_WOOD + 2) {
|
||||
mpMsgWindowUnk->textAdvancingRelated(true, true);
|
||||
}
|
||||
setTextToDisplay(mpMsgWindowUnk->getProcessedText());
|
||||
@@ -487,18 +494,15 @@ void dLytMsgWindow_c::initializeState_WaitKeySelectQuestion() {
|
||||
mSelectBtn.setField_0x990(tmp);
|
||||
mSelectBtn.setTagProcessor(mpTagProcessor);
|
||||
|
||||
wchar_t **buf = sBufs;
|
||||
|
||||
buf[0] = mpTagProcessor->getBuf(0);
|
||||
buf[1] = mpTagProcessor->getBuf(1);
|
||||
buf[2] = mpTagProcessor->getBuf(2);
|
||||
buf[3] = mpTagProcessor->getBuf(3);
|
||||
for (s32 i = 0; i < 4; i++) {
|
||||
sBufs[i] = mpTagProcessor->getBuf(i);
|
||||
}
|
||||
|
||||
mSelectBtn.fn_8011E5D0(field_0x824, true);
|
||||
|
||||
for (int i = 0; i < field_0x824; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
mSelectBtn.getSelectTextBox(i, j)->setTextWithGlobalTextProcessor(buf[i]);
|
||||
for (s32 i = 0, option = 0; i < field_0x824; option++, i++) {
|
||||
for (s32 j = 0; j < 2; j++) {
|
||||
mSelectBtn.getSelectTextBox(option, j)->setTextWithGlobalTextProcessor(sBufs[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -558,7 +562,13 @@ void dLytMsgWindow_c::executeState_WaitKeyMapClose() {
|
||||
void dLytMsgWindow_c::finalizeState_WaitKeyMapClose() {}
|
||||
|
||||
void dLytMsgWindow_c::initializeState_MapClose() {}
|
||||
void dLytMsgWindow_c::executeState_MapClose() {}
|
||||
void dLytMsgWindow_c::executeState_MapClose() {
|
||||
if (dLytMeter_c::GetInstance()->getBasicPosition() == dLytMeterMain_c::POSITION_NORMAL) {
|
||||
dMessage_c::getInstance()->setField_0x32A(false);
|
||||
dMessage_c::getInstance()->clearLightPillarRelatedArgs();
|
||||
mStateMgr.changeState(StateID_Invisible);
|
||||
}
|
||||
}
|
||||
void dLytMsgWindow_c::finalizeState_MapClose() {}
|
||||
|
||||
void dLytMsgWindow_c::initializeState_Out() {
|
||||
@@ -745,46 +755,42 @@ void dLytMsgWindow_c::setCurrentFlowFilename(const char *name) {
|
||||
|
||||
void dLytMsgWindow_c::createSubMsgManager(u8 type) {
|
||||
switch (type) {
|
||||
case 6:
|
||||
case MSG_WINDOW_WOOD:
|
||||
mpWindowWood = new dLytMsgWindowWood_c();
|
||||
mpWindowWood->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
case 7:
|
||||
case MSG_WINDOW_STONE:
|
||||
mpWindowStone = new dLytMsgWindowStone_c();
|
||||
mpWindowStone->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
case 2:
|
||||
case MSG_WINDOW_SWORD_FI:
|
||||
mpWindowSword = new dLytMsgWindowSword_c();
|
||||
mpWindowSword->setSwordType(dLytTextSword::FI);
|
||||
mpWindowSword->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
case 3:
|
||||
case MSG_WINDOW_SWORD_GHIRAHIM:
|
||||
mpWindowSword = new dLytMsgWindowSword_c();
|
||||
mpWindowSword->setSwordType(dLytTextSword::GHIRAHIM);
|
||||
mpWindowSword->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
case 4:
|
||||
case MSG_WINDOW_SWORD_LASTBOSS:
|
||||
mpWindowSword = new dLytMsgWindowSword_c();
|
||||
mpWindowSword->setSwordType(dLytTextSword::LASTBOSS);
|
||||
mpWindowSword->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
case 9:
|
||||
// TODO Link
|
||||
case MSG_WINDOW_LINK:
|
||||
mpWindowLink = new dLytMsgWindowLink_c();
|
||||
mpWindowLink->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
case 5:
|
||||
// TODO Get
|
||||
case MSG_WINDOW_GET:
|
||||
mpWindowGet = new dLytMsgWindowGet_c();
|
||||
mpWindowGet->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
case 30:
|
||||
// TODO Demo
|
||||
case MSG_WINDOW_DEMO:
|
||||
mpWindowDemo = new dLytMsgWindowDemo_c();
|
||||
mpWindowDemo->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
default:
|
||||
// TODO talk
|
||||
mpWindowTalk = new dLytMsgWindowTalk_c();
|
||||
mpWindowTalk->build(&mResAcc1, &mResAcc2, mpTagProcessor);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user