mirror of
https://github.com/zeldaret/ss
synced 2026-07-09 14:15:23 -04:00
more map
This commit is contained in:
+10
-1
@@ -74,11 +74,16 @@ public:
|
||||
/* 0x1F0 */ u8 field_0x1F0;
|
||||
|
||||
public:
|
||||
u8 getField_0x1EE() const {
|
||||
return field_0x1EE;
|
||||
}
|
||||
|
||||
void init(MapRelated *);
|
||||
void fn_801b4900();
|
||||
void fn_801B4B80(u32 mapParams, const mVec3_c ¢er, const mVec3_c &size);
|
||||
void fn_801B4C70(const mVec3_c &);
|
||||
void fn_801B50C0(s32);
|
||||
const mVec3_c &fn_801B4CB0() const;
|
||||
};
|
||||
|
||||
// OBJ NAME: STAGE
|
||||
@@ -128,6 +133,10 @@ public:
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
MapRelated *getMapRelated() {
|
||||
return &mMapRelated;
|
||||
}
|
||||
|
||||
bool isFadedOut() const {
|
||||
return mFader.isStatus(mFaderBase_c::FADED_OUT);
|
||||
}
|
||||
@@ -154,7 +163,7 @@ private:
|
||||
/* 0x0068 */ sFPhase<dStage_c> mPhase;
|
||||
/* 0x007C */ dRoomTable_c rooms;
|
||||
/* 0x017C */ dFader_c mFader;
|
||||
/* 0x01A0 */ MapRelated mapRelated;
|
||||
/* 0x01A0 */ MapRelated mMapRelated;
|
||||
/* 0x0394 */ u8 _0x394[0x39C - 0x394];
|
||||
/* 0x039C */ u32 loaded_entities[2047];
|
||||
/* 0x2398 */ s8 curr_room_id;
|
||||
|
||||
+62
-16
@@ -16,6 +16,16 @@
|
||||
#include "s/s_State.hpp"
|
||||
#include "toBeSorted/d_flow_mgr.h"
|
||||
|
||||
/** Bird Statue Definition (StatueSelectDestination) */
|
||||
struct dMapSaveDefinition {
|
||||
/* 0x00 */ const char *stageName;
|
||||
/* 0x04 */ u8 room;
|
||||
/* 0x05 */ u8 layer;
|
||||
/* 0x06 */ u8 enrance;
|
||||
/* 0x08 */ UNKWORD field_0x08;
|
||||
/* 0x0C */ const char *statueLabel;
|
||||
};
|
||||
|
||||
struct dMapFootPrintEntry {
|
||||
/* 0x00 */ dMapFootPrintEntry *pPrev;
|
||||
/* 0x04 */ dMapFootPrintEntry *pNext;
|
||||
@@ -261,8 +271,8 @@ public:
|
||||
mBaseFloorOffset = 0;
|
||||
mSelectedBtnIdx = 0;
|
||||
field_0x70C = 4;
|
||||
field_0x710 = false;
|
||||
field_0x711 = false;
|
||||
mPointerVisible = false;
|
||||
mPrevPointerVisible = false;
|
||||
field_0x712 = false;
|
||||
}
|
||||
virtual ~dLytMapFloorBtnMgr_c();
|
||||
@@ -294,7 +304,8 @@ public:
|
||||
return getPointedAtBtnIdx() >= 0;
|
||||
}
|
||||
|
||||
void resetFloor(s32 newFloor);
|
||||
void resetFloor(s32 newFloorBtn);
|
||||
bool isUsingPointerNav() const;
|
||||
|
||||
private:
|
||||
void checkPointedAtBtn();
|
||||
@@ -311,8 +322,8 @@ private:
|
||||
/* 0x704 */ s32 mBaseFloorOffset;
|
||||
/* 0x708 */ s32 mSelectedBtnIdx;
|
||||
/* 0x70C */ UNKWORD field_0x70C;
|
||||
/* 0x710 */ bool field_0x710;
|
||||
/* 0x711 */ bool field_0x711;
|
||||
/* 0x710 */ bool mPointerVisible;
|
||||
/* 0x711 */ bool mPrevPointerVisible;
|
||||
/* 0x712 */ bool field_0x712;
|
||||
};
|
||||
|
||||
@@ -327,6 +338,11 @@ public:
|
||||
STATE_FUNC_DECLARE(dLytMapPopupInfo_c, WaitInvalid);
|
||||
STATE_FUNC_DECLARE(dLytMapPopupInfo_c, Out);
|
||||
|
||||
void build(d2d::ResAccIf_c *resAcc);
|
||||
void remove();
|
||||
void execute();
|
||||
void draw();
|
||||
|
||||
private:
|
||||
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapPopupInfo_c);
|
||||
/* 0x03C */ d2d::LytBase_c mLyt;
|
||||
@@ -335,33 +351,50 @@ private:
|
||||
|
||||
// Size 0x4C
|
||||
class dLytMapSavePopupAction_c {
|
||||
friend class dLytMapSavePopup_c;
|
||||
|
||||
public:
|
||||
dLytMapSavePopupAction_c() : mStateMgr(*this, sStateID::null), field_0x44(0.0f), field_0x48(0) {}
|
||||
dLytMapSavePopupAction_c() : mStateMgr(*this, sStateID::null), mInOutFrame(0.0f), mInRequest(false) {}
|
||||
|
||||
STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, Invisible);
|
||||
STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, In);
|
||||
STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, Out);
|
||||
|
||||
void execute();
|
||||
void init(d2d::AnmGroup_c *pGroups);
|
||||
void hide();
|
||||
|
||||
private:
|
||||
/* 0x00 */ UI_STATE_MGR_DECLARE(dLytMapSavePopupAction_c);
|
||||
/* 0x3C */ u8 _0x3C[0x44 - 0x3C];
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ u8 field_0x48;
|
||||
/* 0x3C */ d2d::AnmGroup_c *mpAnmGroupInOut;
|
||||
/* 0x40 */ d2d::AnmGroup_c *mpAnmGroupInput;
|
||||
/* 0x44 */ f32 mInOutFrame;
|
||||
/* 0x48 */ bool mInRequest;
|
||||
};
|
||||
|
||||
// Assumed name
|
||||
class dLytMapSavePopup_c {
|
||||
public:
|
||||
dLytMapSavePopup_c() : field_0x4A0(0), field_0x4A4(0), field_0x4A8(-1) {}
|
||||
dLytMapSavePopup_c() : mStatueNum(0), mpStatueBoundings(nullptr), mCurrentlyInStatue(-1) {}
|
||||
|
||||
void build(d2d::ResAccIf_c *resAcc);
|
||||
void remove();
|
||||
void execute();
|
||||
void draw();
|
||||
|
||||
void set(nw4r::lyt::Bounding **pStatueBoundings, s32 count);
|
||||
void hide(s32 statueIdx);
|
||||
|
||||
private:
|
||||
f32 setStatueLabel(const char *label);
|
||||
|
||||
/* 0x000 */ d2d::LytBase_c mLyt;
|
||||
/* 0x090 */ d2d::AnmGroup_c mAnmGroups[2];
|
||||
/* 0x110 */ dLytMapSavePopupAction_c mActions[12];
|
||||
/* 0x4A0 */ UNKWORD field_0x4A0;
|
||||
/* 0x4A4 */ UNKWORD field_0x4A4;
|
||||
/* 0x4A8 */ UNKWORD field_0x4A8;
|
||||
/* 0x4A0 */ s32 mStatueNum;
|
||||
/* 0x4A4 */ nw4r::lyt::Bounding **mpStatueBoundings;
|
||||
/* 0x4A8 */ s32 mCurrentlyInStatue;
|
||||
};
|
||||
|
||||
class dLytMapSaveCaption_c {
|
||||
@@ -444,6 +477,8 @@ public:
|
||||
bool fn_80139EA0() const;
|
||||
void lightPillarRelated(s32, s32, s32);
|
||||
|
||||
const dMapSaveDefinition *getSaveDefinition(s32 province, s32 statueIdx) const;
|
||||
|
||||
STATE_FUNC_DECLARE(dLytMapMain_c, Invisible);
|
||||
STATE_FUNC_DECLARE(dLytMapMain_c, RenderingWait);
|
||||
STATE_FUNC_DECLARE(dLytMapMain_c, In);
|
||||
@@ -496,7 +531,7 @@ private:
|
||||
|
||||
f32 fn_80142D90(s32);
|
||||
void fn_80142F00(mVec3_c &, s32 mapMode, u8, const mVec3_c &, const mAng &);
|
||||
void fn_8013FB70(const mVec3_c&, f32);
|
||||
void fn_8013FB70(const mVec3_c &, f32);
|
||||
|
||||
void zoomOut();
|
||||
void zoomIn();
|
||||
@@ -527,8 +562,11 @@ private:
|
||||
/* 0x7BD0 */ dLytMapSavePopup_c mSavePopup;
|
||||
/* 0x807C */ dLytMapPopupInfo_c mPopupInfo;
|
||||
|
||||
/* 0x8208 */ u8 _0x8208[0x828C - 0x8208];
|
||||
/* 0x8208 */ u8 _0x8208[0x821C - 0x8208];
|
||||
|
||||
/* 0x821C */ nw4r::lyt::Bounding **field_0x821C[10];
|
||||
/* 0x8244 */ nw4r::lyt::Bounding **field_0x8244[6];
|
||||
/* 0x825C */ nw4r::lyt::Bounding **field_0x825C[12];
|
||||
/* 0x828C */ mVec3_c field_0x828C[12];
|
||||
|
||||
/* 0x831C */ u8 _0x831C[0x832C - 0x831C];
|
||||
@@ -558,7 +596,11 @@ private:
|
||||
/* 0x8C90 */ u8 field_0x8C90;
|
||||
/* 0x8C94 */ s32 field_0x8C94;
|
||||
|
||||
/* 0x8C98 */ u8 _0x8C98[0x8CA4 - 0x8C98];
|
||||
/* 0x8C98 */ u8 _0x8C98[0x8C9C - 0x8C98];
|
||||
|
||||
/* 0x8C9C */ UNKWORD field_0x8C9C;
|
||||
|
||||
/* 0x8CA0 */ u8 _0x8CA0[0x8CA4 - 0x8CA0];
|
||||
|
||||
/* 0x8CA4 */ s32 field_0x8CA4;
|
||||
/* 0x8CA8 */ s32 field_0x8CA8;
|
||||
@@ -665,6 +707,10 @@ public:
|
||||
mMapMain.lightPillarRelated(p1, p2, p3);
|
||||
}
|
||||
|
||||
const dMapSaveDefinition *getSaveDefinition(s32 statueIdx) const {
|
||||
return mMapMain.getSaveDefinition(mMapMain.field_0x8C9C, statueIdx);
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x0004 */ d2d::ResAccIf_c mResAcc;
|
||||
/* 0x0374 */ dLytMapMain_c mMapMain;
|
||||
|
||||
@@ -11,8 +11,8 @@ public:
|
||||
field_0x040 = 0;
|
||||
field_0x070 = 0.0f;
|
||||
field_0x074 = 0.0f;
|
||||
field_0x078 = 0;
|
||||
field_0x079 = 0;
|
||||
mRenderRequest = false;
|
||||
mIsBusyRendering = false;
|
||||
field_0x06C = 0.0f;
|
||||
field_0x068 = 0.0f;
|
||||
field_0x064 = 0.0f;
|
||||
@@ -24,6 +24,8 @@ public:
|
||||
STATE_FUNC_DECLARE(dLytMapCapture_c, RenderingWaitStep2);
|
||||
|
||||
private:
|
||||
void fn_8012D6F0();
|
||||
|
||||
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapCapture_c);
|
||||
/* 0x040 */ UNKWORD field_0x040;
|
||||
/* 0x044 */ u8 _0x040[0x064 - 0x044];
|
||||
@@ -32,8 +34,8 @@ private:
|
||||
/* 0x06C */ f32 field_0x06C;
|
||||
/* 0x070 */ f32 field_0x070;
|
||||
/* 0x074 */ f32 field_0x074;
|
||||
/* 0x078 */ u8 field_0x078;
|
||||
/* 0x079 */ u8 field_0x079;
|
||||
/* 0x078 */ bool mRenderRequest;
|
||||
/* 0x079 */ bool mIsBusyRendering;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user