d_message OK (via dFlow_c)

This commit is contained in:
robojumper
2025-05-09 18:28:45 +02:00
parent 378c192697
commit 4c5dede891
39 changed files with 2038 additions and 219 deletions
+3
View File
@@ -11,6 +11,9 @@ public:
bool isInSomeMapState() const;
bool isNotInStateMap() const;
void openCollectionScreenDemo();
bool isStateNormalOrNotInEvent() const;
void somehowRelatedToEnteringLightPillars(s32, s32, s32);
void fn_802CCD40(bool);
+39
View File
@@ -0,0 +1,39 @@
#ifndef D_LYT_DEMO_DOWSING_H
#define D_LYT_DEMO_DOWSING_H
#include "common.h"
#include "d/d_base.h"
#include "d/lyt/d2d.h"
#include "s/s_State.hpp"
class dLytDemoDowsing_c : public dBase_c {
public:
dLytDemoDowsing_c() : mStateMgr(*this, sStateID::null) {
sInstance = this;
}
virtual ~dLytDemoDowsing_c() {
sInstance = nullptr;
}
static dLytDemoDowsing_c *GetInstance() {
return sInstance;
}
void start() {
mShouldStart = true;
}
private:
STATE_FUNC_DECLARE(dLytDemoDowsing_c, Wait);
STATE_FUNC_DECLARE(dLytDemoDowsing_c, Start);
static dLytDemoDowsing_c *sInstance;
/* 0x068 */ UI_STATE_MGR_DECLARE(dLytDemoDowsing_c);
/* 0x0A4 */ d2d::ResAccIf_c mResAcc;
/* 0x414 */ d2d::LytBase_c mLyt;
/* 0x4A4 */ d2d::AnmGroup_c mAnm[2];
/* 0x524 */ bool mShouldStart;
};
#endif
+5
View File
@@ -278,6 +278,7 @@ public:
bool isOpenMaybe() const;
bool fn_80139EA0() const;
void lightPillarRelated(s32, s32, s32);
STATE_FUNC_DECLARE(dLytMapMain_c, Invisible);
STATE_FUNC_DECLARE(dLytMapMain_c, RenderingWait);
@@ -417,6 +418,10 @@ public:
return isValid(val) && ((1 << (val - 2)) & 0x1D);
}
void lightPillarRelated(s32 p1, s32 p2, s32 p3) {
mMapMain.lightPillarRelated(p1, p2, p3);
}
private:
/* 0x0004 */ d2d::ResAccIf_c mResAcc;
/* 0x0374 */ dLytMapMain_c mMapMain;
+25
View File
@@ -0,0 +1,25 @@
#ifndef D_LYT_MINI_GAME_H
#define D_LYT_MINI_GAME_H
#include "common.h"
class dLytMiniGame_c {
public:
static dLytMiniGame_c *GetInstance() {
return sInstance;
}
void timeRelatedExecute();
void scoreRelatedExecute();
void setDisplayedTime(s32 time);
void setDisplayedPoints(s32 time);
void timeRelated();
void scoreRelated();
private:
static dLytMiniGame_c *sInstance;
};
#endif
+22
View File
@@ -239,6 +239,18 @@ public:
return &sInstance->mMain;
}
bool itemSelectDemoRelated(s32 arg) {
return mMain.mItemSelect.fn_800F0220(arg);
}
bool dowsingDemoRelated(s32 arg) {
return mMain.mDowsing.fn_800FE3C0(arg);
}
bool minusBtnDemoRelated(s32 arg) {
return mMain.mMinusBtn.demoRelated(arg);
}
// Not all of these inlines exist on dLytMeterMain_c
// because accessing via GetMeter->get... causes
// different instructions sometimes
@@ -255,6 +267,10 @@ public:
return mMain.field_0x13774;
}
void setMeterField_0x13775(bool val) {
mMain.field_0x13775 = val;
}
bool getMeterField_0x1377F() const {
return mMain.field_0x1377F;
}
@@ -309,6 +325,12 @@ public:
}
}
static void setRupyField_0x8AD(u8 val) {
if (sInstance != nullptr) {
sInstance->mMain.mRupy.setField_0x8AD(val);
}
}
static u8 getRupyField_0x8AC() {
if (sInstance != nullptr) {
return sInstance->mMain.mRupy.getField_0x8AC();
+4
View File
@@ -109,6 +109,10 @@ public:
field_0x8AC = val;
}
void setField_0x8AD(u8 val) {
field_0x8AD = val;
}
void setSize(u8 size) {
mSize = size;
}
+20 -1
View File
@@ -36,10 +36,13 @@ public:
bool isVisible() const;
bool isOutputtingText() const;
void setCurrentLabelName(const char *name, bool storeFile);
bool setCurrentLabelName(const char *name, bool storeFile);
void setCurrentEntrypointName(const char *name);
void setCurrentFlowFilename(const char *name);
void setNumericArg0(s32 arg);
void setNumericArgs(s32 *arg, s32 argCount);
static dLytMsgWindow_c *getInstance() {
return sInstance;
}
@@ -58,6 +61,22 @@ public:
return sInstance->mEntryPointToTrigger;
}
dTagProcessor_c *getTagProcessor() const {
return mpTagProcessor;
}
u8 getField_0x80D() const {
return field_0x80D;
}
u8 getField_0x815() const {
return field_0x815;
}
s32 getTextOptionSelection() const {
return mTextOptionSelection;
}
private:
bool setTextToDisplay(const wchar_t *text);
void createSubMsgManager(u8 type);