j2d / map_path work, d_drawlist / d_attention cleanup (#208)

* work on fop actor / actor mng, daalink, d_a_obj_item

* d_a_title mostly decompiled

* daalink / d_event / JMessage / dmsg_out_font work

* msg_scrn_base / msg_scrn_boss

* some work on mDo machine, d_menu_save, d_tresure, and various

* remove asm

* progress

* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data

* rename more data

* remove asm / progress

* match all of d_pane_class

* fixes / some dKankyo doc

* bunch of j2d work. d_drawlist / d_attention cleanup

* progress / asm

* cleanup wip

* decompile JStage

* setup some more JStudio structs

* set up d_demo classes

* some d_demo work

* cleanup dolphin os stuff

* some initial dEvent documentation

* some At collision documentation

* match JUTConsole::doDraw

* dbgs work / split up some of d_a_alink into .inc files

* d_a_alink_spinner work
This commit is contained in:
TakaRikka
2022-08-30 14:22:17 -07:00
committed by GitHub
parent bc30d007e1
commit f8979749e3
613 changed files with 30182 additions and 40087 deletions
+1216 -187
View File
File diff suppressed because it is too large Load Diff
+4 -1
View File
@@ -220,6 +220,7 @@ public:
FLG2_UNK_2080000 = 0x2080000,
BOAR_SINGLE_BATTLE = 0x1800000,
STATUS_WINDOW_DRAW = 0x400000,
FLG2_UNK_280000 = 0x280000,
UNK_ARMOR = 0x80000,
SCENE_CHANGE_START = 0x8000,
FLG2_UNK_4000 = 0x4000,
@@ -243,6 +244,7 @@ public:
enum daPy_ERFLG1 {
GANON_FINISH = 0x80000000,
UNK_FORCE_PUT_POS = 0x2000,
ERFLG1_UNK_2 = 2,
ERFLG1_UNK_1 = 1,
};
enum daPy_ERFLG2 {
@@ -539,7 +541,7 @@ public:
bool getSumouCameraMode() const {
bool sumouCameraMode = false;
if (field_0x560[0xA] != 0 && field_0x560[0xA] < 0x26) {
if (mSpecialMode != 0 && mSpecialMode < 0x26) {
sumouCameraMode = true;
}
return sumouCameraMode;
@@ -568,6 +570,7 @@ public:
void i_onNoResetFlg2(int pFlg) { mNoResetFlg2 |= pFlg; }
void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; }
void i_offNoResetFlg2(int pFlg) { mNoResetFlg2 &= ~pFlg; }
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; }
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
+7 -7
View File
@@ -12,7 +12,7 @@ class cBgS_ChkElm {
public:
/* 0x00 */ dBgW_Base* m_bgw_base_ptr;
/* 0x04 */ bool m_used;
/* 0x08 */ u32 field_0x8;
/* 0x08 */ u32 m_actor_id;
/* 0x0C */ fopAc_ac_c* m_actor_ptr;
/* 0x10 vtable */
@@ -37,7 +37,7 @@ public:
public:
cBgS() {}
bool Regist(dBgW_Base*, unsigned int, void*);
void Release(dBgW_Base*);
int Release(dBgW_Base*);
bool LineCross(cBgS_LinChk*);
f32 GroundCross(cBgS_GndChk*);
static void ConvDzb(void*);
@@ -75,14 +75,14 @@ public:
s32 GetExitId(cBgS_PolyInfo const&);
s32 GetPolyColor(cBgS_PolyInfo const&);
BOOL GetHorseNoEntry(cBgS_PolyInfo const&);
bool GetSpecialCode(cBgS_PolyInfo const&);
int GetSpecialCode(cBgS_PolyInfo const&);
int GetMagnetCode(cBgS_PolyInfo const&);
bool GetMonkeyBarsCode(cBgS_PolyInfo const&);
bool GetUnderwaterRoofCode(cBgS_PolyInfo const&);
int GetMonkeyBarsCode(cBgS_PolyInfo const&);
int GetUnderwaterRoofCode(cBgS_PolyInfo const&);
s32 GetWallCode(cBgS_PolyInfo const&);
int GetPolyAtt0(cBgS_PolyInfo const&);
int GetPolyAtt1(cBgS_PolyInfo const&);
bool GetGroundCode(cBgS_PolyInfo const&);
int GetGroundCode(cBgS_PolyInfo const&);
s32 GetCamMoveBG(cBgS_PolyInfo const&);
s32 GetRoomCamId(cBgS_PolyInfo const&);
s32 GetRoomPathId(cBgS_PolyInfo const&);
@@ -96,7 +96,7 @@ public:
void WallCorrectSort(dBgS_Acch*);
f32 RoofChk(dBgS_RoofChk*);
bool SplGrpChk(dBgS_SplGrpChk*);
void SphChk(dBgS_SphChk*, void*);
bool SphChk(dBgS_SphChk*, void*);
void MoveBgCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*, bool, bool);
void MoveBgTransPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
+1
View File
@@ -148,6 +148,7 @@ public:
void SetWtrChkMode(int mode) { m_wtr_mode = mode; }
void SetGrndNone() { m_flags |= GRND_NONE; }
void ClrGrndNone() { m_flags &= ~GRND_NONE; }
bool ChkMoveBGOnly() const { return m_flags & MOVE_BG_ONLY; }
// inline dupe
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
+1
View File
@@ -17,6 +17,7 @@ public:
void SetNowY(f32 y) { mNowY = y; }
void i_SetPos(cXyz const& pos) { m_pos = pos; }
f32 GetNowY() { return mNowY; }
private:
/* 0x3C */ cXyz m_pos;
-2
View File
@@ -15,10 +15,8 @@ typedef void* (*SphChk_Callback)(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dG
class dBgS_SphChk : public cM3dGSph, public cBgS_PolyInfo, public cBgS_Chk, public dBgS_Chk {
public:
/* 80078A14 */ dBgS_SphChk();
/* 80078AC0 */ virtual ~dBgS_SphChk();
private:
/* 0x50 */ SphChk_Callback mCallback;
};
+2
View File
@@ -25,6 +25,8 @@ public:
void OffIn() { m_flags &= ~IN; }
void OffMoveBGOnly() { m_flags &= ~MOVE_BG_ONLY; }
void OnMoveBGOnly() { m_flags |= MOVE_BG_ONLY; }
void OnFind() { m_flags |= FIND; }
bool ChkMoveBGOnly() { return m_flags & MOVE_BG_ONLY; }
void SetHeight(f32 height) { m_height = height; }
f32 GetHeight() { return m_height; }
cXyz& GetPosP() { return m_ground; }
+19 -19
View File
@@ -87,31 +87,31 @@ public:
/* 8007933C */ virtual ~cBgW();
/* 80079EEC */ virtual void ChkMemoryError();
/* 8007B948 */ virtual void ChkNotReady() const;
/* 8007B948 */ virtual bool ChkNotReady() const;
/* 8007B958 */ virtual bool ChkLock() const;
/* 8007B964 */ virtual bool ChkMoveBg() const;
virtual u32 ChkMoveFlag() const = 0;
/* 8007B270 */ virtual void GetTriPla(cBgS_PolyInfo const&) const;
/* 8007B270 */ virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const;
/* 8007B1B4 */ virtual bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
/* 8007B164 */ virtual void GetBnd() const;
/* 8007B2B0 */ virtual u32 GetGrpInf(cBgS_PolyInfo const&) const;
virtual void OffMoveFlag() = 0;
/* 8007B240 */ virtual void GetTopUnder(f32*, f32*) const;
/* 8007A658 */ virtual bool LineCheck(cBgS_LinChk*);
/* 8007AB9C */ virtual void GroundCross(cBgS_GndChk*);
/* 8007AB9C */ virtual bool GroundCross(cBgS_GndChk*);
/* 8007B084 */ virtual void ShdwDraw(cBgS_ShdwDraw*);
virtual void CaptPoly(dBgS_CaptPoly&) = 0;
virtual void WallCorrect(dBgS_Acch*) = 0;
virtual void WallCorrectSort(dBgS_Acch*) = 0;
virtual void RoofChk(dBgS_RoofChk*) = 0;
virtual void SplGrpChk(dBgS_SplGrpChk*) = 0;
virtual void SphChk(dBgS_SphChk*, void*) = 0;
virtual bool RoofChk(dBgS_RoofChk*) = 0;
virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0;
virtual bool SphChk(dBgS_SphChk*, void*) = 0;
/* 8007B0E4 */ virtual s32 GetGrpRoomIndex(cBgS_PolyInfo const&) const;
virtual s32 GetExitId(cBgS_PolyInfo const&) = 0;
virtual s32 GetPolyColor(cBgS_PolyInfo const&) = 0;
virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&) = 0;
virtual bool GetSpecialCode(cBgS_PolyInfo const&) = 0;
virtual void GetSpecialCode(int) = 0;
virtual int GetSpecialCode(cBgS_PolyInfo const&) = 0;
virtual int GetSpecialCode(int) = 0;
virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0;
virtual void GetPolyObjThrough(int) = 0;
virtual void GetPolyCamThrough(int) = 0;
@@ -122,12 +122,12 @@ public:
virtual void GetPolyRopeThrough(int) = 0;
virtual void GetPolyBombThrough(int) = 0;
virtual void GetShdwThrough(int) = 0;
virtual bool GetUnderwaterRoofCode(int) = 0;
virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
virtual int GetUnderwaterRoofCode(int) = 0;
virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0;
virtual int GetPolyAtt0(cBgS_PolyInfo const&) = 0;
virtual int GetPolyAtt1(cBgS_PolyInfo const&) = 0;
virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0;
virtual int GetGroundCode(cBgS_PolyInfo const&) = 0;
virtual void GetIronBallThrough(int) = 0;
virtual u32 GetAttackThrough(int) = 0;
virtual s32 GetCamMoveBG(cBgS_PolyInfo const&) = 0;
@@ -203,14 +203,14 @@ public:
/* 8007DAF8 */ virtual void CaptPoly(dBgS_CaptPoly&);
/* 8007C484 */ virtual void WallCorrect(dBgS_Acch*);
/* 8007C910 */ virtual void WallCorrectSort(dBgS_Acch*);
/* 8007D470 */ virtual void RoofChk(dBgS_RoofChk*);
/* 8007D830 */ virtual void SplGrpChk(dBgS_SplGrpChk*);
/* 8007DF00 */ virtual void SphChk(dBgS_SphChk*, virtual void*);
/* 8007D470 */ virtual bool RoofChk(dBgS_RoofChk*);
/* 8007D830 */ virtual bool SplGrpChk(dBgS_SplGrpChk*);
/* 8007DF00 */ virtual bool SphChk(dBgS_SphChk*, virtual void*);
/* 8007B3AC */ virtual s32 GetExitId(cBgS_PolyInfo const&);
/* 8007B3D8 */ virtual s32 GetPolyColor(cBgS_PolyInfo const&);
/* 8007B404 */ virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&);
/* 8007B430 */ virtual bool GetSpecialCode(cBgS_PolyInfo const&);
/* 8007B460 */ virtual void GetSpecialCode(int);
/* 8007B430 */ virtual int GetSpecialCode(cBgS_PolyInfo const&);
/* 8007B460 */ virtual int GetSpecialCode(int);
/* 8007B488 */ virtual int GetMagnetCode(cBgS_PolyInfo const&);
/* 8007B4E0 */ virtual void GetPolyObjThrough(int);
/* 8007B504 */ virtual void GetPolyCamThrough(int);
@@ -221,13 +221,13 @@ public:
/* 8007B5BC */ virtual void GetPolyRopeThrough(int);
/* 8007B5E0 */ virtual void GetPolyBombThrough(int);
/* 8007B604 */ virtual void GetShdwThrough(int);
/* 8007B630 */ virtual bool GetUnderwaterRoofCode(int);
/* 8007B4B4 */ virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 8007B630 */ virtual int GetUnderwaterRoofCode(int);
/* 8007B4B4 */ virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 8007B6AC */ virtual void GetLinkNo(cBgS_PolyInfo const&);
/* 8007B6D8 */ virtual s32 GetWallCode(cBgS_PolyInfo const&);
/* 8007B704 */ virtual int GetPolyAtt0(cBgS_PolyInfo const&);
/* 8007B734 */ virtual int GetPolyAtt1(cBgS_PolyInfo const&);
/* 8007B760 */ virtual bool GetGroundCode(cBgS_PolyInfo const&);
/* 8007B760 */ virtual int GetGroundCode(cBgS_PolyInfo const&);
/* 8007B7DC */ virtual void GetIronBallThrough(int);
/* 8007B800 */ virtual u32 GetAttackThrough(int);
/* 8007B87C */ virtual s32 GetCamMoveBG(cBgS_PolyInfo const&);
+14 -12
View File
@@ -26,11 +26,11 @@ public:
/* 8007E640 */ virtual ~dBgW_Base();
/* 8007E6D0 */ virtual bool ChkMemoryError();
virtual void ChkNotReady() const = 0;
virtual bool ChkNotReady() const = 0;
virtual bool ChkLock() const = 0;
virtual bool ChkMoveBg() const = 0;
virtual u32 ChkMoveFlag() const = 0;
virtual void GetTriPla(cBgS_PolyInfo const&) const = 0;
virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const = 0;
virtual bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const = 0;
virtual void GetBnd() const = 0;
virtual u32 GetGrpInf(cBgS_PolyInfo const&) const = 0;
@@ -38,20 +38,20 @@ public:
virtual void GetTopUnder(f32*, f32*) const = 0;
/* 80074AB4 */ virtual void SetOldShapeAngleY(s16);
virtual bool LineCheck(cBgS_LinChk*) = 0;
virtual void GroundCross(cBgS_GndChk*) = 0;
virtual bool GroundCross(cBgS_GndChk*) = 0;
virtual void ShdwDraw(cBgS_ShdwDraw*) = 0;
virtual void CaptPoly(dBgS_CaptPoly&) = 0;
virtual void WallCorrect(dBgS_Acch*) = 0;
virtual void WallCorrectSort(dBgS_Acch*) = 0;
virtual void RoofChk(dBgS_RoofChk*) = 0;
virtual void SplGrpChk(dBgS_SplGrpChk*) = 0;
virtual void SphChk(dBgS_SphChk*, void*) = 0;
virtual bool RoofChk(dBgS_RoofChk*) = 0;
virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0;
virtual bool SphChk(dBgS_SphChk*, void*) = 0;
virtual s32 GetGrpRoomIndex(cBgS_PolyInfo const&) const = 0;
virtual s32 GetExitId(cBgS_PolyInfo const&) = 0;
virtual s32 GetPolyColor(cBgS_PolyInfo const&) = 0;
virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&) = 0;
virtual bool GetSpecialCode(cBgS_PolyInfo const&) = 0;
virtual void GetSpecialCode(int) = 0;
virtual int GetSpecialCode(cBgS_PolyInfo const&) = 0;
virtual int GetSpecialCode(int) = 0;
virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0;
virtual void GetPolyObjThrough(int) = 0;
virtual void GetPolyCamThrough(int) = 0;
@@ -62,13 +62,13 @@ public:
virtual void GetPolyRopeThrough(int) = 0;
virtual void GetPolyBombThrough(int) = 0;
virtual void GetShdwThrough(int) = 0;
virtual bool GetUnderwaterRoofCode(int) = 0;
virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
virtual int GetUnderwaterRoofCode(int) = 0;
virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
virtual void GetLinkNo(cBgS_PolyInfo const&) = 0;
virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0;
virtual int GetPolyAtt0(cBgS_PolyInfo const&) = 0;
virtual int GetPolyAtt1(cBgS_PolyInfo const&) = 0;
virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0;
virtual int GetGroundCode(cBgS_PolyInfo const&) = 0;
virtual void GetIronBallThrough(int) = 0;
virtual u32 GetAttackThrough(int) = 0;
virtual s32 GetCamMoveBG(cBgS_PolyInfo const&) = 0;
@@ -85,10 +85,12 @@ public:
PushPull_CallBack GetPushPullCallback() const { return m_pushPull_Callback; }
s16 GetDiffShapeAngleY() { return m_diff_ShapeAngleY; }
u8 GetRoomId() { return m_roomId; }
int GetRoomId() { return m_roomId; }
bool chkStickWall() { return field_0xb & 1; }
bool chkStickRoof() { return field_0xb & 2; }
bool ChkPushPullOk() const { return m_pushPull_Ok; }
void SetRoomId(int id) { m_roomId = id; }
bool ChkPriority(int prio) { return m_priority == prio; }
private:
/* 0x08 */ u8 m_priority;
+12 -12
View File
@@ -23,31 +23,31 @@ public:
/* 8007FF00 */ void ChkShdwDrawThrough(dBgPc*);
/* 8007E74C */ virtual ~dBgWKCol();
/* 8007E86C */ virtual void ChkNotReady() const;
/* 8007E86C */ virtual bool ChkNotReady() const;
/* 8007E87C */ virtual bool ChkLock() const;
/* 8007E884 */ virtual bool ChkMoveBg() const;
/* 8007E88C */ virtual bool ChkMoveFlag() const;
/* 8007E894 */ virtual void GetTriPla(cBgS_PolyInfo const&) const;
/* 8007E894 */ virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const;
/* 8007E980 */ virtual void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
/* 8007EB28 */ virtual void GetBnd() const;
/* 8007EB30 */ virtual void GetGrpInf(cBgS_PolyInfo const&) const;
/* 8007EB6C */ virtual void OffMoveFlag();
/* 800829AC */ virtual void GetTopUnder(f32*, f32*) const;
/* 8007EE34 */ virtual void LineCheck(cBgS_LinChk*);
/* 8007F628 */ virtual void GroundCross(cBgS_GndChk*);
/* 8007EE34 */ virtual bool LineCheck(cBgS_LinChk*);
/* 8007F628 */ virtual bool GroundCross(cBgS_GndChk*);
/* 8007F9A4 */ virtual void ShdwDraw(cBgS_ShdwDraw*);
/* 8007FF1C */ virtual void CaptPoly(dBgS_CaptPoly&);
/* 800811A0 */ virtual void WallCorrect(dBgS_Acch*);
/* 80080330 */ virtual void WallCorrectSort(dBgS_Acch*);
/* 80081E18 */ virtual void RoofChk(dBgS_RoofChk*);
/* 80082184 */ virtual void SplGrpChk(dBgS_SplGrpChk*);
/* 800824EC */ virtual void SphChk(dBgS_SphChk*, virtual void*);
/* 80081E18 */ virtual bool RoofChk(dBgS_RoofChk*);
/* 80082184 */ virtual bool SplGrpChk(dBgS_SplGrpChk*);
/* 800824EC */ virtual bool SphChk(dBgS_SphChk*, virtual void*);
/* 800829F0 */ virtual void GetGrpRoomIndex(cBgS_PolyInfo const&) const;
/* 80082A20 */ virtual void GetExitId(cBgS_PolyInfo const&);
/* 80082A50 */ virtual void GetPolyColor(cBgS_PolyInfo const&);
/* 80082A80 */ virtual void GetHorseNoEntry(cBgS_PolyInfo const&);
/* 80082AB0 */ virtual void GetSpecialCode(cBgS_PolyInfo const&);
/* 80082AE0 */ virtual void GetSpecialCode(int);
/* 80082AB0 */ virtual int GetSpecialCode(cBgS_PolyInfo const&);
/* 80082AE0 */ virtual int GetSpecialCode(int);
/* 80082B0C */ virtual int GetMagnetCode(cBgS_PolyInfo const&);
/* 80082B6C */ virtual void GetPolyObjThrough(int);
/* 80082B98 */ virtual void GetPolyCamThrough(int);
@@ -58,13 +58,13 @@ public:
/* 80082C74 */ virtual void GetPolyRopeThrough(int);
/* 80082CA0 */ virtual void GetPolyBombThrough(int);
/* 80082CF8 */ virtual void GetShdwThrough(int);
/* 80082CCC */ virtual void GetUnderwaterRoofCode(int);
/* 80082B3C */ virtual void GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 80082CCC */ virtual int GetUnderwaterRoofCode(int);
/* 80082B3C */ virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 80082D24 */ virtual void GetLinkNo(cBgS_PolyInfo const&);
/* 80082D54 */ virtual s32 GetWallCode(cBgS_PolyInfo const&);
/* 80082D84 */ virtual int GetPolyAtt0(cBgS_PolyInfo const&);
/* 80082DB4 */ virtual int GetPolyAtt1(cBgS_PolyInfo const&);
/* 80082DE4 */ virtual void GetGroundCode(cBgS_PolyInfo const&);
/* 80082DE4 */ virtual int GetGroundCode(cBgS_PolyInfo const&);
/* 80082E14 */ virtual void GetIronBallThrough(int);
/* 80082E40 */ virtual void GetAttackThrough(int);
/* 80082E6C */ virtual void GetCamMoveBG(cBgS_PolyInfo const&);
+12 -9
View File
@@ -13,11 +13,13 @@ private:
/* 0x08 */ dCcMassS_ObjCallback mpCallback;
/* 0x0C */ cCcD_DivideInfo mDivideInfo;
/* 0x1C vtable */
public:
dCcMassS_Obj();
virtual ~dCcMassS_Obj() {}
/* 800852E0 */ void Set(cCcD_Obj*, u8, void (*)(fopAc_ac_c*, cXyz*, u32));
/* 800852F0 */ void Clear();
void Set(cCcD_Obj* p_obj, u8 priority, dCcMassS_ObjCallback callback);
void Clear();
cCcD_Obj* GetObj() { return mpObj; }
u8 GetPriority() const { return mPriority; }
dCcMassS_ObjCallback GetCallback() const { return mpCallback; }
@@ -34,7 +36,7 @@ private:
/* 0x0C */ f32 mCoHitLen;
public:
/* 80085334 */ void ClearPointer();
void ClearPointer();
void SetAreaHitObj(cCcD_Obj* obj) { mpArea = obj; }
void SetCoHitObj(cCcD_Obj* obj) { mpCoObj = obj; }
void SetAtHitObj(cCcD_Obj* obj) { mpAtObj = obj; }
@@ -60,18 +62,19 @@ public:
/* 0x0224 */ cCcD_CpsAttr mCpsAttr;
/* 0x0264 */ cCcD_DivideInfo mDivideInfo;
/* 0x0274 vtable */
public:
dCcMassS_Mng(void);
dCcMassS_Mng();
virtual ~dCcMassS_Mng() {}
/* 800855E4 */ void Ct();
/* 80085630 */ void SetAttr(f32, f32, u8, u8);
/* 80085630 */ void SetAttr(f32 radius, f32 height, u8 param_2, u8 param_3);
/* 80085690 */ void Prepare();
/* 800858AC */ u32 Chk(cXyz*, fopAc_ac_c**, dCcMassS_HitInf*);
/* 800858AC */ u32 Chk(cXyz* p_xyz, fopAc_ac_c** p_actor, dCcMassS_HitInf* p_hitInf);
/* 80085CF0 */ void Clear();
/* 80085D98 */ void Set(cCcD_Obj*, u8);
/* 80085E6C */ void SetCam(cM3dGCps const&);
/* 80085D98 */ void Set(cCcD_Obj* p_obj, u8 priority);
/* 80085E6C */ void SetCam(cM3dGCps const& cps);
/* 80085EB0 */ u8 GetResultCam() const;
/* 80085EB8 */ void GetCamTopPos(Vec*);
/* 80085EB8 */ void GetCamTopPos(Vec* p_out);
};
STATIC_ASSERT(sizeof(dCcMassS_Mng) == 0x278);
+9
View File
@@ -5,6 +5,15 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
enum dCcU_AtType {
/* 0x01 */ HIT_TYPE_LINK_NORMAL_ATTACK = 1,
/* 0x02 */ HIT_TYPE_BOMB,
/* 0x09 */ HIT_TYPE_LINK_HEAVY_ATTACK = 9,
/* 0x0A */ HIT_TYPE_BOOMERANG,
/* 0x0F */ HIT_TYPE_ARROW = 15,
/* 0x10 */ HIT_TYPE_STUN,
};
struct dCcU_AtInfo {
/* 0x00 */ cCcD_Obj* mpCollider;
/* 0x04 */ fopAc_ac_c* mpActor;
+1 -1
View File
@@ -643,7 +643,6 @@ public:
/* 0x00000 */ dSv_info_c info;
/* 0x00F38 */ dComIfG_play_c play;
/* 0x05F64 */ dDlst_list_c drawlist;
/* 0x1C104 */ u8 field_0x1C104[0x1F4];
/* 0x1C2F8 */ dRes_control_c mResControl;
/* 0x1DDF8 */ u8 mFadeBrightness;
/* 0x1DDF9 */ u8 mWorldDark;
@@ -797,6 +796,7 @@ BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no);
void dComIfGs_onStageSwitch(int i_stageNo, int i_no);
void dComIfGs_offStageSwitch(int i_stageNo, int i_no);
void dComIfGs_PolyDamageOff_Set(s8 param_0);
u8 dComIfGs_staffroll_next_go_check();
inline void dComIfGs_init() {
g_dComIfG_gameInfo.info.init();
+59 -64
View File
@@ -17,9 +17,9 @@ public:
/* 80073970 */ void proc();
private:
u32 field_0x0;
u32 field_0x4;
u32 field_0x8;
/* 0x0 */ u32 mHintActorID;
/* 0x4 */ u32 mPriority;
/* 0x8 */ u32 field_0x8;
};
class dAttCatch_c {
@@ -30,52 +30,52 @@ public:
void proc();
void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int);
s32 getCatghTarget() { return convPId(field_0x10); }
s32 getCatghTarget() { return convPId(mCatghTargetID); }
u8 getChangeItem() { return mChangeItem; }
private:
void* field_0x0;
u32 field_0x4;
float field_0x8;
u8 field_0xc;
u8 field_0xd;
u8 field_0xe;
u8 field_0xf;
u32 field_0x10;
u8 mChangeItem;
}; // Size = 0x14
/* 0x00 */ void* field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ u8 field_0xc;
/* 0x0D */ u8 field_0xd;
/* 0x0E */ u8 field_0xe;
/* 0x0F */ u8 field_0xf;
/* 0x10 */ u32 mCatghTargetID;
/* 0x14 */ u8 mChangeItem;
}; // Size: 0x18
class dAttParam_c {
private:
/* 0x00 vtable */
/* 0x04 */ u8 field_0x4;
/* 0x05 */ u8 field_0x5;
/* 0x06 */ u16 mFlag;
/* 0x08 */ float field_0x8;
/* 0x0C */ float field_0xc;
/* 0x10 */ float field_0x10;
/* 0x14 */ float field_0x14;
/* 0x18 */ float field_0x18;
/* 0x1C */ float field_0x1c;
/* 0x20 */ float field_0x20;
/* 0x24 */ float field_0x24;
/* 0x28 */ float field_0x28;
/* 0x2C */ float field_0x2c;
/* 0x30 */ float field_0x30;
/* 0x34 */ float field_0x34;
/* 0x38 */ u8 field_0x38;
/* 0x39 */ u8 field_0x39;
public:
dAttParam_c() {}
/* 80070038 */ dAttParam_c(s32);
/* 80070110 */ virtual ~dAttParam_c();
private:
/* 0x3C */ float field_0x3c;
/* 0x40 */ float field_0x40;
/* 0x44 */ u32 field_0x44;
/* 0x48 */ u32 field_0x48;
/* 0x00 */ u16 field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 mDangerBGMDistance;
/* 0x14 */ f32 mBGMDistMargin;
/* 0x18 */ f32 mSWModeDisable;
/* 0x1C */ f32 mSelCursorScaleX;
/* 0x20 */ f32 mSelCursorScaleY;
/* 0x24 */ f32 mAttnCursorScaleX;
/* 0x28 */ f32 mAttnCursorScaleY;
/* 0x2C */ f32 mSelCursorOffsetY;
/* 0x30 */ f32 mAttnCursorOffsetY;
/* 0x34 */ u8 mAttnCursorAppearFrames;
/* 0x35 */ u8 mAttnCursorDisappearFrames;
public:
/* 80070110 */ virtual ~dAttParam_c();
/* 0x38 vtable */
private:
/* 0x3C */ f32 mSelCursorAnmSpeed;
/* 0x40 */ f32 mAttnCursorAnmSpeed;
/* 0x44 */ u32 mDispPosX;
/* 0x48 */ u32 mDispPosY;
}; // Size = 0x4C
class dAttLook_c {
@@ -88,11 +88,10 @@ public:
private:
u32 field_0x0;
u32 field_0x4;
float field_0x8;
u32 field_0xc;
}; // Size = 0x10
f32 field_0x8;
u32 mLookTargetID;
}; // Size: 0x10
#pragma pack(push, 1)
class dAttList_c {
public:
/* 800304D0 */ ~dAttList_c() {}
@@ -101,11 +100,12 @@ public:
/* 80073898 */ void setActor(fopAc_ac_c*);
private:
u8 field_0x0[8];
cSAngle angle;
u8 field_0xa[10];
}; // Size = 0x14
#pragma pack(pop)
/* 0x00 */ f32 mWeight;
/* 0x04 */ f32 mDistance;
/* 0x08 */ cSAngle mAngle;
/* 0x0C */ u32 mType;
/* 0x10 */ u32 mActorID;
}; // Size: 0x14
class dAttDraw_c {
public:
@@ -116,14 +116,7 @@ public:
/* 80073004 */ void alphaAnm();
/* 800732B0 */ void draw(cXyz&, f32 (*)[4]);
u8 field_0x0;
u8 field_0x1;
u8 field_0x2;
u8 field_0x3;
u8 field_0x4;
u8 field_0x5;
u8 field_0x6;
u8 field_0x7;
/* 0x000 */ J3DModel* mModel[2];
/* 0x008 */ mDoExt_bckAnm bckAnm[2];
/* 0x040 */ mDoExt_bpkAnm bpkAnm[2];
/* 0x070 */ mDoExt_brkAnm brkAnm[2];
@@ -225,9 +218,9 @@ public:
static u32 chk_type_num;
public:
/* 0x000 */ fopAc_ac_c* field_0x0;
/* 0x004 */ u32 field_0x4;
/* 0x008 */ dAttDraw_CallBack_c dattdraw_callback;
/* 0x000 */ fopAc_ac_c* mpPlayer;
/* 0x004 */ u32 mLockTargetID;
/* 0x008 */ dAttDraw_CallBack_c mpDrawCallback;
/* 0x00C */ u32 field_0xc;
/* 0x010 */ u32 field_0x10;
/* 0x014 */ u8 field_0x14[4];
@@ -251,11 +244,11 @@ public:
/* 0x334 */ u32 mFlags;
/* 0x338 */ dAttList_c mLockOnList[8];
/* 0x3D8 */ int mLockonCount;
/* 0x3DC */ int field_0x3dc;
/* 0x3DC */ int mLockOnOffset;
/* 0x3E0 */ dAttList_c mActionList[4];
/* 0x430 */ int mActionCount;
/* 0x434 */ int field_0x434;
/* 0x438 */ dAttList_c attention_list3[4];
/* 0x434 */ int mActionOffset;
/* 0x438 */ dAttList_c field_0x438[4];
/* 0x488 */ int mCheckObjectCount;
/* 0x48C */ int field_0x48c;
/* 0x490 */ dAttHint_c mZHintTarget;
@@ -270,7 +263,9 @@ public:
/* 0x4CD */ u8 field_0x4cd;
/* 0x4CE */ u8 field_0x4ce;
/* 0x4CF */ u8 field_0x4cf;
/* 0x4D0 */ dAttParam_c attention_param;
}; // Size = 0x51C
/* 0x4D0 */ dAttParam_c mAttParam;
}; // Size: 0x51C
STATIC_ASSERT(sizeof(dAttention_c) == 0x51C);
#endif /* D_D_ATTENTION_H */
+244 -54
View File
@@ -1,91 +1,281 @@
#ifndef D_D_DEMO_H
#define D_D_DEMO_H
#include "JSystem/JStudio/JStudio/stb.h"
#include "dolphin/types.h"
#include "JSystem/JGadget/binary.h"
#include "JSystem/JMessage/control.h"
#include "JSystem/JStage/JSGAmbientLight.h"
#include "JSystem/JStage/JSGCamera.h"
#include "JSystem/JStage/JSGFog.h"
#include "JSystem/JStage/JSGLight.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
#include "JSystem/JStudio/JStudio_JAudio2/control.h"
#include "JSystem/JStudio/JStudio_JParticle/object-particle.h"
#include "JSystem/JStudio/JStudio_JStage/object.h"
#include "f_op/f_op_actor.h"
struct cXyz;
struct Vec;
struct fopAc_ac_c;
class dDemo_actor_c;
class dDemo_camera_c;
class dDemo_ambient_c;
class dDemo_light_c;
class dDemo_fog_c;
class dDemo_object_c {
public:
/* 80038F54 */ dDemo_object_c();
/* 80038F70 */ ~dDemo_object_c();
/* 80038FC0 */ void appendActor(fopAc_ac_c*);
/* 80039088 */ static dDemo_actor_c* getActor(u8);
/* 800390AC */ void createCamera();
/* 80039128 */ void getActiveCamera();
/* 8003913C */ void createAmbient();
/* 800391B8 */ void appendLight();
/* 80039258 */ void createFog();
/* 80038FC0 */ JStage::TObject* appendActor(fopAc_ac_c*);
/* 80039088 */ dDemo_actor_c* getActor(u8);
/* 800390AC */ JStage::TObject* createCamera();
/* 80039128 */ JStage::TObject* getActiveCamera();
/* 8003913C */ JStage::TObject* createAmbient();
/* 800391B8 */ JStage::TObject* appendLight();
/* 80039258 */ JStage::TObject* createFog();
/* 800392D4 */ void remove();
/* 0x00 */ u8 mActorNum;
/* 0x01 */ u8 mLightNum;
/* 0x04 */ dDemo_actor_c* mpActors[32];
/* 0x84 */ dDemo_camera_c* mpCamera;
/* 0x88 */ dDemo_ambient_c* mpAmbient;
/* 0x8C */ dDemo_light_c* mpLights[8];
/* 0xAC */ dDemo_fog_c* mpFog;
/* 0xB0 */ dDemo_camera_c* mpEditorCamera;
};
class dDemo_actor_c {
class dDemo_prm_c {
public:
dDemo_prm_c() { mData = 0; }
/* 0x0 */ u32 field_0x0;
/* 0x4 */ u32 mData;
};
class dDemo_actor_c : public JStage::TActor {
public:
/* 80038020 */ dDemo_actor_c();
/* 80038098 */ ~dDemo_actor_c();
/* 80038128 */ void getActor();
/* 8003815C */ void setActor(fopAc_ac_c*);
/* 8003819C */ void getPrm_Morf();
/* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*);
/* 800387EC */ void JSGSetData(u32, void const*, u32);
/* 80038920 */ void JSGSetTranslation(Vec const&);
/* 80038980 */ void JSGSetScaling(Vec const&);
/* 800389A8 */ void JSGSetRotation(Vec const&);
/* 80038A0C */ void JSGSetShape(u32);
/* 80038A20 */ void JSGSetAnimation(u32);
/* 80038A40 */ void JSGSetAnimationFrame(f32);
/* 80038A54 */ void JSGSetAnimationTransition(f32);
/* 80038A68 */ void JSGSetTextureAnimation(u32);
/* 80038A7C */ void JSGSetTextureAnimationFrame(f32);
/* 8003A05C */ void JSGFindNodeID(char const*) const;
/* 8003A088 */ void JSGGetNodeTransformation(u32, f32 (*)[4]) const;
/* 8003A0C8 */ void JSGGetAnimationFrameMax() const;
/* 8003A0D0 */ void JSGGetTextureAnimationFrameMax() const;
/* 8003A0D8 */ void JSGGetTranslation(Vec*) const;
/* 8003A0F4 */ void JSGGetScaling(Vec*) const;
/* 8003A110 */ void JSGGetRotation(Vec*) const;
/* 80038098 */ virtual ~dDemo_actor_c();
/* 800387EC */ virtual void JSGSetData(u32, void const*, u32);
/* 8003A05C */ virtual void JSGFindNodeID(char const*) const;
/* 8003A088 */ virtual void JSGGetNodeTransformation(u32, f32 (*)[4]) const;
/* 8003A0D8 */ virtual void JSGGetTranslation(Vec*) const;
/* 80038920 */ virtual void JSGSetTranslation(Vec const&);
/* 8003A0F4 */ virtual void JSGGetScaling(Vec*) const;
/* 80038980 */ virtual void JSGSetScaling(Vec const&);
/* 8003A110 */ virtual void JSGGetRotation(Vec*) const;
/* 800389A8 */ virtual void JSGSetRotation(Vec const&);
/* 80038A0C */ virtual void JSGSetShape(u32);
/* 80038A20 */ virtual void JSGSetAnimation(u32);
/* 80038A40 */ virtual void JSGSetAnimationFrame(f32);
/* 8003A0C8 */ virtual f32 JSGGetAnimationFrameMax() const;
/* 80038A54 */ virtual void JSGSetAnimationTransition(f32);
/* 80038A68 */ virtual void JSGSetTextureAnimation(u32);
/* 80038A7C */ virtual void JSGSetTextureAnimationFrame(f32);
/* 8003A0D0 */ virtual f32 JSGGetTextureAnimationFrameMax() const;
void setModel(J3DModel* p_model) { mModel = p_model; }
private:
/* 0x04 */ u16 mFlags;
/* 0x08 */ cXyz mTrans;
/* 0x14 */ cXyz mScale;
/* 0x20 */ csXyz mRotate;
/* 0x28 */ u32 mShape;
/* 0x2C */ u32 mAnmId;
/* 0x30 */ f32 mAnmFrame;
/* 0x34 */ f32 mAnmTransition;
/* 0x38 */ f32 mAnmFrameMax;
/* 0x3C */ u32 mTexAnm;
/* 0x40 */ f32 mTexAnmFrame;
/* 0x44 */ f32 mTexAnmFrameMax;
/* 0x48 */ J3DModel* mModel;
/* 0x4C */ dDemo_prm_c mPrm;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ u32 mActorId;
/* 0x5C */ u32 mOldAnmId;
/* 0x60 */ u32 mBtpId;
/* 0x64 */ u32 mBtkId;
/* 0x68 */ u32 mBrkId;
};
class dDemo_system_c : public JStage::TSystem {
public:
dDemo_system_c() { mpObject = NULL; }
/* 80039AAC */ virtual ~dDemo_system_c();
/* 80039528 */ virtual bool JSGFindObject(JStage::TObject**, char const*,
JStage::TEObject) const;
private:
/* 0x4 */ dDemo_object_c* mpObject;
};
class dDemo_particle_c : public JStudio_JParticle::TCreateObject {
public:
dDemo_particle_c(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system)
: JStudio_JParticle::TCreateObject(p_emitMgr, p_system) {}
/* 80039F9C */ virtual ~dDemo_particle_c();
/* 80039F1C */ virtual void emitter_create(u32);
};
class dDemo_light_c : public JStage::TLight {
public:
dDemo_light_c() {
mFlags = 0;
}
/* 80039468 */ virtual ~dDemo_light_c();
/* 80038E20 */ virtual void JSGSetLightType(JStage::TELight);
/* 80038E34 */ virtual void JSGSetPosition(Vec const&);
/* 80038E5C */ virtual void JSGSetColor(GXColor);
/* 80038E8C */ virtual void JSGSetDistanceAttenuation(f32, f32, GXDistAttnFn);
/* 80038EA8 */ virtual void JSGSetAngleAttenuation(f32, GXSpotFn);
/* 80038EC0 */ virtual void JSGSetDirection(Vec const&);
private:
/* 0x04 */ u8 mFlags;
/* 0x08 */ JStage::TELight mLightType;
/* 0x0C */ GXDistAttnFn mDistAttenFn;
/* 0x10 */ GXSpotFn mSpotFn;
/* 0x14 */ cXyz mPosition;
/* 0x20 */ GXColor mColor;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ cXyz mDirection;
};
class dDemo_fog_c : public JStage::TFog {
public:
dDemo_fog_c() {
mFlags = 0;
}
/* 80039408 */ virtual ~dDemo_fog_c();
/* 80038EE8 */ virtual void JSGSetFogFunction(GXFogType);
/* 80038EFC */ virtual void JSGSetStartZ(f32);
/* 80038F10 */ virtual void JSGSetEndZ(f32);
/* 80038F24 */ virtual void JSGSetColor(GXColor);
private:
/* 0x04 */ u8 mFlags;
/* 0x05 */ u8 mFogType;
/* 0x08 */ f32 mStartZ;
/* 0x0C */ f32 mEndZ;
/* 0x10 */ GXColor mColor;
};
class dDemo_camera_c : public JStage::TCamera {
public:
dDemo_camera_c() {
mFlags = 0;
}
/* 80039FFC */ virtual ~dDemo_camera_c();
/* 80038AC4 */ virtual f32 JSGGetProjectionNear() const;
/* 80038AF8 */ virtual void JSGSetProjectionNear(f32);
/* 80038B0C */ virtual f32 JSGGetProjectionFar() const;
/* 80038B40 */ virtual void JSGSetProjectionFar(f32);
/* 80038B54 */ virtual f32 JSGGetProjectionFovy() const;
/* 80038B88 */ virtual void JSGSetProjectionFovy(f32);
/* 80038B9C */ virtual f32 JSGGetProjectionAspect() const;
/* 80038BD0 */ virtual void JSGSetProjectionAspect(f32);
/* 80038BE4 */ virtual void JSGGetViewPosition(Vec*) const;
/* 80038C44 */ virtual void JSGSetViewPosition(Vec const&);
/* 80038C6C */ virtual void JSGGetViewUpVector(Vec*) const;
/* 80038CD0 */ virtual void JSGSetViewUpVector(Vec const&);
/* 80038CF8 */ virtual void JSGGetViewTargetPosition(Vec*) const;
/* 80038D5C */ virtual void JSGSetViewTargetPosition(Vec const&);
/* 80038D84 */ virtual f32 JSGGetViewRoll() const;
/* 80038DDC */ virtual void JSGSetViewRoll(f32);
private:
/* 0x04 */ u8 mFlags;
/* 0x08 */ f32 mProjNear;
/* 0x0C */ f32 mProjFar;
/* 0x10 */ f32 mProjFovy;
/* 0x14 */ f32 mProjAspect;
/* 0x18 */ cXyz mViewPos;
/* 0x24 */ cXyz mViewUpVector;
/* 0x30 */ cXyz mViewTargetVector;
/* 0x3C */ f32 mViewRoll;
};
class dDemo_ambient_c : public JStage::TAmbientLight {
public:
dDemo_ambient_c() {
mFlags = 0;
}
/* 800394C8 */ virtual ~dDemo_ambient_c();
/* 80038DF0 */ virtual void JSGSetColor(GXColor);
private:
/* 0x04 */ u8 mFlags;
/* 0x05 */ GXColor mColor;
};
namespace {
class jstudio_tCreateObject_message : public JStudio::TCreateObject {
public:
jstudio_tCreateObject_message() {}
virtual ~jstudio_tCreateObject_message();
virtual void create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&);
};
class jstudio_tAdaptor_message : public JStudio::TAdaptor_message {
public:
jstudio_tAdaptor_message() {}
virtual ~jstudio_tAdaptor_message();
virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, u32);
};
}; // namespace
class dDemo_c {
public:
/* 80039678 */ static void create();
/* 80039910 */ void remove();
/* 80039B6C */ void start(u8 const*, cXyz*, f32);
/* 80039910 */ static void remove();
/* 80039B6C */ static int start(u8 const*, cXyz*, f32);
/* 80039CF8 */ static void end();
/* 80039D4C */ void branch();
/* 80039DA4 */ static void update();
/* 80039EDC */ void setBranchType(u16);
/* 80039EEC */ void setBranchId(u16, s16);
/* 80039F04 */ void reset();
/* 80039D4C */ static void branch();
/* 80039DA4 */ static int update();
/* 80039EDC */ static void setBranchType(u16);
/* 80039EEC */ static void setBranchId(u16, s16);
/* 80039F04 */ static void reset();
static dDemo_actor_c* getActor(u8 param_0) { return m_object->getActor(param_0); }
static u32 getFrameNoMsg() { return m_frameNoMsg; }
static s32 getMode() { return m_mode; }
static JStudio::stb::TControl* getControl() { return m_control; }
static bool isStatus(u32 status) { return m_status & status; }
static void setBranchData(const u8* p_data) { m_branchData = p_data; }
static u16 m_branchId[1 + 3 /* padding */];
static u8 m_system[4];
static JStudio::stb::TControl* m_control;
static u8 m_stage[4];
static u8 m_audio[4];
static u8 m_particle[4];
static u8 m_message[4];
static u8 m_factory[4];
static u8 m_mesgControl[4];
static s16 m_branchId;
static dDemo_system_c* m_system;
static JStudio::TControl* m_control;
static JStudio_JStage::TCreateObject* m_stage;
static JStudio_JAudio2::TCreateObject* m_audio;
static dDemo_particle_c* m_particle;
static jstudio_tCreateObject_message* m_message;
static JStudio::TFactory* m_factory;
static jmessage_tControl* m_mesgControl;
static dDemo_object_c* m_object;
static u8 m_data[4];
static u8 m_frame[4];
static u8 m_translation[4];
static const u8* m_data;
static int m_frame;
static cXyz* m_translation;
static f32 m_rotationY;
static u32 m_frameNoMsg;
static s32 m_mode;
static u8 m_status[4];
static u8 m_branchType[2 + 2 /* padding */];
static u8 m_branchData[4];
static u32 m_status;
static u16 m_branchType;
static const u8* m_branchData;
};
#endif /* D_D_DEMO_H */
+106 -84
View File
@@ -36,7 +36,7 @@ public:
class dDlst_FileInfo_c : public dDlst_base_c {
public:
dDlst_FileInfo_c() {}
virtual void draw(void);
virtual void draw();
virtual ~dDlst_FileInfo_c(); // inlined
/* 0x04 */ J2DScreen* Scr;
@@ -63,15 +63,40 @@ private:
/* 0x160 */ u8 mAlpha;
};
class dDlst_2DT2_c : public dDlst_base_c {
public:
/* 80052354 */ virtual void draw();
/* 80052B00 */ dDlst_2DT2_c();
/* 80052B4C */ void init(ResTIMG*, f32, f32, f32, f32, u8, u8, u8, f32, f32);
/* 0x04 */ GXTexObj mTexObj;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 mScaleX;
/* 0x38 */ f32 mScaleY;
/* 0x3C */ GXColor field_0x3c;
/* 0x40 */ GXColor field_0x40;
/* 0x44 */ u8 field_0x44;
/* 0x45 */ u8 field_0x45;
/* 0x46 */ u8 field_0x46;
}; // Size: 0x48
class dDlst_peekZ_c {
public:
dDlst_peekZ_c() { field_0x0 = 0; }
/* 80056018 */ void newData(s16, s16, u32*);
struct dDlst_peekZ_entry {
/* 0x0 */ s16 x;
/* 0x2 */ s16 y;
/* 0x4 */ u32* dst;
};
dDlst_peekZ_c() { mCount = 0; }
/* 80056018 */ int newData(s16, s16, u32*);
/* 80056080 */ void peekData();
/* 0x0 */ u8 field_0x0;
/* 0x2 */ u16 field_0x2;
/* 0x4 */ u32* field_0x4;
/* 0x0 */ u8 mCount;
/* 0x4 */ dDlst_peekZ_entry mEntries[0x40];
};
class dDlst_shadowSimple_c {
@@ -93,7 +118,9 @@ public:
/* 80054288 */ void set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*);
/* 800543B4 */ void draw();
/* 0x0 */ void* field_0x0; // vtable
virtual void getTri() = 0;
virtual s32 getTriMax() = 0;
/* 0x4 */ u16 mCount;
/* 0x6 */ u8 field_0x6[2];
};
@@ -106,12 +133,11 @@ public:
/* 0x0 */ cXyz mPos[3];
};
class dDlst_shadowRealPoly_c {
class dDlst_shadowRealPoly_c : public dDlst_shadowPoly_c {
public:
/* 800569A0 */ void getTri();
/* 800569A8 */ s32 getTriMax();
/* 800569A0 */ virtual void getTri();
/* 800569A8 */ virtual s32 getTriMax();
/* 0x0 */ dDlst_shadowPoly_c mShadowPoly;
/* 0x8 */ dDlst_shadowTri_c mShadowTri[256];
};
@@ -123,7 +149,7 @@ public:
/* 80054BD0 */ void setShadowRealMtx(cXyz*, cXyz*, f32, f32, f32, dKy_tevstr_c*);
/* 80055028 */ void set(u32, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*, f32, f32);
/* 800551D4 */ bool add(J3DModel*);
/* 800561F8 */ ~dDlst_shadowReal_c();
/* 800561F8 */ ~dDlst_shadowReal_c() {}
/* 800562D0 */ dDlst_shadowReal_c();
private:
@@ -174,33 +200,33 @@ private:
class dDlst_window_c {
public:
dDlst_window_c(void) {}
dDlst_window_c() {}
~dDlst_window_c() {}
/* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32);
/* 80051ADC */ void setScissor(f32, f32, f32, f32);
void setCameraID(int id) { mCameraID = id; }
void setMode(int mode) { mMode = mode; }
f32 getViewPort() { return mViewport; }
f32 getViewPort() { return mXOrig; }
private:
/* 0x00 */ f32 mViewport;
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0C;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 mScissor;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x00 */ f32 mXOrig;
/* 0x04 */ f32 mYOrig;
/* 0x08 */ f32 mWidth;
/* 0x0C */ f32 mHeight;
/* 0x10 */ f32 mNearZ;
/* 0x14 */ f32 mFarZ;
/* 0x18 */ f32 mScissorXOrig;
/* 0x1C */ f32 mScissorYOrig;
/* 0x20 */ f32 mScissorWidth;
/* 0x24 */ f32 mScissorHeight;
/* 0x28 */ s8 mCameraID;
/* 0x29 */ s8 mMode;
};
STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C);
extern u8 data_80450ED0; // Wipe
extern u8 mWipe__12dDlst_list_c; // Wipe
struct view_port_class;
struct view_class;
@@ -222,28 +248,52 @@ public:
/* 800568D8 */ static void wipeIn(f32);
/* 80056900 */ void calcWipe();
void set2DOpa(dDlst_base_c* dlst) { set(field_0x1b4, field_0x1b8, dlst); }
void set2DOpaTop(dDlst_base_c* dlst) { set(field_0xac, field_0xb0, dlst); }
enum DrawBuffer {
/* 0x00 */ DB_OPA_LIST_SKY,
/* 0x01 */ DB_XLU_LIST_SKY,
/* 0x02 */ DB_LIST_P0,
/* 0x03 */ DB_OPA_LIST_BG,
/* 0x04 */ DB_XLU_LIST_BG,
/* 0x05 */ DB_OPA_LIST_DARK_BG,
/* 0x06 */ DB_XLU_LIST_DARK_BG,
/* 0x07 */ DB_OPA_LIST,
/* 0x08 */ DB_XLU_LIST,
/* 0x09 */ DB_OPA_LIST_DARK,
/* 0x0A */ DB_XLU_LIST_DARK,
/* 0x0B */ DB_OPA_LIST_PACKET,
/* 0x0C */ DB_LIST_FILTER,
/* 0x0D */ DB_OPA_LIST_ITEM3D,
/* 0x0E */ DB_XLU_LIST_ITEM3D,
/* 0x0F */ DB_OPA_LIST_INVISIBLE,
/* 0x10 */ DB_XLU_LIST_INVISIBLE,
/* 0x11 */ DB_LIST_Z_XLU,
/* 0x12 */ DB_LIST_2D_SCREEN,
/* 0x13 */ DB_LIST_MIDDLE,
/* 0x14 */ DB_LIST_3D_LAST,
};
void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); }
void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); }
view_class* getView() { return mView; }
void setView(view_class* view) { mView = view; }
void setWindow(dDlst_window_c* window) { mWindow = window; }
void setViewport(view_port_class* port) { mViewport = port; }
J3DDrawBuffer* getOpaListFilter() { return mListFilter; }
J3DDrawBuffer* getOpaListP0() { return mListP0; }
J3DDrawBuffer* getOpaListPacket() { return mOpaListPacket; }
J3DDrawBuffer* getOpaListFilter() { return mDrawBuffers[DB_LIST_FILTER]; }
J3DDrawBuffer* getOpaListP0() { return mDrawBuffers[DB_LIST_P0]; }
J3DDrawBuffer* getOpaListPacket() { return mDrawBuffers[DB_OPA_LIST_PACKET]; }
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
void setXluListSky() { setXluDrawList(mpXluListSky); }
void setOpaListSky() { setOpaDrawList(mOpaListSky); }
void setXluListDark() { setXluDrawList(mXluListDark); }
void setOpaListDark() { setOpaDrawList(mOpaListDark); }
void setOpaList() { setOpaDrawList(mOpaList); }
void setXluList() { setXluDrawList(mXluList); }
void setOpaListItem3D() { setOpaDrawList(mOpaListItem3d); }
void setXluListItem3D() { setXluDrawList(mXluListItem3d); }
void setXluListBG() { setXluDrawList(mXluListBG); }
void setOpaListBG() { setOpaDrawList(mOpaListBG); }
void setXluList2DScreen() { setXluDrawList(mList2DScreen); }
void setXluListSky() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_SKY]); }
void setOpaListSky() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_SKY]); }
void setXluListDark() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_DARK]); }
void setOpaListDark() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_DARK]); }
void setOpaList() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST]); }
void setXluList() { setXluDrawList(mDrawBuffers[DB_XLU_LIST]); }
void setOpaListItem3D() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_ITEM3D]); }
void setXluListItem3D() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_ITEM3D]); }
void setXluListBG() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_BG]); }
void setOpaListBG() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_BG]); }
void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); }
void peekZdata() { mPeekZ.peekData(); }
@@ -259,52 +309,25 @@ public:
param_6);
}
static void offWipe() { data_80450ED0 = 0; }
static void offWipe() { mWipe = 0; }
static f32 getWipeRate() { return mWipeRate; }
static u8 mWipeDlst[72];
static u8 mWipeColor[4];
static dDlst_2DT2_c mWipeDlst;
static GXColor mWipeColor;
static f32 mWipeRate;
static f32 mWipeSpeed[1 + 1 /* padding */];
static u8 mWipe;
private:
/* 0x00000 */ J3DDrawBuffer* mOpaListSky;
/* 0x00004 */ J3DDrawBuffer* mpXluListSky;
/* 0x00008 */ J3DDrawBuffer* mListP0;
/* 0x0000C */ J3DDrawBuffer* mOpaListBG;
/* 0x00010 */ J3DDrawBuffer* mXluListBG;
/* 0x00014 */ J3DDrawBuffer* mOpaListDarkBG;
/* 0x00018 */ J3DDrawBuffer* mXluListDarkBG;
/* 0x0001C */ J3DDrawBuffer* mOpaList;
/* 0x00020 */ J3DDrawBuffer* mXluList;
/* 0x00024 */ J3DDrawBuffer* mOpaListDark;
/* 0x00028 */ J3DDrawBuffer* mXluListDark;
/* 0x0002C */ J3DDrawBuffer* mOpaListPacket;
/* 0x00030 */ J3DDrawBuffer* mListFilter;
/* 0x00034 */ J3DDrawBuffer* mOpaListItem3d;
/* 0x00038 */ J3DDrawBuffer* mXluListItem3d;
/* 0x0003C */ J3DDrawBuffer* mOpaListInvisible;
/* 0x00040 */ J3DDrawBuffer* mXluListInvisible;
/* 0x00044 */ J3DDrawBuffer* mListZxlu;
/* 0x00048 */ J3DDrawBuffer* mList2DScreen;
/* 0x0004C */ J3DDrawBuffer* mListMiddle;
/* 0x00050 */ J3DDrawBuffer* mList3Dlast;
/* 0x00054 */ dDlst_list_c** field_0x54; // array?
/* 0x00058 */ u8 field_0x58[0xC];
/* 0x00064 */ dDlst_list_c* field_0x64;
/* 0x00068 */ dDlst_list_c** field_0x68;
/* 0x0006C */ dDlst_list_c** field_0x6c; // array?
/* 0x00070 */ u8 field_0x70[0x3C];
/* 0x000AC */ dDlst_base_c** field_0xac;
/* 0x000B0 */ dDlst_base_c** field_0xb0;
/* 0x000B4 */ dDlst_list_c** field_0xb4; // array?
/* 0x000B8 */ u8 field_0xb8[0xFC];
/* 0x001B4 */ dDlst_base_c** field_0x1b4;
/* 0x001B8 */ dDlst_base_c** field_0x1b8;
/* 0x001BC */ dDlst_list_c** field_0x1bc; // array?
/* 0x001C0 */ u8 field_0x1c0[0x7C];
/* 0x0023C */ dDlst_list_c* field_0x23c;
/* 0x00240 */ dDlst_list_c** field_0x240;
/* 0x00000 */ J3DDrawBuffer* mDrawBuffers[21];
/* 0x00054 */ dDlst_base_c** mpCopy2DDraw[4];
/* 0x00064 */ dDlst_base_c** mpCopy2DSet[2];
/* 0x0006C */ dDlst_base_c** mp2DOpaTopDraw[16];
/* 0x000AC */ dDlst_base_c** mp2DOpaTopSet[2];
/* 0x000B4 */ dDlst_base_c** mp2DOpaDraw[64];
/* 0x001B4 */ dDlst_base_c** mp2DOpaSet[2];
/* 0x001BC */ dDlst_base_c** mp2DXluDraw[32];
/* 0x0023C */ dDlst_base_c** mp2DXluSet[2];
/* 0x00244 */ dDlst_window_c* mWindow;
/* 0x00248 */ view_port_class* mViewport;
/* 0x0024C */ view_class* mView;
@@ -312,9 +335,8 @@ private:
/* 0x0025C */ dDlst_shadowControl_c mShadowControl;
/* 0x16154 */ mDoExt_3DlineMatSortPacket m3DLineMatSortPacket[3];
/* 0x16190 */ dDlst_peekZ_c mPeekZ;
/* 0x16198 */ u8 field_0x16198[8]; // might be part of peekZ
}; // Size: 0x161A0
}; // Size: 0x16394
STATIC_ASSERT(sizeof(dDlst_list_c) == 0x161A0);
STATIC_ASSERT(sizeof(dDlst_list_c) == 0x16394);
#endif /* D_D_DRAWLIST_H */
+16 -17
View File
@@ -250,23 +250,22 @@ struct dStage_DMap_c {
};
struct dStage_MapEvent_dt_c {
u8 mType;
u8 field_0x1[3 - 1];
u8 field_0x3;
u8 field_0x4;
u8 field_0x5;
u8 field_0x6;
u8 field_0x7;
u8 field_0x8;
u8 field_0x9;
u8 field_0xA[0xD - 0xA];
char mName[6];
u16 field_0x14;
u8 field_0x16;
u8 field_0x17;
u8 field_0x18;
u8 field_0x19[0x1B - 0x19];
u8 field_0x1B;
/* 0x00 */ u8 mType;
/* 0x01 */ u8 field_0x1[3 - 1];
/* 0x03 */ u8 field_0x3;
/* 0x04 */ u8 field_0x4;
/* 0x05 */ u8 field_0x5;
/* 0x06 */ u8 mPriority;
/* 0x07 */ u8 field_0x7;
/* 0x08 */ u8 field_0x8;
/* 0x09 */ u8 field_0x9;
/* 0x0A */ u8 field_0xA[0xD - 0xA];
/* 0x0D */ char mName[9];
/* 0x16 */ u8 field_0x16;
/* 0x17 */ u8 field_0x17;
/* 0x18 */ u8 mSeType; // 1: RIDDLE_A, 2: RIDDLE_B
/* 0x19 */ u8 field_0x19[0x1B - 0x19];
/* 0x1B */ u8 mSwitch;
}; // SIZE = 0x1C
struct dStage_MapEventInfo_c {
+31 -37
View File
@@ -24,42 +24,36 @@ public:
static u8 const CQ_patt[80];
private:
u32 field_0x0;
u32 field_0x4;
u32 field_0x8;
u32 field_0xc;
u32 field_0x10;
u32 field_0x14;
float field_0x18;
float field_0x1c;
float field_0x20;
u32 field_0x24;
u32 field_0x28;
u32 field_0x2c;
u32 field_0x30;
u32 field_0x34;
u32 field_0x38;
u32 field_0x3c;
float field_0x40;
float field_0x44;
float field_0x48;
u32 field_0x4c;
u32 field_0x50;
u32 field_0x54;
u32 field_0x58;
u32 field_0x5c;
u32 field_0x60;
u32 field_0x64;
u32 field_0x68;
u32 field_0x6c;
u32 field_0x70;
u32 field_0x74;
u32 field_0x78;
u32 field_0x7c;
u32 field_0x80;
u32 field_0x84;
u32 field_0x88;
u32 field_0x8c;
};
class {
public:
class {
public:
/* 0x00 */ u32 field_0x0;
/* 0x04 */ int field_0x4;
/* 0x08 */ s32 field_0x8;
/* 0x0C */ s32 field_0xc;
/* 0x10 */ s32 field_0x10;
/* 0x14 */ int field_0x14;
/* 0x18 */ cXyz field_0x18;
/* 0x24 */ u32 field_0x24;
} mShock, mQuake;
} /* 0x00 */ field_0x0;
/* 0x50 */ u32 field_0x50;
/* 0x54 */ int field_0x54;
/* 0x58 */ s32 field_0x58;
/* 0x5C */ s32 field_0x5c;
/* 0x60 */ u32 field_0x60;
/* 0x64 */ u32 field_0x64;
/* 0x68 */ u32 field_0x68;
/* 0x6C */ u32 field_0x6c;
/* 0x70 */ u32 field_0x70;
/* 0x74 */ u32 field_0x74;
/* 0x78 */ u32 field_0x78;
/* 0x7C */ u32 field_0x7c;
/* 0x80 */ u32 field_0x80;
/* 0x84 */ u32 field_0x84;
/* 0x88 */ s32 field_0x88;
/* 0x8C */ u32 field_0x8c;
}; // Size: 0x90
#endif /* D_D_VIBRATION_H */
+53 -28
View File
@@ -15,7 +15,7 @@ public:
/* 0x00 */ u16 mEventType;
/* 0x02 */ u16 mFlag;
/* 0x04 */ u16 field_0x04;
/* 0x04 */ u16 mHindFlag;
/* 0x08 */ fopAc_ac_c* mActor1;
/* 0x0C */ fopAc_ac_c* mActor2;
/* 0x10 */ s16 mEventId;
@@ -28,25 +28,50 @@ STATIC_ASSERT(sizeof(dEvt_order_c) == 0x18);
typedef int (*SkipFunc)(void*, int);
enum EventMode {
/* 0x0 */ EVT_MODE_NONE,
/* 0x1 */ EVT_MODE_TALK,
/* 0x2 */ EVT_MODE_DEMO,
/* 0x3 */
};
enum EventType {
/* 0x0 */ EVT_TYPE_TALK,
/* 0x1 */ EVT_TYPE_DOOR,
/* 0x2 */ EVT_TYPE_OTHER,
/* 0x3 */ EVT_TYPE_COMPULSORY,
/* 0x4 */ EVT_TYPE_POTENTIAL,
/* 0x5 */ EVT_TYPE_ITEM,
/* 0x6 */ EVT_TYPE_SHOWITEM_X,
/* 0x7 */ EVT_TYPE_SHOWITEM_Y,
/* 0xA */ EVT_TYPE_CATCH = 10,
/* 0xB */ EVT_TYPE_TREASURE,
};
enum EventStatus {
/* 0x0 */ STATUS_NONE,
};
class dEvt_control_c {
public:
dEvt_control_c();
s32 orderOld(u16, u16, u16, u16, void*, void*, void const*);
s32 orderOld(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
void const* param_6);
s32 order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
s16 eventID, u8 infoIdx);
void setParam(dEvt_order_c*);
s32 beforeFlagProc(dEvt_order_c*);
void afterFlagProc(dEvt_order_c*);
int commonCheck(dEvt_order_c*, u16, u16);
int talkCheck(dEvt_order_c*);
int talkXyCheck(dEvt_order_c*);
int catchCheck(dEvt_order_c*);
void setParam(dEvt_order_c* p_order);
s32 beforeFlagProc(dEvt_order_c* p_order);
void afterFlagProc(dEvt_order_c* p_order);
int commonCheck(dEvt_order_c* p_order, u16 condition, u16 command);
int talkCheck(dEvt_order_c* p_order);
int talkXyCheck(dEvt_order_c* p_order);
int catchCheck(dEvt_order_c* p_order);
int talkEnd();
int demoCheck(dEvt_order_c*);
int demoCheck(dEvt_order_c* p_order);
int demoEnd();
int potentialCheck(dEvt_order_c*);
int doorCheck(dEvt_order_c*);
int itemCheck(dEvt_order_c*);
int potentialCheck(dEvt_order_c* p_order);
int doorCheck(dEvt_order_c* p_order);
int itemCheck(dEvt_order_c* p_order);
int endProc();
int change();
int entry();
@@ -64,20 +89,20 @@ public:
BOOL compulsory(void*, char const*, u16);
void remove();
dStage_MapEvent_dt_c* getStageEventDt();
void sceneChange(int);
void sceneChange(int exitId);
u32 getPId(void*);
void* convPId(unsigned int);
void* getStbDemoData(char*);
static dStage_MapEvent_dt_c* searchMapEventData(u8, s32);
static dStage_MapEvent_dt_c* searchMapEventData(u8);
s16 runningEventID(s16);
void setPt1(void*);
void setPt2(void*);
void setPtT(void*);
void setPtI(void*);
void setPtI_Id(unsigned int);
void setPtD(void*);
void setGtItm(u8);
void* getStbDemoData(char* resName);
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID, s32 roomNo);
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID);
s16 runningEventID(s16 eventID);
void setPt1(void* ptr);
void setPt2(void* ptr);
void setPtT(void* ptr);
void setPtI(void* ptr);
void setPtI_Id(unsigned int id);
void setPtD(void* ptr);
void setGtItm(u8 itemNo);
void isOrderOK();
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
@@ -111,9 +136,9 @@ public:
/* 0x0DA */ u16 mFlag2;
/* 0x0DC */ u16 mHindFlag;
/* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong
/* 0x0E0 */ s16 field_0xe0;
/* 0x0E0 */ s16 mEventID;
/* 0x0E2 */ s8 mNum;
/* 0x0E3 */ s8 field_0xe3;
/* 0x0E3 */ s8 mOrderIdx;
/* 0x0E4 */ u8 mMode;
/* 0x0E5 */ u8 mEventStatus;
/* 0x0E6 */ u8 field_0xe6;
@@ -137,7 +162,7 @@ public:
/* 0x110 */ int mSkipFade;
/* 0x114 */ char mSkipEventName[20];
/* 0x128 */ u8 mCompulsory;
/* 0x129 */ bool field_0x129;
/* 0x129 */ bool mRoomInfoSet;
/* 0x12C */ int mRoomNo;
}; // Size = 0x130
+9 -9
View File
@@ -116,11 +116,11 @@ public:
s32 unk;
};
void specialProc_WaitStart(int);
void specialProc_WaitStart(int index);
void specialProc_WaitProc(int);
void specialProc();
void init();
void advanceCut(int);
void advanceCut(int cut);
void specialProcLight();
void specialProcMessage();
void specialProcSound();
@@ -159,7 +159,7 @@ class dEvDtEvent_c {
public:
int finishCheck();
int forceFinish();
void specialStaffProc(dEvDtStaff_c*);
void specialStaffProc(dEvDtStaff_c* p_staff);
int getNStaff() { return mNStaff; }
int getStaff(int idx) { return mStaff[idx]; }
char* getName() { return mName; }
@@ -183,9 +183,9 @@ public:
class dEvDtFlag_c {
public:
dEvDtFlag_c() {}
BOOL flagCheck(int);
BOOL flagSet(int);
BOOL flagMaxCheck(int);
BOOL flagCheck(int flag);
BOOL flagSet(int flag);
BOOL flagMaxCheck(int flag);
void init();
#define FlagMax 0x2800
@@ -199,9 +199,9 @@ public:
dEvDtBase_c() { init(); }
~dEvDtBase_c() {}
int init();
int init(char*, int);
void advanceCut(dEvDtEvent_c*);
BOOL advanceCutLocal(dEvDtStaff_c*);
int init(char* p_data, int roomNo);
void advanceCut(dEvDtEvent_c* p_event);
BOOL advanceCutLocal(dEvDtStaff_c* p_staff);
event_binary_data_header* getHeaderP() { return mHeaderP; }
dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; }
+42 -38
View File
@@ -8,62 +8,66 @@ class dEvent_exception_c {
public:
dEvent_exception_c() { mEventInfoIdx = -1; }
void init();
s32 setStartDemo(int);
s32 setStartDemo(int mapToolID);
const char* getEventName();
// private:
s32 mEventInfoIdx;
u8 field_0x4;
u8 field_0x5;
u8 field_0x6;
u8 field_0x7;
s32 mState;
/* 0x0 */ s32 mEventInfoIdx;
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
/* 0x6 */ u8 field_0x6;
/* 0x7 */ u8 field_0x7;
/* 0x8 */ s32 mState;
};
#define EVT_SE_RIDDLE_A 1
#define EVT_SE_RIDDLE_B 2
class dEvent_manager_c {
public:
void* getSubstance(dEvDtData_c*, int);
void* getSubstance(dEvDtData_c* p_data, int type);
dEvent_manager_c();
~dEvent_manager_c() {}
int create();
bool setObjectArchive(char*);
bool setObjectArchive(char* arcName);
void demoInit();
void roomInit(int);
void roomFinish(int);
void roomInit(int roomNo);
void roomFinish(int roomNo);
int orderStartDemo();
void remove();
void startProc(dEvDtEvent_c*);
void closeProc(dEvDtEvent_c*);
void endProc(s16, int);
void startProc(dEvDtEvent_c* p_evnt);
void closeProc(dEvDtEvent_c* p_evnt);
void endProc(s16 eventID, int close);
void Sequencer();
void Experts();
dEvDtEvent_c* getEventData(s16);
dEvDtEvent_c* getEventData(s16 eventCompositId);
dEvDtEvent_c* getEventData(s16, int);
s16 getEventIdx(char const*, u8, s32);
s16 getEventIdx(fopAc_ac_c*, u8);
s16 getEventIdx(fopAc_ac_c*, char const*, u8);
int isMapToolCamera(u8, s32);
int order(s16);
int startCheck(s16);
int startCheckOld(char const*);
s16 getEventIdx(char const* eventName, u8 mapToolID, s32 roomNo);
s16 getEventIdx(fopAc_ac_c* pActor, u8 mapToolID);
s16 getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 mapToolID);
int isMapToolCamera(u8 mapToolID, s32 roomNo);
int order(s16 eventCompositId);
int startCheck(s16 eventCompositId);
int startCheckOld(char const* name);
int endCheck(s16);
int endCheckOld(char const*);
int getMyStaffId(char const*, fopAc_ac_c*, int);
int getIsAddvance(int);
int getMyActIdx(int, char const* const*, int, int, int);
char* getMyNowCutName(int);
dEvDtData_c* getMyDataP(int, char const*, int);
void* getMySubstanceP(int, char const*, int);
int getMySubstanceNum(int, char const*);
void cutEnd(int);
int getEventPrio(fopAc_ac_c*, s16);
void issueStaff(char const*);
void cancelStaff(char const*);
void setGoal(cXyz*);
int endCheckOld(char const* name);
int getMyStaffId(char const* staffName, fopAc_ac_c* pActor, int tagId);
int getIsAddvance(int staffIdx);
int getMyActIdx(int staffIdx, char const* const* param_1, int param_2, int param_3,
int param_4);
char* getMyNowCutName(int cutIndex);
dEvDtData_c* getMyDataP(int index, char const* name, int type);
void* getMySubstanceP(int index, char const* name, int type);
int getMySubstanceNum(int index, char const* name);
void cutEnd(int cutIndex);
int getEventPrio(fopAc_ac_c* pActor, s16 eventCompositId);
void issueStaff(char const* name);
void cancelStaff(char const* name);
void setGoal(cXyz* p_goal);
cXyz* getGoal();
const char* getRunEventName();
fopAc_ac_c* specialCast_Shutter(s16, int);
fopAc_ac_c* specialCast(char const*, int);
fopAc_ac_c* specialCast_Shutter(s16 bsTypeId, int param_1);
fopAc_ac_c* specialCast(char const* name, int param_1);
int ChkPresentEnd();
int checkStartDemo();
@@ -71,7 +75,7 @@ public:
void setCameraPlay(int status) { mCameraPlay = status; }
dEvDtBase_c& getBase() { return mEventList[mCurrentEventType]; }
void setFlag(int flag) { mFlags.flagSet(flag); }
bool dataLoaded() { return mDataLoaded; }
bool dataLoaded() { return mDataLoaded; }
int flagCheck(int flag) { return mFlags.flagCheck(flag); }
static int getIndexCompositId(s16 param_0) { return param_0 != -1 ? (u8)param_0 : -1; }
+59 -17
View File
@@ -12,28 +12,49 @@ public:
/* 0x02 */ u8 unk2;
/* 0x03 */ u8 unk3;
/* 0x04 */ u16* unk4;
}; // Size: 0x8
struct poly_class {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x04 */ u16* field_0x4;
}; // Size: 0x8
struct group_class {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u8 field_0x2;
/* 0x03 */ u8 field_0x3;
/* 0x04 */ u8 field_0x4;
/* 0x08 */ dDrawPath_c::line_class* mpLine;
/* 0x0C */ u8 field_0xc[4];
/* 0x10 */ dDrawPath_c::poly_class* mpPoly;
}; // Size: 0x14
struct floor_class {
/* 0x0 */ s8 field_0x0;
/* 0x1 */ u8 field_0x1;
/* 0x4 */ dDrawPath_c::group_class* mpGroup;
}; // Size: 0x8
struct room_class {
/* 0x0 */ u8 field_0x0;
/* 0x4 */ dDrawPath_c::floor_class* mpFloor;
/* 0x8 */ void* field_0x8;
};
struct poly_class {};
struct group_class {};
struct floor_class {};
struct room_class {};
/* 8003CB00 */ void rendering(dDrawPath_c::group_class const*);
/* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*);
/* 8002AD3C */ virtual ~dDrawPath_c();
/* 8002ABF0 */ virtual bool isDrawType(int);
virtual void getColor(int) = 0;
/* 8002AD84 */ virtual void getLineColor(int, int);
virtual void getLineWidth(int) = 0;
virtual void isSwitch(dDrawPath_c::group_class const*) = 0;
virtual void isRenderingFloor(int) = 0;
virtual void getFirstRoomPointer() = 0;
virtual void getNextRoomPointer() = 0;
virtual GXColor* getColor(int) = 0;
/* 8002AD84 */ virtual GXColor* getLineColor(int, int);
virtual int getLineWidth(int) = 0;
virtual bool isSwitch(dDrawPath_c::group_class const*) = 0;
virtual bool isRenderingFloor(int) = 0;
virtual room_class* getFirstRoomPointer() = 0;
virtual room_class* getNextRoomPointer() = 0;
/* 8003CCC4 */ virtual void drawPath();
/* 8003C94C */ virtual void rendering(dDrawPath_c::line_class const*);
/* 8003CA40 */ virtual void rendering(dDrawPath_c::poly_class const*);
@@ -55,7 +76,7 @@ public:
virtual void afterDrawPath() = 0;
virtual void preDrawPath() = 0;
virtual void postDrawPath() = 0;
virtual void isDrawPath() = 0;
virtual bool isDrawPath() = 0;
virtual void preRenderingMap() = 0;
virtual void postRenderingMap() = 0;
virtual GXColor* getBackColor() const = 0;
@@ -75,7 +96,7 @@ public:
/* 8003D6B8 */ virtual s32 getDecorationLineWidth(int);
private:
/* 0x04 */ int field_0x4;
/* 0x04 */ void* field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
@@ -87,4 +108,25 @@ private:
/* 0x22 */ u16 field_0x22;
}; // Size: 0x24
struct dMpath_n {
class dTexObjAggregate_c {
public:
/* 8003C85C */ void create();
/* 8003C8F4 */ void remove();
/* 8003D740 */ ~dTexObjAggregate_c() { remove(); };
dTexObjAggregate_c() {
for (int i = 0; i < 7; i++) {
mp_texObj[i] = NULL;
}
}
/* 0x0 */ GXTexObj* mp_texObj[7];
};
static dTexObjAggregate_c m_texObjAgg;
};
STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c) == 28);
#endif /* D_MAP_D_MAP_PATH_H */
+5 -5
View File
@@ -56,13 +56,13 @@ public:
/* 8003FE18 */ virtual void draw();
/* 8002B150 */ virtual ~renderingDAmap_c();
/* 8003FD9C */ virtual void isSwitch(dDrawPath_c::group_class const*);
/* 8003FE54 */ virtual void isRenderingFloor(int);
/* 80040134 */ virtual void getFirstRoomPointer();
/* 800401E8 */ virtual void getNextRoomPointer();
/* 8003FD9C */ virtual bool isSwitch(dDrawPath_c::group_class const*);
/* 8003FE54 */ virtual bool isRenderingFloor(int);
/* 80040134 */ virtual dDrawPath_c::room_class* getFirstRoomPointer();
/* 800401E8 */ virtual dDrawPath_c::room_class* getNextRoomPointer();
/* 8003FF14 */ virtual void preDrawPath();
/* 8003FFC4 */ virtual void postDrawPath();
/* 800402C0 */ virtual void isDrawPath();
/* 800402C0 */ virtual bool isDrawPath();
/* 8003FE4C */ virtual GXColor* getBackColor() const;
/* 800402E0 */ virtual bool getFirstDrawLayerNo();
/* 800402E8 */ virtual void getNextDrawLayerNo(int);
+5 -5
View File
@@ -58,18 +58,18 @@ public:
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0);
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), 0);
i_GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), 0);
GXTexCoord2s8(0, 0);
GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY(), 0);
i_GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY(), 0);
GXTexCoord2s8(1, 0);
GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY(), 0);
i_GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY(), 0);
GXTexCoord2s8(1, 1);
GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY(), 0);
i_GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY(), 0);
GXTexCoord2s8(0, 1);
GXEnd();
i_GXEnd();
}
} */
/* 801FE2E8 */ virtual ~dDlst_MENU_CAPTURE_c();
+132
View File
@@ -9,6 +9,138 @@
#include "d/pane/d_pane_class.h"
#include "dolphin/types.h"
enum dMeter2Draw_actionID {
/* 0x00 */ ACTION_STR_NONE,
/* 0x01 */ ACTION_STR_LET_GO,
/* 0x02 */ ACTION_STR_PEEK,
/* 0x03 */ ACTION_STR_ATTACK,
/* 0x04 */ ACTION_STR_PUT_AWAY,
/* 0x05 */ ACTION_STR_HOWL,
/* 0x06 */ ACTION_STR_OPEN,
/* 0x07 */ ACTION_STR_ENTER,
/* 0x08 */ ACTION_STR_CHECK,
/* 0x09 */ ACTION_STR_DASH,
/* 0x0A */ ACTION_STR_CROUCH,
/* 0x0B */ ACTION_STR_DEFEND,
/* 0x0C */ ACTION_STR_PICK_UP,
/* 0x0D */ ACTION_STR_DIG,
/* 0x0E */ ACTION_STR_EAT,
/* 0x0F */ ACTION_STR_SELECT,
/* 0x10 */ ACTION_STR_LOCK,
/* 0x11 */ ACTION_STR_SWITCH,
/* 0x12 */ ACTION_STR_BACK,
/* 0x13 */ ACTION_STR_THROW,
/* 0x14 */ ACTION_STR_PLACE,
/* 0x15 */ ACTION_STR_GRAB,
/* 0x16 */ ACTION_STR_GET_OFF,
/* 0x17 */ ACTION_STR_GET_ON,
/* 0x18 */ ACTION_STR_PADDLE,
/* 0x19 */ ACTION_STR_JUMP,
/* 0x1A */ ACTION_STR_READ,
/* 0x1B */ ACTION_STR_LOOK,
/* 0x1C */ ACTION_STR_SPEAK,
/* 0x1D */ ACTION_STR_LIFT,
/* 0x1E */ ACTION_STR_SWING,
/* 0x1F */ ACTION_STR_PICK_UP2,
/* 0x20 */ ACTION_STR_GET_ON2,
/* 0x21 */ ACTION_STR_GET_OFF2,
/* 0x22 */ ACTION_STR_CONFIRM,
/* 0x23 */ ACTION_STR_NEXT,
/* 0x24 */ ACTION_STR_INFO,
/* 0x25 */ ACTION_STR_NONE2,
/* 0x26 */ ACTION_STR_NONE3,
/* 0x27 */ ACTION_STR_NONE4,
/* 0x28 */ ACTION_STR_WHOOP,
/* 0x29 */ ACTION_STR_ZOOM,
/* 0x2A */ ACTION_STR_QUIT,
/* 0x2B */ ACTION_STR_PICK,
/* 0x2C */ ACTION_STR_BLOW,
/* 0x2D */ ACTION_STR_DODGE,
/* 0x2E */ ACTION_STR_CUT,
/* 0x2F */ ACTION_STR_HINT,
/* 0x30 */ ACTION_STR_FINISH,
/* 0x31 */ ACTION_STR_SET_FREE,
/* 0x32 */ ACTION_STR_DISMOUNT,
/* 0x33 */ ACTION_STR_DROP_DOWN,
/* 0x34 */ ACTION_STR_PICK_UP3,
/* 0x35 */ ACTION_STR_TAKE,
/* 0x36 */ ACTION_STR_HURRY,
/* 0x37 */ ACTION_STR_PULL_DOWN,
/* 0x38 */ ACTION_STR_PET,
/* 0x39 */ ACTION_STR_PICK_UP4,
/* 0x3A */ ACTION_STR_SHIELD_ATTACK,
/* 0x3B */ ACTION_STR_LISTEN,
/* 0x3C */ ACTION_STR_DRINK,
/* 0x3D */ ACTION_STR_ZOOM2,
/* 0x3E */ ACTION_STR_COVER,
/* 0x3F */ ACTION_STR_PUSH,
/* 0x40 */ ACTION_STR_RESIST,
/* 0x41 */ ACTION_STR_DIVE,
/* 0x42 */ ACTION_STR_PUT_TOGETHER,
/* 0x43 */ ACTION_STR_SKIP,
/* 0x44 */ ACTION_STR_SLAP,
/* 0x45 */ ACTION_STR_SNIFF,
/* 0x46 */ ACTION_STR_BITE,
/* 0x47 */ ACTION_STR_ROLL,
/* 0x48 */ ACTION_STR_FASTEN,
/* 0x49 */ ACTION_STR_GET_DOWN,
/* 0x4A */ ACTION_STR_HAWKEYE_OFF,
/* 0x4B */ ACTION_STR_DASH2,
/* 0x4C */ ACTION_STR_SWIM,
/* 0x4D */ ACTION_STR_CANT_SKIP,
/* 0x4E */ ACTION_STR_SENSE,
/* 0x4F */ ACTION_STR_NONE5,
/* 0x50 */ ACTION_STR_THROW2,
/* 0x51 */ ACTION_STR_LAND,
/* 0x52 */ ACTION_STR_HOOK,
/* 0x53 */ ACTION_STR_CHANGE_LOCKS,
/* 0x54 */ ACTION_STR_EQUIP,
/* 0x55 */ ACTION_STR_PULL,
/* 0x56 */ ACTION_STR_REEL,
/* 0x57 */ ACTION_STR_EXTRACT,
/* 0x58 */ ACTION_STR_SPIN,
/* 0x59 */ ACTION_STR_SWITCH2,
/* 0x5A */ ACTION_STR_SPIN_ATTACK,
/* 0x5B */ ACTION_STR_REEL_FAST,
/* 0x5C */ ACTION_STR_RAISE,
/* 0x5D */ ACTION_STR_RELEASE,
/* 0x5E */ ACTION_STR_CHECK2,
/* 0x5F */ ACTION_STR_MAP,
/* 0x60 */ ACTION_STR_ITEMS,
/* 0x61 */ ACTION_STR_INSERT,
/* 0x62 */ ACTION_STR_DRAW,
/* 0x63 */ ACTION_STR_STRIKE,
/* 0x64 */ ACTION_STR_BLANK,
/* 0x65 */ ACTION_STR_JUMP2,
/* 0x66 */ ACTION_STR_POINT_WII_REMOTE,
/* 0x67 */ ACTION_STR_FLIP,
/* 0x68 */ ACTION_STR_CHANGE_VIEW,
/* 0x69 */ ACTION_STR_ZOOM3,
/* 0x6A */ ACTION_STR_BACK2,
/* 0x6B */ ACTION_STR_CHANCE,
/* 0x6C */ ACTION_STR_SCOOP,
/* 0x6D */ ACTION_STR_SURVEY,
/* 0x6E */ ACTION_STR_CANCEL,
/* 0x6F */ ACTION_STR_SEIZE,
/* 0x70 */ ACTION_STR_COLLECTION,
/* 0x71 */ ACTION_STR_AREA_MAP,
/* 0x72 */ ACTION_STR_ACTION,
/* 0x73 */ ACTION_STR_SET_HOOK,
/* 0x74 */ ACTION_STR_TILT,
/* 0x75 */ ACTION_STR_THRUST,
/* 0x76 */ ACTION_STR_ROTATE,
/* 0x77 */ ACTION_STR_HELM_SPLITTER,
/* 0x78 */ ACTION_STR_MOVE,
/* 0x79 */ ACTION_STR_ROLL2,
/* 0x7A */ ACTION_STR_HOLD_ON,
/* 0x7B */ ACTION_STR_BITE2,
/* 0x7C */ ACTION_STR_HELP,
/* 0x7D */ ACTION_STR_ZOOM_IN,
/* 0x7E */ ACTION_STR_ZOOM_OUT,
/* 0x7F */ ACTION_STR_MOVE_CLOSER_TV,
/* 0x80 */ ACTION_STR_CHECK3,
};
class dKantera_icon_c;
class dMeter2Draw_c : public dDlst_base_c {
+4
View File
@@ -491,6 +491,10 @@ inline s16 dMeter2Info_getMsgKeyWaitTimer() {
return g_meter2_info.getMsgKeyWaitTimer();
}
inline void dMeter2Info_onDirectUseItem(int param_0) {
g_meter2_info.onDirectUseItem(param_0);
}
char* dMeter2Info_getNumberTextureName(int pIndex);
void dMeter2Info_recieveLetter();
u8 dMeter2Info_getNewLetterNum();
+4 -4
View File
@@ -19,8 +19,8 @@ public:
/* 800284D0 */ virtual void draw();
/* 8002ADB0 */ virtual ~renderingAmap_c();
/* 80028EE4 */ virtual void getLineColor(int, int);
/* 80028DD4 */ virtual void getLineWidth(int);
/* 80028EE4 */ virtual GXColor* getLineColor(int, int);
/* 80028DD4 */ virtual int getLineWidth(int);
/* 80028A10 */ virtual void drawPath();
/* 80028A30 */ virtual void rendering(dDrawPath_c::line_class const*);
/* 80028B3C */ virtual void rendering(dDrawPath_c::poly_class const*);
@@ -68,8 +68,8 @@ public:
/* 8002AB54 */ void _draw();
/* 8002AF20 */ virtual ~dMap_c();
/* 800296EC */ virtual void isDrawType(int);
/* 80028DF4 */ virtual void getColor(int);
/* 800296EC */ virtual bool isDrawType(int);
/* 80028DF4 */ virtual GXColor* getColor(int);
/* 800296F8 */ virtual void isRendAllRoom() const;
/* 8002A254 */ virtual void getRoomNoSingle();
/* 8002A1DC */ virtual void isDrawRoom(int, int) const;
+5 -1
View File
@@ -136,7 +136,7 @@ public:
/* 802383A4 */ void isMouthCheck();
/* 802383D0 */ static u32 getMessageID();
/* 802383E4 */ void getSmellTypeMessageID();
/* 80238410 */ void setSmellType(u8);
/* 80238410 */ static void setSmellType(u8);
/* 80238440 */ void getSelectCursorPos();
/* 8023846C */ static void setSelectCursorPos(u8);
/* 8023849C */ void setPortalMessageID(u16);
@@ -299,6 +299,10 @@ inline void dMsgObject_endFlowGroup() {
dMsgObject_c::endFlowGroup();
}
inline void dMsgObject_setSmellType(u8 type) {
dMsgObject_c::setSmellType(type);
}
class dMsgObject_HowlHIO_c {
public: