mirror of
https://github.com/zeldaret/ss
synced 2026-07-08 13:56:15 -04:00
more map
This commit is contained in:
@@ -150,6 +150,7 @@ public:
|
||||
}
|
||||
|
||||
bool fn_801B3EE0();
|
||||
void fn_801B3F20();
|
||||
|
||||
private:
|
||||
dRoom_c *createRoom(int roomid, bool flag0x40);
|
||||
|
||||
+4
-4
@@ -73,10 +73,10 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
Layout_c mLayout;
|
||||
nw4r::lyt::DrawInfo mDrawInfo;
|
||||
m2d::ResAccIf_c *mpResAcc;
|
||||
u32 mFlags;
|
||||
/* 0x10 */ Layout_c mLayout;
|
||||
/* 0x30 */ nw4r::lyt::DrawInfo mDrawInfo;
|
||||
/* 0x84 */ m2d::ResAccIf_c *mpResAcc;
|
||||
/* 0x88 */ u32 mFlags;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
+78
-26
@@ -17,7 +17,7 @@
|
||||
#include "toBeSorted/d_flow_mgr.h"
|
||||
|
||||
/** Bird Statue Definition (StatueSelectDestination) */
|
||||
struct dMapSaveDefinition {
|
||||
struct dMapSaveObjDefinition {
|
||||
/* 0x00 */ const char *stageName;
|
||||
/* 0x04 */ u8 room;
|
||||
/* 0x05 */ u8 layer;
|
||||
@@ -26,6 +26,19 @@ struct dMapSaveDefinition {
|
||||
/* 0x0C */ const char *statueLabel;
|
||||
};
|
||||
|
||||
/** Something for making sure re-opening the map opens it in a similar state as when it was last closed */
|
||||
struct dMapSavedDataEntry {
|
||||
/* 0x00 */ s32 mapMode;
|
||||
/* 0x04 */ u8 mapUpDirection;
|
||||
/* 0x05 */ u8 field_0x05;
|
||||
/* 0x06 */ u8 field_0x06;
|
||||
};
|
||||
|
||||
struct dMapSavedData {
|
||||
/* 0x00 */ dMapSavedDataEntry entries[6];
|
||||
/* 0x30 */ bool islandNamesOn;
|
||||
};
|
||||
|
||||
struct dMapFootPrintEntry {
|
||||
/* 0x00 */ dMapFootPrintEntry *pPrev;
|
||||
/* 0x04 */ dMapFootPrintEntry *pNext;
|
||||
@@ -406,6 +419,14 @@ public:
|
||||
STATE_FUNC_DECLARE(dLytMapSaveCaption_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytMapSaveCaption_c, Out);
|
||||
|
||||
void build(d2d::ResAccIf_c *resAcc);
|
||||
void remove();
|
||||
void execute();
|
||||
void draw();
|
||||
|
||||
void setType(s32 type);
|
||||
void setLabel(const char *label);
|
||||
|
||||
private:
|
||||
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapSaveCaption_c);
|
||||
/* 0x03C */ d2d::LytBase_c mLyt;
|
||||
@@ -415,7 +436,8 @@ private:
|
||||
// Size 0x190
|
||||
class dLytMapSaveObj_c {
|
||||
public:
|
||||
dLytMapSaveObj_c() : mStateMgr(*this, sStateID::null), field_0x18C(0), field_0x18D(0), field_0x18E(0) {}
|
||||
dLytMapSaveObj_c()
|
||||
: mStateMgr(*this, sStateID::null), mSelectRequest(false), mDecideRequest(false), mDecideFinished(false) {}
|
||||
|
||||
STATE_FUNC_DECLARE(dLytMapSaveObj_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytMapSaveObj_c, ToSelect);
|
||||
@@ -423,13 +445,22 @@ public:
|
||||
STATE_FUNC_DECLARE(dLytMapSaveObj_c, ToWait);
|
||||
STATE_FUNC_DECLARE(dLytMapSaveObj_c, Decide);
|
||||
|
||||
void build(d2d::ResAccIf_c *resAcc);
|
||||
void remove();
|
||||
void execute();
|
||||
void draw();
|
||||
|
||||
void setPosition(const mVec3_c &position);
|
||||
void setAlpha(u8 alpha);
|
||||
void init();
|
||||
|
||||
private:
|
||||
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapSaveObj_c);
|
||||
/* 0x03C */ d2d::LytBase_c mLyt;
|
||||
/* 0x0CC */ d2d::AnmGroup_c mAnmGroups[3];
|
||||
/* 0x18C */ u8 field_0x18C;
|
||||
/* 0x18D */ u8 field_0x18D;
|
||||
/* 0x18E */ u8 field_0x18E;
|
||||
/* 0x18C */ bool mSelectRequest;
|
||||
/* 0x18D */ bool mDecideRequest;
|
||||
/* 0x18E */ bool mDecideFinished;
|
||||
};
|
||||
|
||||
// TODO, name made up
|
||||
@@ -444,7 +475,7 @@ public:
|
||||
/** 2D UI - Map - beacon preview icon following the cursor */
|
||||
class dLytMapPutIcon_c {
|
||||
public:
|
||||
dLytMapPutIcon_c() {}
|
||||
dLytMapPutIcon_c() : mVisible(false), field_0x98(0.0f, 0.0f) {}
|
||||
virtual ~dLytMapPutIcon_c() {}
|
||||
|
||||
void build(d2d::ResAccIf_c *resAcc);
|
||||
@@ -458,7 +489,7 @@ public:
|
||||
private:
|
||||
/* 0x04 */ d2d::LytBase_c mLyt;
|
||||
/* 0x94 */ bool mVisible;
|
||||
/* 0x95 */ u8 _0x95[0x9C - 0x95];
|
||||
/* 0x98 */ mVec2_c field_0x98;
|
||||
};
|
||||
|
||||
class dLytMapMain_c : public m2d::Base_c {
|
||||
@@ -477,7 +508,7 @@ public:
|
||||
bool fn_80139EA0() const;
|
||||
void lightPillarRelated(s32, s32, s32);
|
||||
|
||||
const dMapSaveDefinition *getSaveDefinition(s32 province, s32 statueIdx) const;
|
||||
const dMapSaveObjDefinition *getSaveObjDefinition(s32 province, s32 statueIdx) const;
|
||||
|
||||
STATE_FUNC_DECLARE(dLytMapMain_c, Invisible);
|
||||
STATE_FUNC_DECLARE(dLytMapMain_c, RenderingWait);
|
||||
@@ -536,6 +567,15 @@ private:
|
||||
void zoomOut();
|
||||
void zoomIn();
|
||||
|
||||
void loadTextboxes();
|
||||
|
||||
void saveUnkMapData();
|
||||
void initUnkMapData();
|
||||
void loadUnkMapData();
|
||||
|
||||
static dMapSavedData sSavedMapData;
|
||||
static const dMapSavedData sDefaultMapData;
|
||||
|
||||
/* 0x0010 */ UI_STATE_MGR_DECLARE(dLytMapMain_c);
|
||||
/* 0x004C */ dFlowMgrBase_c mFlowMgr;
|
||||
/* 0x00A4 */ dFlow_c mFlow;
|
||||
@@ -554,9 +594,6 @@ private:
|
||||
/* 0x64C0 */ dLytMapFootPrints_c mFootPrints;
|
||||
|
||||
/* 0x6664 */ dLytMapPutIcon_c mPutIcon;
|
||||
|
||||
/* 0x6700 */ u8 _0x6700[0x6704 - 0x6700];
|
||||
|
||||
/* 0x6704 */ dLytMapSaveObj_c mSaveObjs[12];
|
||||
/* 0x79C4 */ dLytMapSaveCaption_c mSaveCaption;
|
||||
/* 0x7BD0 */ dLytMapSavePopup_c mSavePopup;
|
||||
@@ -564,9 +601,9 @@ private:
|
||||
|
||||
/* 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];
|
||||
/* 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];
|
||||
@@ -591,13 +628,16 @@ private:
|
||||
/* 0x8C64 */ s32 field_0x8C64;
|
||||
/* 0x8C68 */ s32 field_0x8C68;
|
||||
|
||||
/* 0x8C6C */ u8 _0x8C6C[0x8C90 - 0x8C6C];
|
||||
/* 0x8C6C */ UNKWORD field_0x8C6C;
|
||||
|
||||
/* 0x8C70 */ u8 _0x8C70[0x8C90 - 0x8C70];
|
||||
|
||||
/* 0x8C90 */ u8 field_0x8C90;
|
||||
/* 0x8C91 */ u8 field_0x8C91;
|
||||
/* 0x8C92 */ u8 field_0x8C92;
|
||||
/* 0x8C93 */ u8 field_0x8C93;
|
||||
/* 0x8C94 */ s32 field_0x8C94;
|
||||
|
||||
/* 0x8C98 */ u8 _0x8C98[0x8C9C - 0x8C98];
|
||||
|
||||
/* 0x8C98 */ UNKWORD field_0x8C98;
|
||||
/* 0x8C9C */ UNKWORD field_0x8C9C;
|
||||
|
||||
/* 0x8CA0 */ u8 _0x8CA0[0x8CA4 - 0x8CA0];
|
||||
@@ -605,8 +645,11 @@ private:
|
||||
/* 0x8CA4 */ s32 field_0x8CA4;
|
||||
/* 0x8CA8 */ s32 field_0x8CA8;
|
||||
|
||||
/* 0x8CAC */ u8 _0x8CAC[0x8CC0 - 0x8CAC];
|
||||
/* 0x8CAC */ u8 field_0x8CAC;
|
||||
|
||||
/* 0x8CAD */ u8 _0x8CAC[0x8CBC - 0x8CAD];
|
||||
|
||||
/* 0x8CBC */ nw4r::lyt::Bounding *mpMapBounding;
|
||||
/* 0x8CC0 */ bool field_0x8CC0;
|
||||
/* 0x8CC1 */ bool field_0x8CC1;
|
||||
/* 0x8CC4 */ mVec3_c field_0x8CC4;
|
||||
@@ -636,16 +679,25 @@ private:
|
||||
/* 0x8D6B */ u8 field_0x8D6B;
|
||||
/* 0x8D6C */ UNKWORD field_0x8D6C;
|
||||
/* 0x8D70 */ UNKWORD field_0x8D70;
|
||||
/* 0x8D74 */ u8 _0x8D74[0x8D94 - 0x8D74];
|
||||
/* 0x8D74 */ u8 _0x8D74[0x8D78 - 0x8D74];
|
||||
/* 0x8D78 */ f32 field_0x8D78;
|
||||
/* 0x8D7C */ f32 field_0x8D7C;
|
||||
/* 0x8D80 */ f32 field_0x8D80;
|
||||
/* 0x8D84 */ f32 field_0x8D84;
|
||||
/* 0x8D88 */ f32 field_0x8D88;
|
||||
/* 0x8D8C */ u8 _0x8D8C[0x8D94 - 0x8D8C];
|
||||
/* 0x8D94 */ d2d::SubPaneList mSubpaneList;
|
||||
/* 0x8DA0 */ d2d::SubPaneListNode mSubpane;
|
||||
/* 0x8DB0 */ u8 _0x8DB0[0x8DB4 - 0x8DB0];
|
||||
/* 0x8DB0 */ UNKWORD field_0x8DB0;
|
||||
/* 0x8DB4 */ bool mNavEnabled;
|
||||
/* 0x8DB4 */ bool field_0x8DB5;
|
||||
/* 0x8DB6 */ u8 _0x8DB6[0x8DBC - 0x8DB6];
|
||||
/* 0x8DB5 */ bool field_0x8DB5;
|
||||
/* 0x8DB8 */ UNKWORD field_0x8DB8;
|
||||
/* 0x8DBC */ bool mIslandNamesOn;
|
||||
/* 0x8DBD */ bool field_0x8DBD;
|
||||
/* 0x8DBE */ u8 _0x8DBE[0x8DC8 - 0x8DBE];
|
||||
/* 0x8DBE */ u8 field_0x8DBE;
|
||||
/* 0x8DBF */ u8 field_0x8DBF;
|
||||
/* 0x8DC0 */ UNKWORD field_0x8DC0;
|
||||
/* 0x8DC4 */ UNKWORD field_0x8DC4;
|
||||
/* 0x8DC8 */ dLytMapGlobal_c mGlobal;
|
||||
};
|
||||
|
||||
@@ -707,8 +759,8 @@ public:
|
||||
mMapMain.lightPillarRelated(p1, p2, p3);
|
||||
}
|
||||
|
||||
const dMapSaveDefinition *getSaveDefinition(s32 statueIdx) const {
|
||||
return mMapMain.getSaveDefinition(mMapMain.field_0x8C9C, statueIdx);
|
||||
const dMapSaveObjDefinition *getSaveObjDefinition(s32 statueIdx) const {
|
||||
return mMapMain.getSaveObjDefinition(mMapMain.field_0x8C9C, statueIdx);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -32,6 +32,10 @@ public:
|
||||
return field_0x20;
|
||||
}
|
||||
|
||||
void setField_0x28(const mVec2_c &v) {
|
||||
field_0x28 = v;
|
||||
}
|
||||
|
||||
const mVec3_c &getMapRotationCenter() const {
|
||||
return mMapRotationCenter;
|
||||
}
|
||||
@@ -94,8 +98,7 @@ private:
|
||||
/* 0x0C */ mVec2_c field_0x0C;
|
||||
/* 0x14 */ mVec3_c mMapRotationCenter;
|
||||
/* 0x20 */ mVec2_c field_0x20;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2C;
|
||||
/* 0x28 */ mVec2_c field_0x28;
|
||||
/* 0x30 */ mVec3_c mPlayerPosition;
|
||||
/* 0x3C */ mAng mMapRotation;
|
||||
/* 0x40 */ f32 field_0x40;
|
||||
|
||||
@@ -300,6 +300,9 @@ public:
|
||||
mVec2_c(const EGG::Vector2f &other) {
|
||||
set(other.x, other.y);
|
||||
}
|
||||
mVec2_c(const nw4r::math::VEC2 &other) {
|
||||
set(other.x, other.y);
|
||||
}
|
||||
mVec2_c(f32 fx, f32 fy) {
|
||||
set(fx, fy);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user