Merge pull request #327 from robojumper/msg_window_equivalent

d_lyt_msg_window equivalent
This commit is contained in:
robojumper
2026-07-26 19:02:31 +02:00
committed by GitHub
7 changed files with 165 additions and 41 deletions
+3 -1
View File
@@ -47,7 +47,7 @@ public:
void fn_800B61D0(nw4r::ut::Rect *rect, nw4r::ut::PrintContext<wchar_t> *ctx, u8 cmdLen, wchar_t *ptr);
void setFramesLeftOnPause(nw4r::ut::Rect *rect, nw4r::ut::PrintContext<wchar_t> *ctx, u8 cmdLen, wchar_t *ptr);
void fn_800B5500(u8 cmdLen, wchar_t *ptr);
void fn_800B5540(wchar_t *ptr);
void enableChangeBtn(wchar_t *ptr);
void fn_800B60E0(u8 cmdLen, wchar_t *ptr);
void fn_800B6110(u8 cmdLen, wchar_t *ptr);
void fn_800B6140(u8 cmdLen, wchar_t *ptr);
@@ -217,6 +217,8 @@ private:
TAG_CMD_OPTION_2 = 0x10002,
TAG_CMD_OPTION_3 = 0x10003,
TAG_CMD_CHANGE_BTN = 0x10011,
TAG_CMD_WRITE_HERONAME = 0x20000,
TAG_CMD_WRITE_ITEM = 0x20001,
TAG_CMD_WRITE_STRING_ARG = 0x20002,
+7
View File
@@ -17,12 +17,19 @@ public:
field_0x646 = 0;
}
static void unk_inline2() {
if (sInstance != nullptr) {
sInstance->field_0x647 = 1;
}
}
private:
static dLytBossCaption_c *sInstance;
u8 _0x00[0x645 - 0x00];
u8 field_0x645;
u8 field_0x646;
u8 field_0x647;
};
#endif
+9 -4
View File
@@ -10,6 +10,7 @@
#include "m/m_vec.h"
#include "s/s_State.hpp"
#include "sized_string.h"
#include "toBeSorted/d_flow_mgr.h"
// Forward declarations required for vtable order
class dLytMsgWindowTalk_c;
@@ -84,6 +85,9 @@ public:
return mNameCopy;
}
bool fn_80117310() const;
void fn_80117360();
void fn_80117380();
const char *fn_80117390(bool) const;
// This function appears to be related to a compiler quirk.
@@ -118,17 +122,18 @@ public:
return mTextOptionSelection;
}
void onFlag0x820(u16 flag) {
field_0x820 |= flag;
void enableChangeBtn(u16 flag) {
mValidChangeBtnMask |= flag;
}
private:
bool setTextToDisplay(const wchar_t *text);
void createSubMsgManager(u8 type);
void removeSubMsgManagers();
bool fn_8011A5D0() const;
bool checkChangeBtnTrig();
static dLytMsgWindow_c *sInstance;
static dFlowMgrBase_c *sFlowMgr;
STATE_FUNC_DECLARE(dLytMsgWindow_c, Invisible);
STATE_FUNC_DECLARE(dLytMsgWindow_c, In);
@@ -203,7 +208,7 @@ private:
/* 0x81D */ u8 field_0x81D;
/* 0x81E */ u8 field_0x81E;
/* 0x820 */ u16 field_0x820;
/* 0x820 */ u16 mValidChangeBtnMask;
/* 0x824 */ s32 mNumOptions;
/* 0x828 */ dLytMsgWindowCharData *field_0x828;