_talk and _link with the same problems as _get and _sword

This commit is contained in:
robojumper
2025-04-06 11:05:19 +02:00
parent cd5fd322f8
commit 5351639386
7 changed files with 708 additions and 86 deletions
@@ -24,20 +24,21 @@ public:
/* vt 0x28 */ virtual bool isDoneClosing() const override;
/* vt 0x2C */ virtual bool setText(const wchar_t *text) override;
/* vt 0x30 */ virtual dTextBox_c *getTextBox() override {
return nullptr;
return mpTextboxes[0];
}
/* vt 0x34 */ virtual bool startConfirm() override {
return true;
return mBtn.requestIn();
}
/* vt 0x38 */ virtual bool startDecide(bool b) override {
return true;
return mBtn.requestOut(b);
}
/* vt 0x3C */ virtual bool isDoneDecide() const override {
return true;
return mBtn.isDoneOut();
}
STATE_FUNC_DECLARE(dLytMsgWindowLink_c, Invisible);
STATE_FUNC_DECLARE(dLytMsgWindowLink_c, In);
STATE_FUNC_DECLARE(dLytMsgWindowLink_c, Wait);
STATE_FUNC_DECLARE(dLytMsgWindowLink_c, Visible);
STATE_FUNC_DECLARE(dLytMsgWindowLink_c, Out);
@@ -56,7 +57,13 @@ private:
/* 0x0568 */ dTextBox_c *mpTextboxes[2];
/* 0x0570 */ nw4r::lyt::Pane *mpPanes[5];
/* 0x0584 */ dTagProcessor_c *mpTagProcessor;
/* 0x0588 */ u8 _0x0588[0x05C0 - 0x0588];
/* 0x0588 */ mVec3_c mTranslationOrig;
/* 0x0594 */ mVec3_c mTranslationTo;
/* 0x05A0 */ mVec3_c mTranslationFrom;
/* 0x05AC */ mVec2_c mOffset;
/* 0x05B4 */ dAcObjBase_c *mpActor;
/* 0x05B8 */ s32 mParam;
/* 0x05BC */ s32 field_0x05BC;
/* 0x05C0 */ dLytCommonABtn_c mBtn;
/* 0x0770 */ dLytTextLight mText;
/* 0x084C */ MsgWindowBlurRelated mBlurRelated;
@@ -7,6 +7,7 @@
#include "d/lyt/d_lyt_common_a_btn.h"
#include "d/lyt/d_textbox.h"
#include "d/lyt/msg_window/d_lyt_msg_window_common.h"
#include "m/m_vec.h"
#include "s/s_State.hpp"
class dLytMsgWindowTalk_c : public dLytMsgWindowSubtype {
@@ -24,20 +25,21 @@ public:
/* vt 0x28 */ virtual bool isDoneClosing() const override;
/* vt 0x2C */ virtual bool setText(const wchar_t *text) override;
/* vt 0x30 */ virtual dTextBox_c *getTextBox() override {
return nullptr;
return mpTextboxes[0];
}
/* vt 0x34 */ virtual bool startConfirm() override {
return true;
return mBtn.requestIn();
}
/* vt 0x38 */ virtual bool startDecide(bool b) override {
return true;
return mBtn.requestOut(b);
}
/* vt 0x3C */ virtual bool isDoneDecide() const override {
return true;
return mBtn.isDoneOut();
}
STATE_FUNC_DECLARE(dLytMsgWindowTalk_c, Invisible);
STATE_FUNC_DECLARE(dLytMsgWindowTalk_c, In);
STATE_FUNC_DECLARE(dLytMsgWindowTalk_c, Wait);
STATE_FUNC_DECLARE(dLytMsgWindowTalk_c, Visible);
STATE_FUNC_DECLARE(dLytMsgWindowTalk_c, Out);
@@ -56,7 +58,13 @@ private:
/* 0x0568 */ dTextBox_c *mpTextboxes[2];
/* 0x0570 */ nw4r::lyt::Pane *mpPanes[5];
/* 0x0584 */ dTagProcessor_c *mpTagProcessor;
/* 0x0588 */ u8 _0x0588[0x05C0 - 0x0588];
/* 0x0588 */ mVec3_c mTranslationOrig;
/* 0x0594 */ mVec3_c mTranslationTo;
/* 0x05A0 */ mVec3_c mTranslationFrom;
/* 0x05AC */ mVec2_c mOffset;
/* 0x05B4 */ dAcObjBase_c *mpActor;
/* 0x05B8 */ s32 mParam;
/* 0x05BC */ s32 field_0x05BC;
/* 0x05C0 */ dLytCommonABtn_c mBtn;
/* 0x0770 */ dLytTextLight mText;
/* 0x084C */ MsgWindowBlurRelated mBlurRelated;