d_lyt_msg_window_wood OK, d_lyt_common_a_btn OK

This commit is contained in:
robojumper
2025-04-01 23:08:44 +02:00
parent 17fe773653
commit fc89f2b34a
27 changed files with 819 additions and 175 deletions
@@ -0,0 +1,27 @@
#ifndef D_LYT_MGS_WINDOW_COMMON_H
#define D_LYT_MGS_WINDOW_COMMON_H
#include "d/d_tag_processor.h"
#include "d/lyt/d2d.h"
#include "m/m2d.h"
class dLytMsgWindowSubtype : public m2d::Base_c {
public:
/* vt 0x08 */ virtual ~dLytMsgWindowSubtype() {}
// vt 0x0C = m2d::Base_c::draw
/* vt 0x10 */ virtual bool build(void *unk, d2d::ResAccIf_c *resAcc, dTagProcessor_c *tagProcessor);
/* vt 0x14 */ virtual bool remove();
/* vt 0x18 */ virtual bool execute();
/* vt 0x1C */ virtual void vt_0x1C();
/* vt 0x20 */ virtual bool vt_0x20() const;
/* vt 0x24 */ virtual void vt_0x24();
/* vt 0x28 */ virtual bool vt_0x28() const;
/* vt 0x2C */ virtual bool setText(const wchar_t *text);
/* vt 0x30 */ virtual dTextBox_c *vt_0x30();
/* vt 0x34 */ virtual void vt_0x34();
/* vt 0x38 */ virtual void vt_0x38(bool b);
/* vt 0x3C */ virtual u8 vt_0x3C() const;
/* vt 0x40 */ virtual bool vt_0x40() const;
};
#endif
@@ -0,0 +1,55 @@
#ifndef D_LYT_MSG_WINDOW_WOOD_H
#define D_LYT_MSG_WINDOW_WOOD_H
#include "d/d_tag_processor.h"
#include "d/lyt/d2d.h"
#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 "nw4r/lyt/lyt_pane.h"
#include "s/s_State.hpp"
class dLytMsgWindowWood_c : public dLytMsgWindowSubtype {
public:
/* vt 0x08 */ virtual ~dLytMsgWindowWood_c() {}
/* vt 0x0C */ virtual void draw() override;
/* vt 0x10 */ virtual bool build(void *unk, d2d::ResAccIf_c *resAcc, dTagProcessor_c *tagProcessor) override;
/* vt 0x14 */ virtual bool remove() override;
/* vt 0x18 */ virtual bool execute() override;
/* vt 0x1C */ virtual void vt_0x1C() override;
/* vt 0x20 */ virtual bool vt_0x20() const override;
/* vt 0x24 */ virtual void vt_0x24() override;
/* vt 0x28 */ virtual bool vt_0x28() const override;
/* vt 0x2C */ virtual bool setText(const wchar_t *text) override;
/* vt 0x30 */ virtual dTextBox_c *vt_0x30() override {
return mpTextboxes[0];
}
/* vt 0x34 */ virtual void vt_0x34() override {
mCommon.requestIn();
}
/* vt 0x38 */ virtual void vt_0x38(bool b) override {
mCommon.requestOut(b);
}
/* vt 0x3C */ virtual u8 vt_0x3C() const override {
return mCommon.isDoneOut();
}
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, Invisible);
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, In);
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, Visible);
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, Out);
private:
/* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowWood_c);
/* 0x04C */ d2d::SubPaneList mSubpaneList;
/* 0x05C */ d2d::SubPaneListNode mNodes[1];
/* 0x068 */ d2d::ResAccIf_c mResAcc;
/* 0x3D8 */ d2d::LytBase_c mLyt;
/* 0x468 */ d2d::AnmGroup_c mAnm[3];
/* 0x528 */ dTextBox_c *mpTextboxes[2];
/* 0x530 */ nw4r::lyt::Pane *mpPanes[2];
/* 0x538 */ dTagProcessor_c *mpTagProcessor;
/* 0x53C */ dLytCommonABtn_c mCommon;
};
#endif