summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-04-11 22:54:51 +0200
committerrobojumper <robojumper@gmail.com>2025-04-21 21:51:02 +0200
commit95ef1d319343dcfa8aec1952f67c90b47d243795 (patch)
tree0f26104351dc2135901621aa06298e763e75376e /include
parentf250e6fa8fcda9dcdc6927181169cc4f0e5c49f0 (diff)
d_lyt_meter_plus_btn OK
Diffstat (limited to 'include')
-rw-r--r--include/d/d_stage_mgr.h10
-rw-r--r--include/d/lyt/d_lyt_unknowns.h2
-rw-r--r--include/d/lyt/meter/d_lyt_meter_nun_stk.h2
-rw-r--r--include/d/lyt/meter/d_lyt_meter_plus_btn.h39
-rw-r--r--include/d/t/d_t_map_mark.h19
5 files changed, 62 insertions, 10 deletions
diff --git a/include/d/d_stage_mgr.h b/include/d/d_stage_mgr.h
index 31ccd40b..523d180f 100644
--- a/include/d/d_stage_mgr.h
+++ b/include/d/d_stage_mgr.h
@@ -121,6 +121,10 @@ public:
return &mFader;
}
+ bool isInLastBoss() const {
+ return mIsInLastBoss;
+ }
+
private:
static void lastExecuteCallback();
@@ -165,6 +169,12 @@ private:
/* 0x88A0 */ u32 field_0x88A0;
/* 0x88A4 */ SizedString<16> mDemoName;
+ /* 0x88B4 */ u8 _0x88B4[0x88BC - 0x88B4];
/* 0x88BC */ bool field_0x88BC;
+ /* 0x88BD */ u8 field_0x88BD;
+ /* 0x88BE */ u8 field_0x88BE;
+ /* 0x88BF */ u8 field_0x88BF;
+ /* 0x88C0 */ u8 field_0x88C0;
+ /* 0x88C1 */ bool mIsInLastBoss;
};
#endif
diff --git a/include/d/lyt/d_lyt_unknowns.h b/include/d/lyt/d_lyt_unknowns.h
index 3f18f1dc..11c3bb90 100644
--- a/include/d/lyt/d_lyt_unknowns.h
+++ b/include/d/lyt/d_lyt_unknowns.h
@@ -35,6 +35,8 @@ public:
DO_BUTTON_NUN_STK = 4,
DO_BUTTON_REMOCON_BG = 5,
DO_BUTTON_NUN_BG = 6,
+
+ DO_BUTTON_PLUS = 11,
};
static void set(DoButton_e button, Action_e value) {
diff --git a/include/d/lyt/meter/d_lyt_meter_nun_stk.h b/include/d/lyt/meter/d_lyt_meter_nun_stk.h
index a42fc669..0031e183 100644
--- a/include/d/lyt/meter/d_lyt_meter_nun_stk.h
+++ b/include/d/lyt/meter/d_lyt_meter_nun_stk.h
@@ -47,7 +47,7 @@ private:
/* 0x170 */ s32 field_0x170;
/* 0x174 */ s32 field_0x174;
/* 0x178 */ BOOL field_0x178;
- /* 0x17C */ s32 field_0x17C;
+ /* 0x17C */ s32 mDisplayedAction;
/* 0x180 */ s32 mOnDelay;
/* 0x184 */ bool field_0x184;
/* 0x185 */ u8 field_0x185;
diff --git a/include/d/lyt/meter/d_lyt_meter_plus_btn.h b/include/d/lyt/meter/d_lyt_meter_plus_btn.h
index c149383e..87fc22cd 100644
--- a/include/d/lyt/meter/d_lyt_meter_plus_btn.h
+++ b/include/d/lyt/meter/d_lyt_meter_plus_btn.h
@@ -2,8 +2,9 @@
#define D_LYT_METER_PLUS_BTN_H
#include "d/lyt/d2d.h"
+#include "d/lyt/d_textbox.h"
+#include "nw4r/lyt/lyt_pane.h"
#include "s/s_State.hpp"
-#include "s/s_StateMgr.hpp"
class dLytMeterPlusBtn_c : public d2d::dSubPane {
public:
@@ -11,12 +12,26 @@ public:
virtual bool build(d2d::ResAccIf_c *resAcc) override;
virtual bool remove() override;
virtual bool execute() override;
- virtual nw4r::lyt::Pane *getPane() override;
- virtual d2d::LytBase_c *getLyt() override;
- virtual const char *getName() const override;
+ virtual nw4r::lyt::Pane *getPane() override {
+ return mLyt.getLayout()->GetRootPane();
+ }
+ virtual d2d::LytBase_c *getLyt() override {
+ return &mLyt;
+ }
+ virtual const char *getName() const override {
+ return mLyt.getName();
+ }
virtual ~dLytMeterPlusBtn_c() {}
+
+ bool isCalling() const;
+ void setCall(bool shouldCall);
+
private:
+ void setMessage(s32 id);
+ bool isMapOpen() const;
+ static bool hasSpecificMapMark();
+
STATE_FUNC_DECLARE(dLytMeterPlusBtn_c, Wait);
STATE_FUNC_DECLARE(dLytMeterPlusBtn_c, ToUse);
STATE_FUNC_DECLARE(dLytMeterPlusBtn_c, ToUnuse);
@@ -24,8 +39,20 @@ private:
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytMeterPlusBtn_c);
/* 0x040 */ d2d::dLytSub mLyt;
- /* 0x0D8 */ d2d::AnmGroup_c mAnmGroups[3];
- /* 0x??? */ u8 padding[0x7A64 - 0x7A38];
+ /* 0x0D8 */ d2d::AnmGroup_c mAnm[3];
+ /* 0x198 */ nw4r::lyt::Pane *mpPane[1];
+ /* 0x19C */ nw4r::lyt::Pane *mpOwnerPane;
+ /* 0x1A0 */ dTextBox_c *mpTextBoxes[2];
+ /* 0x1A8 */ dWindow_c *mpWindow[1];
+ /* 0x1AC */ dTextBox_c *mpSizeBox[1];
+ /* 0x1B0 */ s32 field_0x1B0;
+ /* 0x1B4 */ s32 field_0x1B4;
+ /* 0x1B8 */ s32 mCallCount;
+ /* 0x1BC */ s32 field_0x1BC;
+ /* 0x1C0 */ bool field_0x1C0;
+ /* 0x1C1 */ bool field_0x1C1;
+ /* 0x1C2 */ bool mShouldCall;
+ /* 0x1C3 */ bool field_0x1C3;
};
#endif
diff --git a/include/d/t/d_t_map_mark.h b/include/d/t/d_t_map_mark.h
index 217bfcf5..36ae10c7 100644
--- a/include/d/t/d_t_map_mark.h
+++ b/include/d/t/d_t_map_mark.h
@@ -1,14 +1,27 @@
#ifndef D_T_MAP_MARK_H
#define D_T_MAP_MARK_H
-#include "d/a/d_a_base.h"
+#include "d/t/d_tg.h"
-class dTgMapMark_c : public dAcBase_c {
+class dTgMapMark_c : public dTg_c {
public:
dTgMapMark_c() {}
virtual ~dTgMapMark_c() {}
-private:
+ /* 0x0FC */ u16 mTriggerStoryFlag;
+ /* 0x0FE */ u16 rotz_shift8_0xff;
+ /* 0x100 */ u8 shift4_0x8;
+ /* 0x101 */ u8 shift23_0x8;
+ /* 0x102 */ u8 shift0_0x3;
+ /* 0x103 */ u8 shift2_0x3;
+ /* 0x104 */ u8 shift4_0x3f;
+ /* 0x105 */ u8 rotz_shift0_0xff;
+ /* 0x108 */ s32 rotz_shift0_0xf;
+ /* 0x10C */ bool field_0x10C;
+ /* 0x10D */ bool field_0x10D;
+ /* 0x10E */ bool field_0x10E;
+ /* 0x10F */ u8 rotz_shift10_0x3;
+ /* 0x110 */ u8 rotz_shift12_0x3;
};
#endif