More enum while I'm at it

This commit is contained in:
robojumper
2025-05-16 18:02:42 +02:00
parent 96264ddedc
commit 8c30e45c13
7 changed files with 128 additions and 65 deletions
+23 -3
View File
@@ -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
View File
@@ -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;
+2 -1
View File
@@ -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;
}
+7 -7
View File
@@ -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);
}
+40 -34
View File
@@ -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;