mirror of
https://github.com/zeldaret/tp
synced 2026-07-12 07:37:59 -04:00
move d_a_itembase_static / d_a_item_static / Z2StatusMgr (#123)
* move d_a_itembase_static * move d_a_item_static * moved Z2StatusMgr * clang * fixes * clang? * move d_save * move d_meter2_info * some d_meter2_info fixes * move most d_a_player * move d_bg_s stuff * move c_cc_s stuff * move d_cc stuff * move d_attention / d_event / d_stage
This commit is contained in:
@@ -3,4 +3,35 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class J3DFrameCtrl {
|
||||
public:
|
||||
void init(s16);
|
||||
void checkPass(f32);
|
||||
void update();
|
||||
~J3DFrameCtrl();
|
||||
|
||||
float getRate() { return mRate; }
|
||||
void setAttribute(u8 pAttr) { mAttribute = pAttr; }
|
||||
void setEnd(s16 pEnd) { mEnd = pEnd; }
|
||||
void setRate(float pRate) { mRate = pRate; }
|
||||
void setStart(s16 pStart) {
|
||||
mStart = pStart;
|
||||
mFrame = pStart;
|
||||
}
|
||||
void setFrame(float pFrame) { mFrame = pFrame; }
|
||||
void setLoop(s16 pLoop) { mLoop = pLoop; }
|
||||
|
||||
private:
|
||||
void* vtable;
|
||||
u8 mAttribute;
|
||||
bool mState;
|
||||
s16 mStart;
|
||||
s16 mEnd;
|
||||
s16 mLoop;
|
||||
float mRate;
|
||||
float mFrame;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* J3DANIMATION_H */
|
||||
|
||||
@@ -1,6 +1,24 @@
|
||||
#ifndef JUTFONT_H
|
||||
#define JUTFONT_H
|
||||
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JUtility {
|
||||
|
||||
struct TColor : _GXColor {
|
||||
TColor() { set(-1); }
|
||||
|
||||
TColor(u32 raw) { *(u32*)&r = raw; }
|
||||
|
||||
void set(u32 col) { *(u32*)&r = col; }
|
||||
|
||||
u32 toUInt32() const { return *(u32*)&r; }
|
||||
|
||||
operator u32() const { return toUInt32(); }
|
||||
void operator=(const TColor& rhs) { ((_GXColor*)this)->operator=(rhs); }
|
||||
};
|
||||
|
||||
} // namespace JUtility
|
||||
|
||||
#endif /* JUTFONT_H */
|
||||
|
||||
@@ -93,6 +93,7 @@ public:
|
||||
cSGlobe(float, short, short);
|
||||
cSGlobe(float, const cSAngle&, const cSAngle&);
|
||||
cSGlobe(const cXyz&);
|
||||
~cSGlobe();
|
||||
cSGlobe& Formal(void);
|
||||
void Val(const cSGlobe&);
|
||||
void Val(float, short, short);
|
||||
|
||||
@@ -1,6 +1,286 @@
|
||||
#ifndef C_CC_D_H
|
||||
#define C_CC_D_H
|
||||
|
||||
#include "SSystem/SComponent/c_m3d_g_aab.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_cps.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_cyl.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_sph.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_tri.h"
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class cCcD_ShapeAttr {
|
||||
public:
|
||||
struct Shape {};
|
||||
|
||||
/* 8008556C */ virtual ~cCcD_ShapeAttr();
|
||||
/* 802649D8 */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 802649E0 */ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80084E38 */ virtual void GetCoCP() const;
|
||||
/* 80084E2C */ virtual void GetCoCP();
|
||||
/* 80263A64 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
|
||||
static f32 m_virtual_center[3];
|
||||
|
||||
private:
|
||||
/* 0x00 */ cM3dGAab mAab;
|
||||
};
|
||||
|
||||
class cCcD_SphAttr;
|
||||
class cCcD_CylAttr;
|
||||
class cCcD_TriAttr;
|
||||
class cCcD_PntAttr;
|
||||
class cCcD_AabAttr;
|
||||
|
||||
class cCcD_CpsAttr : public cCcD_ShapeAttr {
|
||||
public:
|
||||
/* 80085450 */ virtual ~cCcD_CpsAttr();
|
||||
/* 80263DC0 */ virtual void CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 80263E04 */ virtual void CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084FE4 */ virtual void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 80084FDC */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80084FD4 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80263D38 */ virtual void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 80263D7C */ virtual void CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80263F24 */ virtual void CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80085024 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 8008502C */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 8008501C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80263ED4 */ virtual void CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80263F74 */ virtual void CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 80085034 */ virtual void CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80263FC4 */ virtual void CalcAabBox();
|
||||
/* 80264014 */ virtual void GetNVec(cXyz const&, cXyz*) const;
|
||||
|
||||
private:
|
||||
/* 0x20 */ cM3dGCps mCps;
|
||||
};
|
||||
|
||||
class cCcD_SphAttr : public cCcD_ShapeAttr {
|
||||
public:
|
||||
/* 8008721C */ virtual ~cCcD_SphAttr();
|
||||
/* 80264538 */ virtual void CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 802645C0 */ virtual void CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084B4C */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80084B54 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80084B5C */ virtual void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 802644EC */ virtual void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 8026457C */ virtual void CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 80264688 */ virtual void CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80084B94 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80084B9C */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 80084BA4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 80084BAC */ virtual void CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80264644 */ virtual void CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 802645F8 */ virtual void CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80084B44 */ virtual void GetCoCP() const;
|
||||
/* 80037A54 */ virtual void GetCoCP();
|
||||
/* 802646E0 */ virtual void CalcAabBox();
|
||||
/* 8026476C */ virtual void GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 80264808 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
|
||||
private:
|
||||
/* 0x20 */ cM3dGSph mSph;
|
||||
}; // Size = 0x30
|
||||
|
||||
class cCcD_CylAttr : public cCcD_ShapeAttr {
|
||||
public:
|
||||
/* 800854E0 */ virtual ~cCcD_CylAttr();
|
||||
/* 8026420C */ virtual void CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 802641C8 */ virtual void CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80084CC8 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80264250 */ virtual void CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084CD0 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80084CD8 */ virtual void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 8026417C */ virtual void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 80264288 */ virtual void CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80264310 */ virtual void CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80084D10 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80084D18 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 80084D20 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 80084D28 */ virtual void CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 802642CC */ virtual void CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 80084CC0 */ virtual void GetCoCP() const;
|
||||
/* 80037A4C */ virtual void GetCoCP();
|
||||
/* 80264368 */ virtual void CalcAabBox();
|
||||
/* 802643D0 */ virtual void GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 802644B8 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
|
||||
private:
|
||||
/* 0x20 */ cM3dGCyl mCyl;
|
||||
}; // Size = 0x34
|
||||
|
||||
class cCcD_TriAttr {
|
||||
/* 80084E44 */ bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80263A88 */ void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 80263BCC */ void CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084E4C */ bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80263B90 */ void CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 80084E54 */ void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 80263B58 */ void CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80084E9C */ bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80084EBC */ void CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80084EA4 */ bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 80084E8C */ bool CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 80084EAC */ bool CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80084E94 */ bool CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80084EB4 */ bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 80263C04 */ void CalcAabBox();
|
||||
/* 80263C9C */ void GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 80264938 */ ~cCcD_TriAttr();
|
||||
};
|
||||
|
||||
class cCcD_DivideInfo {
|
||||
public:
|
||||
/* 80263358 */ void Set(u32, u32, u32);
|
||||
/* 80263368 */ void Chk(cCcD_DivideInfo const&) const;
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 field_0x0;
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x0C */ void* vtable;
|
||||
};
|
||||
|
||||
class cCcD_DivideArea {
|
||||
public:
|
||||
/* 802633A8 */ void SetArea(cM3dGAab const&);
|
||||
/* 802634D4 */ void CalcDivideInfo(cCcD_DivideInfo*, cM3dGAab const&, u32);
|
||||
/* 802636A0 */ void CalcDivideInfoOverArea(cCcD_DivideInfo*, cM3dGAab const&);
|
||||
|
||||
private:
|
||||
cM3dGAab mAab;
|
||||
void* vtable;
|
||||
};
|
||||
|
||||
struct cCcD_SrcObjTg {};
|
||||
|
||||
struct cCcD_SrcObjHitInf {};
|
||||
|
||||
struct cCcD_SrcObjAt {};
|
||||
|
||||
struct cCcD_SrcObj {};
|
||||
|
||||
class cCcD_GStts {
|
||||
public:
|
||||
/* 800837B0 */ ~cCcD_GStts();
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
}; // Size = 0x4
|
||||
|
||||
class cCcD_Stts {
|
||||
public:
|
||||
/* 801410A4 */ ~cCcD_Stts();
|
||||
/* 80263894 */ bool GetGStts() const;
|
||||
/* 8026389C */ bool GetGStts();
|
||||
/* 802638A4 */ void Init(int, int, void*, unsigned int);
|
||||
/* 80263904 */ void Ct();
|
||||
/* 80263934 */ void PlusCcMove(f32, f32, f32);
|
||||
/* 8026395C */ void ClrCcMove();
|
||||
/* 80263970 */ void PlusDmg(int);
|
||||
/* 80263984 */ void GetWeightF() const;
|
||||
/* 802649E8 */ void ClrAt();
|
||||
/* 802649EC */ void ClrTg();
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz field_0x00;
|
||||
/* 0x0C */ fopAc_ac_c* mActor;
|
||||
/* 0x10 */ int mApid;
|
||||
/* 0x14 */ u8 mWeight;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
/* 0x16 */ u8 mTg;
|
||||
/* 0x18 */ void* vtable;
|
||||
}; // Size = 0x1C
|
||||
|
||||
class cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 8008409C */ ~cCcD_ObjCommonBase();
|
||||
/* 802639B0 */ void ct();
|
||||
|
||||
private:
|
||||
/* 0x00 */ int mSPrm;
|
||||
/* 0x04 */ int mRPrm;
|
||||
/* 0x08 */ void* mHitObj; // cCcD_Obj* type
|
||||
/* 0x0C */ void* vtable;
|
||||
};
|
||||
|
||||
class cCcD_Obj;
|
||||
#pragma pack(push, 1)
|
||||
class cCcD_ObjAt : cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 80084040 */ ~cCcD_ObjAt();
|
||||
/* 8026483C */ void SetHit(cCcD_Obj*);
|
||||
/* 8026484C */ void Set(cCcD_SrcObjAt const&);
|
||||
/* 80264868 */ void ClrHit();
|
||||
|
||||
private:
|
||||
/* 0x10 */ int mType;
|
||||
/* 0x14 */ u8 mAtp;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class cCcD_ObjTg : cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 80083FE4 */ ~cCcD_ObjTg();
|
||||
/* 80264880 */ void Set(cCcD_SrcObjTg const&);
|
||||
/* 80264894 */ void SetGrp(u32);
|
||||
/* 802648B0 */ void ClrHit();
|
||||
/* 802648C8 */ void SetHit(cCcD_Obj*);
|
||||
|
||||
private:
|
||||
/* 0x10 */ int mType;
|
||||
};
|
||||
|
||||
class cCcD_ObjCo : cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 80083F88 */ ~cCcD_ObjCo();
|
||||
/* 802648D8 */ void SetHit(cCcD_Obj*);
|
||||
/* 802648E8 */ void ClrHit();
|
||||
/* 80264900 */ void SetIGrp(u32);
|
||||
/* 8026491C */ void SetVsGrp(u32);
|
||||
};
|
||||
|
||||
class cCcD_ObjHitInf {
|
||||
public:
|
||||
/* 80083EC8 */ ~cCcD_ObjHitInf();
|
||||
/* 802639C4 */ void Set(cCcD_SrcObjHitInf const&);
|
||||
|
||||
private:
|
||||
/* 0x000 */ cCcD_ObjAt mObjAt;
|
||||
/* 0x015 */ u8 field_0x15[3]; // padding?
|
||||
/* 0x018 */ cCcD_ObjTg mObjTg;
|
||||
/* 0x02C */ cCcD_ObjCo mObjCo;
|
||||
/* 0x03C */ void* vtable;
|
||||
}; // Size = 0x40
|
||||
|
||||
class cCcD_Obj : cCcD_ObjHitInf {
|
||||
public:
|
||||
/* 80083DE0 */ ~cCcD_Obj();
|
||||
/* 800851A4 */ bool GetGObjInf() const;
|
||||
/* 800847C8 */ bool GetGObjInf();
|
||||
/* 80084BE8 */ bool GetShapeAttr() const;
|
||||
/* 80085130 */ bool GetShapeAttr();
|
||||
/* 80084BF0 */ void Draw(_GXColor const&);
|
||||
/* 80263A10 */ void ct();
|
||||
/* 80263A1C */ void Set(cCcD_SrcObj const&);
|
||||
void GetAc();
|
||||
|
||||
private:
|
||||
/* 0x040 */ int field_0x40;
|
||||
/* 0x044 */ cCcD_Stts* mStts;
|
||||
/* 0x048 */ cCcD_DivideInfo mDivideInfo;
|
||||
}; // Size = 0x58
|
||||
|
||||
class cCcD_GObjInf : cCcD_Obj {
|
||||
public:
|
||||
/* 80083CE8 */ ~cCcD_GObjInf();
|
||||
/* 800851A0 */ void GetGObjInf();
|
||||
/* 80084BE4 */ void GetGObjInf() const;
|
||||
/* 80085138 */ void ClrAtHit();
|
||||
/* 80085158 */ void ClrTgHit();
|
||||
/* 8008517C */ void ClrCoHit();
|
||||
};
|
||||
|
||||
#endif /* C_CC_D_H */
|
||||
|
||||
@@ -1,6 +1,47 @@
|
||||
#ifndef C_CC_S_H
|
||||
#define C_CC_S_H
|
||||
|
||||
#include "SSystem/SComponent/c_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class cCcS {
|
||||
public:
|
||||
/* 80030BDC */ ~cCcS();
|
||||
/* 80264A6C */ cCcS();
|
||||
/* 80264A94 */ void Ct();
|
||||
/* 80264B60 */ void Dt();
|
||||
/* 80264B80 */ void GetWt(u8) const;
|
||||
/* 80264BA8 */ void Set(cCcD_Obj*);
|
||||
/* 80264C5C */ void ClrCoHitInf();
|
||||
/* 80264CF0 */ void ClrTgHitInf();
|
||||
/* 80264D90 */ void ClrAtHitInf();
|
||||
/* 80264E2C */ void ChkNoHitAtTg(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80264F40 */ void ChkAtTg();
|
||||
/* 8026515C */ void ChkNoHitCo(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80265230 */ void ChkCo();
|
||||
/* 802653A0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
|
||||
/* 802653C8 */ void SetAtTgCommonHitInf(cCcD_Obj*, cCcD_Obj*, cXyz*);
|
||||
/* 802655E4 */ void SetCoCommonHitInf(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
|
||||
/* 80265750 */ void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
|
||||
/* 80265BB4 */ void CalcArea();
|
||||
/* 80265CCC */ void Move();
|
||||
/* 80265D30 */ void DrawClear();
|
||||
/* 80265DF4 */ void SetCoGCorrectProc(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80265DF8 */ void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
|
||||
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80265DFC */ void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*,
|
||||
cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*,
|
||||
cCcD_GStts*, cXyz*);
|
||||
/* 80265E00 */ bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*,
|
||||
cCcD_GStts*);
|
||||
/* 80265E08 */ bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*,
|
||||
cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80265E10 */ bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80265E18 */ void MoveAfterCheck();
|
||||
|
||||
private:
|
||||
u8 field_0x0[10260];
|
||||
cCcD_DivideArea mDivideArea;
|
||||
};
|
||||
|
||||
#endif /* C_CC_S_H */
|
||||
|
||||
@@ -48,4 +48,4 @@ void MtxPosition(cXyz*, cXyz*);
|
||||
void MtxPush(void);
|
||||
Mtx* MtxPull(void);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -21,12 +21,6 @@ public:
|
||||
void Set(const cXyz&, const cXyz&, f32);
|
||||
void Set(const cM3dGCpsS&);
|
||||
void SetCps(const cM3dGCps&);
|
||||
virtual void unk1(void) = 0;
|
||||
virtual void unk2(void) = 0;
|
||||
virtual void unk3(void) = 0;
|
||||
virtual void unk4(void) = 0;
|
||||
virtual void unk5(void) = 0;
|
||||
virtual void unk6(void) = 0;
|
||||
};
|
||||
|
||||
#endif /* C_M3D_G_CPS_H */
|
||||
|
||||
@@ -1,6 +1,45 @@
|
||||
#ifndef Z2STATUSMGR_H
|
||||
#define Z2STATUSMGR_H
|
||||
|
||||
#include "dolphin/mtx/vec.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct Z2StatusMgr {
|
||||
Z2StatusMgr();
|
||||
void heartGaugeOn();
|
||||
void processHeartGaugeSound();
|
||||
void talkIn();
|
||||
void talkOut();
|
||||
void menuIn();
|
||||
void menuOut();
|
||||
bool isMovieDemo();
|
||||
void setDemoName(char*);
|
||||
void processTime();
|
||||
bool checkDayTime();
|
||||
void setEventBit(void*);
|
||||
void setCameraPolygonPos(Vec*);
|
||||
void setCameraGroupInfo(u8);
|
||||
void setCameraInWaterDepth(float);
|
||||
|
||||
//! @todo there are a number of inlines only called from rels: see CHN_debug
|
||||
|
||||
u8 mHour;
|
||||
u8 mMinute;
|
||||
u8 mWeekday;
|
||||
u8 field_0x03;
|
||||
s16 mTime;
|
||||
u8 field_0x6[2];
|
||||
void* mEventBit;
|
||||
bool mIsMenuIn;
|
||||
u8 field_0xd[3];
|
||||
u32 mCameraMapInfo;
|
||||
u32 field_0x14;
|
||||
float mUnderwaterDepth;
|
||||
float mCameraInWaterDepthRatio;
|
||||
Vec mPolygonPosition;
|
||||
u8 mDemoStatus;
|
||||
u8 mHeartGaugeOn;
|
||||
u8 padding[2];
|
||||
};
|
||||
|
||||
#endif /* Z2STATUSMGR_H */
|
||||
|
||||
@@ -1,6 +1,22 @@
|
||||
#ifndef D_A_D_A_ITEM_STATIC_H
|
||||
#define D_A_D_A_ITEM_STATIC_H
|
||||
|
||||
#include "SSystem/SComponent/c_lib.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class daItem_c {
|
||||
public:
|
||||
u32 startCtrl();
|
||||
u32 startControl();
|
||||
u32 endControl();
|
||||
|
||||
void setFlag(u8 pFlag) { cLib_onBit(unk2376, pFlag); }
|
||||
|
||||
private:
|
||||
u8 unk0[0x948];
|
||||
u8 unk2376;
|
||||
u8 unk2377;
|
||||
u8 unk2378;
|
||||
};
|
||||
|
||||
#endif /* D_A_D_A_ITEM_STATIC_H */
|
||||
|
||||
@@ -3,4 +3,42 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class daItemBase_c {
|
||||
public:
|
||||
u8 getItemNo();
|
||||
void hide();
|
||||
void show();
|
||||
void changeDraw();
|
||||
u8 chkDraw();
|
||||
void dead();
|
||||
u8 chkDead();
|
||||
void CreateItemHeap(char const*, s16, s16, s16, s16, s16, s16, s16);
|
||||
void DeleteBase(char const*);
|
||||
bool clothCreate();
|
||||
bool __CreateHeap();
|
||||
void DrawBase();
|
||||
void RotateYBase();
|
||||
void setListStart();
|
||||
void setListEnd();
|
||||
void settingBeforeDraw();
|
||||
void setTevStr();
|
||||
void setShadow();
|
||||
void animEntry();
|
||||
void animPlay(f32, f32, f32, f32, f32, f32);
|
||||
void chkFlag(int);
|
||||
void getTevFrm();
|
||||
void getBtpFrm();
|
||||
void getShadowSize();
|
||||
void getCollisionH();
|
||||
void getCollisionR();
|
||||
void getData();
|
||||
|
||||
static u8 const m_data[56];
|
||||
|
||||
private:
|
||||
u8 unk0[0x92a];
|
||||
u8 mItemNo;
|
||||
u8 unk2347;
|
||||
};
|
||||
|
||||
#endif /* D_A_D_A_ITEMBASE_H */
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef D_A_D_A_ITEMBASE_STATIC_H
|
||||
#define D_A_D_A_ITEMBASE_STATIC_H
|
||||
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#endif /* D_A_D_A_ITEMBASE_STATIC_H */
|
||||
|
||||
@@ -1,6 +1,344 @@
|
||||
#ifndef D_A_D_A_PLAYER_H
|
||||
#define D_A_D_A_PLAYER_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
// todo: remove after moving JKernel
|
||||
struct JKRHeap {
|
||||
/* 802CE5CC */ void freeAll();
|
||||
};
|
||||
|
||||
class daPy_anmHeap_c {
|
||||
public:
|
||||
enum daAlinkHEAP_TYPE {};
|
||||
|
||||
daPy_anmHeap_c(u32);
|
||||
~daPy_anmHeap_c();
|
||||
void initData();
|
||||
void mallocBuffer();
|
||||
void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE);
|
||||
void loadData(u16);
|
||||
void loadDataIdx(u16);
|
||||
void loadDataPriIdx(u16);
|
||||
void loadDataDemoRID(u16, u16);
|
||||
void setAnimeHeap();
|
||||
|
||||
u16 getIdx() const { return mIdx; }
|
||||
void resetIdx() { mIdx = 0xffff; }
|
||||
void resetPriIdx() { mPriIdx = 0xffff; }
|
||||
void resetArcNo() { mArcNo = 0xffff; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mIdx;
|
||||
/* 0x02 */ u16 mPriIdx;
|
||||
/* 0x04 */ u16 mArcNo;
|
||||
/* 0x06 */ u16 field_0x06;
|
||||
/* 0x08 */ int mBufferSize;
|
||||
/* 0x0C */ void* mBuffer;
|
||||
/* 0x10 */ JKRHeap* mAnimeHeap;
|
||||
}; // Size = 0x14
|
||||
|
||||
class daPy_actorKeep_c {
|
||||
public:
|
||||
daPy_actorKeep_c(void);
|
||||
void setActor(void);
|
||||
void setData(fopAc_ac_c*);
|
||||
void clearData(void);
|
||||
|
||||
u32 getID(void) const { return mID; }
|
||||
void setID(u32 id) { mID = id; }
|
||||
fopAc_ac_c* getActor(void) const { return mActor; }
|
||||
|
||||
private:
|
||||
u32 mID;
|
||||
fopAc_ac_c* mActor;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class daPy_frameCtrl_c : public J3DFrameCtrl {
|
||||
public:
|
||||
bool checkAnmEnd(void);
|
||||
void updateFrame(void);
|
||||
void setFrameCtrl(u8, short, short, float, float);
|
||||
|
||||
u16 getEndFlg() { return mEndFlg; }
|
||||
u16 getNowSetFlg() { return mNowSetFlg; }
|
||||
void onEndFlg() { mEndFlg = 1; }
|
||||
void onNowSetFlg() { mNowSetFlg = 1; }
|
||||
void offNowSetFlg() { mNowSetFlg = 0; }
|
||||
void offEndFlg() {
|
||||
mEndFlg = 0;
|
||||
mNowSetFlg = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x14 */ u16 mEndFlg;
|
||||
/* 0x16 */ u16 mNowSetFlg;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class daPy_demo_c {
|
||||
public:
|
||||
private:
|
||||
/* 0x00 */ u16 mDemoType;
|
||||
/* 0x02 */ s16 mDemoMoveAngle;
|
||||
/* 0x04 */ s16 mTimer;
|
||||
/* 0x06 */ s16 mParam2;
|
||||
/* 0x08 */ int mParam0;
|
||||
/* 0x0C */ int mParam1;
|
||||
/* 0x10 */ int mDemoMode;
|
||||
/* 0x14 */ float mStick;
|
||||
/* 0x18 */ cXyz mDemoPos0;
|
||||
}; // Size = 0x24
|
||||
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x0538 */ u8 field_0x538[0x32];
|
||||
/* 0x056A */ u8 field_0x56a;
|
||||
/* 0x056B */ u8 field_0x56b[5];
|
||||
/* 0x0570 */ int mNoResetFlg0;
|
||||
/* 0x0574 */ int mNoResetFlg1;
|
||||
/* 0x0578 */ int mNoResetFlg2;
|
||||
/* 0x057C */ int mNoResetFlg3;
|
||||
/* 0x0580 */ int mResetFlg0;
|
||||
/* 0x0584 */ int mResetFlg1;
|
||||
/* 0x0588 */ int mEndResetFlg0;
|
||||
/* 0x058C */ int mEndResetFlg1;
|
||||
/* 0x0590 */ int mEndResetFlg2;
|
||||
/* 0x0594 */ u8 field_0x594[0x10];
|
||||
/* 0x05A4 */ cXyz mHeadTopPos;
|
||||
/* 0x05B0 */ cXyz mItemPos;
|
||||
/* 0x05BC */ cXyz mSwordTopPos;
|
||||
/* 0x05C8 */ cXyz mLeftHandPos;
|
||||
/* 0x05D4 */ cXyz mRightHandPos;
|
||||
/* 0x05E0 */ cXyz mLeftFootPosP;
|
||||
/* 0x05EC */ cXyz mRightFootPosP;
|
||||
/* 0x05F8 */ u8 field_0x5f8[0xC];
|
||||
/* 0x0604 */ daPy_demo_c mDemo;
|
||||
|
||||
public:
|
||||
enum daPy_FLG0 { EquipHeavyBoots = 0x2000000 };
|
||||
enum daPy_FLG2 {};
|
||||
enum daPy_ERFLG0 {};
|
||||
|
||||
void setParamData(int, int, int, int);
|
||||
void checkFishingRodItem(int);
|
||||
void checkBombItem(int);
|
||||
void checkBottleItem(int);
|
||||
void checkDrinkBottleItem(int);
|
||||
void checkOilBottleItem(int);
|
||||
void checkOpenBottleItem(int);
|
||||
void checkBowItem(int);
|
||||
void checkHookshotItem(int);
|
||||
void checkTradeItem(int);
|
||||
BOOL checkDungeonWarpItem(int);
|
||||
void checkMasterSwordEquip();
|
||||
void checkWoodShieldEquip();
|
||||
void getAttentionOffsetY();
|
||||
void checkNowWolfEyeUp();
|
||||
void forceRestartRoom(int, u32, int);
|
||||
void setFmChainPos(fopAc_ac_c*, cXyz*, int);
|
||||
void cancelFmChainGrab();
|
||||
void setLookPos(cXyz*);
|
||||
void setPlayerSe(u32);
|
||||
void linkGrabSubjectNoDraw(fopAc_ac_c*);
|
||||
void wolfGrabSubjectNoDraw(fopAc_ac_c*);
|
||||
void checkRoomRestartStart();
|
||||
void checkCarryStartLightBallA();
|
||||
void checkCarryStartLightBallB();
|
||||
float getSpinnerRideSpeed() const;
|
||||
void checkSpinnerReflectEffect();
|
||||
void checkBoomerangCharge();
|
||||
bool checkBoomerangChargeTime();
|
||||
void getThrowBoomerangActor();
|
||||
void cancelBoomerangLockActor(fopAc_ac_c*);
|
||||
void setPlayerDamage(int, int);
|
||||
void setMidnaMotionNum(int);
|
||||
void setMidnaFaceNum(int);
|
||||
int checkNoResetFlg0(daPy_FLG0) const;
|
||||
int checkEquipHeavyBoots() const;
|
||||
u32 checkBoarSingleBattle(void) const;
|
||||
u32 checkEndResetFlg0(daPy_ERFLG0) const;
|
||||
|
||||
virtual void unk();
|
||||
virtual bool getMidnaAtnPos(void) const;
|
||||
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
|
||||
virtual u32 getModelMtx(void);
|
||||
virtual u32 getInvMtx(void);
|
||||
virtual cXyz* getShadowTalkAtnPos(void);
|
||||
virtual float getGroundY();
|
||||
virtual u32 getLeftItemMatrix(void);
|
||||
virtual u32 getRightItemMatrix(void);
|
||||
virtual u32 getLeftHandMatrix(void);
|
||||
virtual u32 getRightHandMatrix(void);
|
||||
virtual u32 getLinkBackBone1Matrix(void);
|
||||
virtual u32 getWolfMouthMatrix(void);
|
||||
virtual u32 getWolfBackbone2Matrix(void);
|
||||
virtual bool getBottleMtx(void);
|
||||
virtual bool checkPlayerGuard(void) const;
|
||||
virtual bool checkPlayerFly() const;
|
||||
virtual bool checkFrontRoll() const;
|
||||
virtual bool checkWolfDash() const;
|
||||
virtual bool checkAutoJump(void) const;
|
||||
virtual bool checkSideStep(void) const;
|
||||
virtual bool checkWolfTriggerJump(void) const;
|
||||
virtual bool checkGuardBreakMode(void) const;
|
||||
virtual bool checkLv3Slide(void) const;
|
||||
virtual bool checkWolfHowlDemoMode(void) const;
|
||||
virtual bool checkChainBlockPushPull(void);
|
||||
virtual bool checkElecDamage(void) const;
|
||||
virtual bool checkEmptyBottleSwing(void) const;
|
||||
virtual bool checkBottleSwingMode(void) const;
|
||||
virtual bool checkHawkWait(void) const;
|
||||
virtual bool checkGoatThrow(void) const;
|
||||
virtual bool checkGoatThrowAfter(void) const;
|
||||
virtual bool checkWolfTagLockJump(void) const;
|
||||
virtual bool checkWolfTagLockJumpLand(void) const;
|
||||
virtual bool checkWolfRope(void);
|
||||
virtual bool checkWolfRopeHang(void) const;
|
||||
virtual bool checkRollJump(void) const;
|
||||
virtual bool checkGoronRideWait(void) const;
|
||||
virtual bool checkWolfChain(void) const;
|
||||
virtual bool checkWolfWait(void) const;
|
||||
virtual bool checkWolfJumpAttack(void) const;
|
||||
virtual bool checkWolfRSit(void) const;
|
||||
virtual bool checkBubbleFly(void) const;
|
||||
virtual bool checkBottleDrinkEnd(void) const;
|
||||
virtual bool checkWolfDig(void) const;
|
||||
virtual bool checkCutCharge(void) const;
|
||||
virtual bool checkCutTurnCharge(void) const;
|
||||
virtual bool checkCutLargeJumpCharge(void) const;
|
||||
virtual bool getBokoFlamePos(cXyz*);
|
||||
virtual bool checkComboCutTurn(void) const;
|
||||
virtual bool checkClimbMove(void) const;
|
||||
virtual bool checkGrassWhistle(void) const;
|
||||
virtual bool checkBoarRun(void) const;
|
||||
virtual bool checkFmChainPut(void) const;
|
||||
virtual bool checkHorseElecDamage(void) const;
|
||||
virtual float getBaseAnimeFrameRate(void) const;
|
||||
virtual float getBaseAnimeFrame(void) const;
|
||||
virtual float setAnimeFrame(float);
|
||||
virtual bool checkWolfLock(fopAc_ac_c*) const;
|
||||
virtual bool cancelWolfLock(fopAc_ac_c*) const;
|
||||
virtual bool getAtnActorID(void) const;
|
||||
virtual bool getItemID(void) const;
|
||||
virtual bool getGrabActorID(void) const;
|
||||
virtual bool exchangeGrabActor(fopAc_ac_c*);
|
||||
virtual bool setForceGrab(fopAc_ac_c*, bool, bool);
|
||||
virtual void setForcePutPos(cXyz const&);
|
||||
virtual bool checkPlayerNoDraw(void);
|
||||
virtual bool checkRopeTag(void);
|
||||
virtual void voiceStart(u32);
|
||||
virtual void seStartOnlyReverb(u32);
|
||||
virtual void seStartOnlyReverbLevel(u32);
|
||||
virtual float setOutPower(float, short, bool);
|
||||
virtual void setGrabCollisionOffset(float, float, void*);
|
||||
virtual void onMagneGrab(float, float);
|
||||
virtual void onFrollCrashFlg(u8, bool);
|
||||
virtual bool getModelJoboolMtx(u16);
|
||||
virtual bool getHeadMtx(void);
|
||||
virtual bool setHookshotCarryOffset(u32, cXyz const*);
|
||||
virtual bool checkIronBallReturn(void) const;
|
||||
virtual bool checkIronBallGroundStop(void) const;
|
||||
virtual bool checkSingleBoarBattleSecondBowReady(void) const;
|
||||
virtual bool checkPoboolSubWindowMode(void) const;
|
||||
virtual void setClothesChange(bool);
|
||||
virtual void setPlayerPosAndAngle(float (*)[4]);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, short, bool);
|
||||
virtual bool setThrowDamage(short, float, float, bool, bool, bool);
|
||||
virtual bool checkSetNpcTks(cXyz*, bool, bool);
|
||||
virtual bool setRollJump(float, float, short);
|
||||
virtual void playerStartCollisionSE(u32, u32);
|
||||
virtual void changeTextureAnime(u16, u16, bool);
|
||||
virtual void cancelChangeTextureAnime(void);
|
||||
virtual void cancelDungeonWarpReadyNeck(void);
|
||||
virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*);
|
||||
virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*);
|
||||
virtual void onSceneChangeDead(u8, bool);
|
||||
virtual bool checkHorseRide() const;
|
||||
virtual bool checkBoarRide() const;
|
||||
virtual bool checkCanoeRide() const;
|
||||
virtual bool checkBoardRide() const;
|
||||
virtual u32 checkSpinnerRide() const;
|
||||
virtual bool getSpinnerActor(void);
|
||||
virtual bool checkHorseRideNotReady(void) const;
|
||||
virtual bool checkArrowChargeEnd(void) const;
|
||||
virtual float getSearchBallScale(void) const;
|
||||
virtual bool checkFastShotTime(void);
|
||||
virtual bool checkNoEquipItem(void) const;
|
||||
virtual bool checkFireMaterial(void) const;
|
||||
virtual bool checkKandelaarSwing(bool) const;
|
||||
virtual bool getBoardCutTurnOffsetAngleY(void) const;
|
||||
virtual bool getMagneHitPos(void);
|
||||
virtual bool getMagneBootsTopVec(void);
|
||||
virtual bool getKandelaarFlamePos();
|
||||
virtual bool checkUseKandelaar(bool);
|
||||
virtual void setDkCaught(fopAc_ac_c*);
|
||||
virtual void onPressedDamage(cXyz const&, short);
|
||||
virtual bool checkPriActorOwn(fopAc_ac_c const*) const;
|
||||
virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2);
|
||||
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const;
|
||||
virtual void setWolfEnemyHangBiteAngle(short);
|
||||
virtual void setKandelaarMtx(float (*)[4], bool, bool);
|
||||
virtual bool getStickAngleFromPlayerShape(short*) const;
|
||||
virtual bool checkSpinnerPathMove(void);
|
||||
virtual bool checkSpinnerTriggerAttack(void);
|
||||
virtual void onSpinnerPathForceRemove(void);
|
||||
virtual bool getIronBallBgHit(void) const;
|
||||
virtual bool getIronBallCenterPos(void);
|
||||
virtual bool checkCanoeFishingGetLeft(void) const;
|
||||
virtual bool checkCanoeFishingGetRight(void) const;
|
||||
virtual bool checkBeeChildDrink(void) const;
|
||||
virtual void skipPortalObjWarp(void);
|
||||
virtual bool checkTreasureRupeeReturn(bool) const;
|
||||
virtual void setSumouReady(fopAc_ac_c*);
|
||||
virtual bool checkAcceptDungeonWarpAlink(bool);
|
||||
virtual bool getSumouCounter(void) const;
|
||||
virtual bool checkSumouWithstand(void) const;
|
||||
virtual void cancelGoronThrowEvent(void);
|
||||
virtual void setSumouGraspCancelCount(bool);
|
||||
virtual void setSumouPushBackDirection(short);
|
||||
virtual void setSumouLoseHeadUp(void);
|
||||
virtual s16 getGiantPuzzleAimAngle(void) const;
|
||||
virtual void setGoronSideMove(fopAc_ac_c*);
|
||||
virtual void setCargoCarry(fopAc_ac_c*);
|
||||
virtual bool getDpdFarFlg(void) const;
|
||||
virtual bool getHookshotTopPos(void);
|
||||
virtual bool checkHookshotReturnMode(void) const;
|
||||
virtual bool checkHookshotShootReturnMode(void) const;
|
||||
virtual bool checkOctaIealHang(void) const;
|
||||
virtual void cancelOctaIealHang(void);
|
||||
virtual void cancelDragonHangBackJump(void);
|
||||
virtual void setOctaIealWildHang(void);
|
||||
virtual bool checkDragonHangRide(void) const;
|
||||
virtual void changeDragonActor(fopAc_ac_c*);
|
||||
virtual bool getClothesChangeWaitTimer(void) const;
|
||||
virtual bool getShieldChangeWaitTimer(void) const;
|
||||
virtual bool getSwordChangeWaitTimer(void) const;
|
||||
virtual bool checkMetamorphose(void) const;
|
||||
virtual bool checkWolfDownAttackPullOut(void) const;
|
||||
virtual bool checkBootsOrArmorHeavy(void) const;
|
||||
virtual bool getBottleOpenAppearItem(void) const;
|
||||
virtual bool checkItemSwordEquip(void) const;
|
||||
virtual float getSinkShapeOffset(void) const;
|
||||
virtual bool checkSinkDead(void) const;
|
||||
virtual bool checkHorseStart(void);
|
||||
virtual bool getWolfHowlMgrP(void);
|
||||
virtual bool checkWolfHowlSuccessAnime(void) const;
|
||||
virtual bool checkCopyRodTopUse(void);
|
||||
virtual bool checkCopyRodEquip(void) const;
|
||||
virtual bool checkCutJumpMode(void) const;
|
||||
|
||||
inline void onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; }
|
||||
inline void onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
|
||||
inline void offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
|
||||
// inline fopAc_ac_c& getActor() { return mActor; }
|
||||
|
||||
static u8 m_midnaActor[4];
|
||||
};
|
||||
|
||||
#endif /* D_A_D_A_PLAYER_H */
|
||||
|
||||
@@ -1,6 +1,118 @@
|
||||
#ifndef D_BG_D_BG_S_H
|
||||
#define D_BG_D_BG_S_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "d/bg/d_bg_w.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
struct cBgW_BgId {
|
||||
/* 802681C8 */ void Release();
|
||||
/* 802681D4 */ void ChkUsed() const;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class cBgS_ChkElm {
|
||||
cBgS_ChkElm(void);
|
||||
~cBgS_ChkElm();
|
||||
void Init();
|
||||
void Regist2(dBgW_Base*, unsigned int, void*);
|
||||
void Release();
|
||||
|
||||
/* 0x00 */ dBgW_Base* bgw_base_pointer;
|
||||
/* 0x04 */ u8 used;
|
||||
/* 0x05 */ u8 padding[3];
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x0C */ void* actor_pointer;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class cBgS {
|
||||
~cBgS();
|
||||
void Regist(dBgW_Base*, unsigned int, void*);
|
||||
void Release(dBgW_Base*);
|
||||
void Ct();
|
||||
void Dt();
|
||||
void LineCross(cBgS_LinChk*);
|
||||
void GroundCross(cBgS_GndChk*);
|
||||
void ConvDzb(void*);
|
||||
void GetActorPointer(int) const;
|
||||
void GetBgWBasePointer(cBgS_PolyInfo const&) const;
|
||||
void ChkPolySafe(cBgS_PolyInfo const&);
|
||||
void GetGrpRoomId(cBgS_PolyInfo const&) const;
|
||||
void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
|
||||
void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
|
||||
void ShdwDraw(cBgS_ShdwDraw*);
|
||||
void GetGrpInf(cBgS_PolyInfo const&) const;
|
||||
|
||||
/* 0x0000 */ cBgS_ChkElm cbgs_elements[256];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dBgS_HIO {
|
||||
/* 0x00 */ u8 vtable[4];
|
||||
/* 0x04 */ u8 field_0x4[2];
|
||||
/* 0x06 */ u16 field_0x6;
|
||||
/* 0x08 */ u16 field_0x8;
|
||||
/* 0x0A */ u8 field_0xa[2];
|
||||
/* 0x0C */ cXyz field_0xc;
|
||||
/* 0x18 */ cXyz field_0x18;
|
||||
/* 0x24 */ cXyz field_0x24;
|
||||
/* 0x30 */ u8 field_0x30[4];
|
||||
};
|
||||
|
||||
class dBgS_Acch;
|
||||
#pragma pack(push, 1)
|
||||
class dBgS {
|
||||
public:
|
||||
~dBgS();
|
||||
void Ct();
|
||||
void Dt();
|
||||
void ClrMoveFlag();
|
||||
void Move();
|
||||
void Regist(dBgW_Base*, fopAc_ac_c*);
|
||||
void ChkMoveBG(cBgS_PolyInfo const&);
|
||||
void ChkMoveBG_NoDABg(cBgS_PolyInfo const&);
|
||||
void GetExitId(cBgS_PolyInfo const&);
|
||||
void GetPolyColor(cBgS_PolyInfo const&);
|
||||
void GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
void GetSpecialCode(cBgS_PolyInfo const&);
|
||||
void GetMagnetCode(cBgS_PolyInfo const&);
|
||||
void GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
void GetUnderwaterRoofCode(cBgS_PolyInfo const&);
|
||||
void GetWallCode(cBgS_PolyInfo const&);
|
||||
void GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
void GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
void GetGroundCode(cBgS_PolyInfo const&);
|
||||
void GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
void GetRoomCamId(cBgS_PolyInfo const&);
|
||||
void GetRoomPathId(cBgS_PolyInfo const&);
|
||||
void GetRoomPathPntNo(cBgS_PolyInfo const&);
|
||||
void GetGrpSoundId(cBgS_PolyInfo const&);
|
||||
void ChkGrpInf(cBgS_PolyInfo const&, u32);
|
||||
void GetRoomId(cBgS_PolyInfo const&);
|
||||
void GetPolyAttackThrough(cBgS_PolyInfo const&);
|
||||
void ChkPolyHSStick(cBgS_PolyInfo const&);
|
||||
void WallCorrect(dBgS_Acch*);
|
||||
void WallCorrectSort(dBgS_Acch*);
|
||||
void RoofChk(dBgS_RoofChk*);
|
||||
void SplGrpChk(dBgS_SplGrpChk*);
|
||||
void 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*);
|
||||
void RideCallBack(cBgS_PolyInfo const&, fopAc_ac_c*);
|
||||
void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&);
|
||||
void PushPullCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel);
|
||||
|
||||
private:
|
||||
/* 0x0000 */ cBgS cbgs;
|
||||
/* 0x1400 */ void* vtable;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_BG_D_BG_S_H */
|
||||
|
||||
@@ -1,6 +1,113 @@
|
||||
#ifndef D_BG_D_BG_S_ACCH_H
|
||||
#define D_BG_D_BG_S_ACCH_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_cir.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_cyl.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_lin.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_pla.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/bg/d_bg_s_gnd_chk.h"
|
||||
#include "d/bg/d_bg_s_roof_chk.h"
|
||||
#include "d/bg/d_bg_s_wtr_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
//#include "d/bg/d_bg_s.h"
|
||||
|
||||
class dBgS_AcchCir {
|
||||
public:
|
||||
/* 80075EAC */ dBgS_AcchCir();
|
||||
/* 80075F14 */ void ClrWallHit();
|
||||
/* 80075F40 */ void SetWallR(f32);
|
||||
/* 80075F48 */ void CalcWallRR();
|
||||
/* 80075F58 */ void SetWall(f32, f32);
|
||||
/* 80075F80 */ void SetWallHDirect(f32);
|
||||
/* 80077414 */ ~dBgS_AcchCir();
|
||||
|
||||
private:
|
||||
/* 0x00 */ cBgS_PolyInfo mPolyInfo;
|
||||
/* 0x10 */ int mWallHit;
|
||||
/* 0x14 */ cM3dGCir m3DGCir;
|
||||
/* 0x28 */ float mWallRR;
|
||||
/* 0x2C */ float field_0x2c;
|
||||
/* 0x30 */ float mWallH;
|
||||
/* 0x34 */ float mWallR;
|
||||
/* 0x38 */ float mWallHDirect;
|
||||
/* 0x3C */ s16 mWallAngleY;
|
||||
/* 0x3E */ u8 padding[2];
|
||||
};
|
||||
|
||||
class dBgS;
|
||||
class dBgS_Acch {
|
||||
public:
|
||||
/* 80075F94 */ ~dBgS_Acch();
|
||||
/* 800760A0 */ dBgS_Acch();
|
||||
/* 800761CC */ void Init();
|
||||
/* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*);
|
||||
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
|
||||
/* 800762D8 */ void GroundCheckInit(dBgS&);
|
||||
/* 80076350 */ void GroundCheck(dBgS&);
|
||||
/* 8007654C */ void GroundRoofProc(dBgS&);
|
||||
/* 80076624 */ void LineCheck(dBgS&);
|
||||
/* 80076AAC */ void CrrPos(dBgS&);
|
||||
/* 80076F84 */ void GetWallAllR();
|
||||
/* 80076FC0 */ void SetWallCir();
|
||||
/* 8007703C */ void CalcWallBmdCyl();
|
||||
/* 80077114 */ void SetGroundUpY(f32);
|
||||
/* 80077128 */ void GetWallAllLowH();
|
||||
/* 80077178 */ void GetWallAllLowH_R();
|
||||
/* 800771E4 */ void GetSpeedY();
|
||||
/* 80077200 */ void GetWallAddY(Vec&);
|
||||
/* 80077278 */ void SetNowActorInfo(int, void*, unsigned int);
|
||||
/* 80077288 */ void SetWallPolyIndex(int, int);
|
||||
/* 800772E8 */ void CalcMovePosWork();
|
||||
/* 8007732C */ void CalcWallRR();
|
||||
/* 80077388 */ void SetMoveBGOnly();
|
||||
/* 800773A4 */ void ClrMoveBGOnly();
|
||||
/* 800773C0 */ void SetGndThinCellingOff();
|
||||
/* 800773D0 */ void ClrGndThinCellingOff();
|
||||
/* 800773E0 */ void ChkGndThinCellingOff();
|
||||
/* 800773EC */ void OnWallSort();
|
||||
/* 800773FC */ void ChkWallSort();
|
||||
/* 80077408 */ void ChkLineDown();
|
||||
|
||||
private:
|
||||
/* 0x000 */ cBgS_Chk field_0x000;
|
||||
/* 0x014 */ dBgS_Chk field_0x014;
|
||||
/* 0x02C */ int field_0x2c;
|
||||
/* 0x030 */ cXyz* mPos;
|
||||
/* 0x034 */ cXyz* mOldPos;
|
||||
/* 0x038 */ cXyz* mSpeed;
|
||||
/* 0x03C */ csXyz* mAngle;
|
||||
/* 0x040 */ csXyz* mShapeAngle;
|
||||
/* 0x044 */ cM3dGLin field_0x44;
|
||||
/* 0x060 */ cM3dGCyl mWallBmdCyl;
|
||||
/* 0x078 */ int field_0x78;
|
||||
/* 0x07C */ void* field_0x7c;
|
||||
/* 0x080 */ u32 field_0x80;
|
||||
/* 0x084 */ fopAc_ac_c* mMyAc;
|
||||
/* 0x088 */ int m_tbl_size;
|
||||
/* 0x08C */ dBgS_AcchCir* field_0x8c;
|
||||
/* 0x090 */ float field_0x90;
|
||||
/* 0x094 */ float field_0x94;
|
||||
/* 0x098 */ float mGroundH;
|
||||
/* 0x09C */ float field_0x9c;
|
||||
/* 0x0A0 */ cM3dGPla field_0xa0;
|
||||
/* 0x0B4 */ u8 field_0xb4[4];
|
||||
/* 0x0B8 */ float field_0xb8;
|
||||
/* 0x0BC */ float field_0xbc;
|
||||
/* 0x0C0 */ u8 field_0xc0[4];
|
||||
/* 0x0C4 */ float mRoofHeight;
|
||||
/* 0x0C8 */ float mRoofCrrHeight;
|
||||
/* 0x0CC */ float field_0xcc;
|
||||
/* 0x0D0 */ float mWaterCheckOffset;
|
||||
/* 0x0D4 */ int field_0xd4;
|
||||
/* 0x0D8 */ float field_0xd8;
|
||||
/* 0x0DC */ dBgS_GndChk mGndChk;
|
||||
/* 0x130 */ dBgS_RoofChk mRoofChk;
|
||||
/* 0x180 */ dBgS_WtrChk mWtrChk;
|
||||
/* 0x1D4 */ u8 mWtrChkMode;
|
||||
};
|
||||
|
||||
class dBgS_LinkAcch : public dBgS_Acch {};
|
||||
|
||||
#endif /* D_BG_D_BG_S_ACCH_H */
|
||||
|
||||
@@ -1,6 +1,20 @@
|
||||
#ifndef D_BG_D_BG_S_CHK_H
|
||||
#define D_BG_D_BG_S_CHK_H
|
||||
|
||||
#include "d/bg/d_bg_s_grp_pass_chk.h"
|
||||
#include "d/bg/d_bg_s_poly_pass_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dBgS_Chk {
|
||||
public:
|
||||
/* 8007749C */ dBgS_Chk();
|
||||
/* 800774E8 */ ~dBgS_Chk();
|
||||
/* 80077560 */ void GetPolyPassChkInfo();
|
||||
/* 80077564 */ void GetGrpPassChkInfo();
|
||||
|
||||
private:
|
||||
/* 0x000 */ dBgS_PolyPassChk mPolyPassChkInfo;
|
||||
/* 0x010 */ dBgS_GrpPassChk mGrpPassChkInfo;
|
||||
}; // Size = 0x18
|
||||
|
||||
#endif /* D_BG_D_BG_S_CHK_H */
|
||||
|
||||
@@ -1,6 +1,22 @@
|
||||
#ifndef D_BG_D_BG_S_GND_CHK_H
|
||||
#define D_BG_D_BG_S_GND_CHK_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
|
||||
#include "d/bg/d_bg_s_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dBgS_GndChk : public cBgS_GndChk {
|
||||
public:
|
||||
/* 8007757C */ dBgS_GndChk();
|
||||
virtual void temp(); // temp to build OK
|
||||
/* 800775F0 */ virtual ~dBgS_GndChk();
|
||||
|
||||
private:
|
||||
/* 0x3C */ dBgS_Chk mChk;
|
||||
}; // Size = 0x54
|
||||
|
||||
class dBgS_LinkGndChk : dBgS_GndChk {};
|
||||
|
||||
class dBgS_ObjGndChk : dBgS_GndChk {};
|
||||
|
||||
#endif /* D_BG_D_BG_S_GND_CHK_H */
|
||||
|
||||
@@ -3,4 +3,18 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class cBgS_GrpPassChk {
|
||||
public:
|
||||
~cBgS_GrpPassChk();
|
||||
};
|
||||
|
||||
class dBgS_GrpPassChk : public cBgS_GrpPassChk {
|
||||
public:
|
||||
/* 80077BA0 */ dBgS_GrpPassChk();
|
||||
/* 80077BC4 */ ~dBgS_GrpPassChk();
|
||||
|
||||
private:
|
||||
u32 mGrp;
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_GRP_PASS_CHK_H */
|
||||
|
||||
@@ -3,4 +3,61 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class cBgS_PolyPassChk {
|
||||
public:
|
||||
~cBgS_PolyPassChk();
|
||||
};
|
||||
|
||||
class dBgS_PolyPassChk : public cBgS_PolyPassChk {
|
||||
public:
|
||||
dBgS_PolyPassChk();
|
||||
~dBgS_PolyPassChk();
|
||||
|
||||
bool ChkArrow() { return mArrow; }
|
||||
bool ChkBomb() { return mBomb; }
|
||||
bool ChkBoomerang() { return mBoomerang; }
|
||||
bool ChkCam() { return mCamera; }
|
||||
bool ChkHorse() { return mHorse; }
|
||||
bool ChkIronBall() { return mIronBall; }
|
||||
bool ChkLink() { return mLink; }
|
||||
bool ChkNoHorse();
|
||||
bool ChkObj() { return mObject; }
|
||||
bool ChkRope() { return mRope; }
|
||||
bool ChkStatue() { return mStatue; }
|
||||
bool ChkUnderwaterRoof() { return mUnderwaterRoof; }
|
||||
|
||||
void ClrBomb();
|
||||
void ClrCam();
|
||||
void ClrIronBall();
|
||||
void ClrLink();
|
||||
void ClrObj();
|
||||
void ClrStatue();
|
||||
|
||||
void SetArrow();
|
||||
void SetBomb();
|
||||
void SetBoomerang();
|
||||
void SetCam();
|
||||
void SetHorse();
|
||||
void SetIronBall();
|
||||
void SetLink();
|
||||
void SetObj();
|
||||
void SetPassChkInfo(dBgS_PolyPassChk& chk);
|
||||
void SetRope();
|
||||
void SetStatue();
|
||||
void SetUnderwaterRoof();
|
||||
|
||||
private:
|
||||
bool mObject;
|
||||
bool mCamera;
|
||||
bool mLink;
|
||||
bool mArrow;
|
||||
bool mBomb;
|
||||
bool mBoomerang;
|
||||
bool mRope;
|
||||
bool mUnderwaterRoof;
|
||||
bool mHorse;
|
||||
bool mStatue;
|
||||
bool mIronBall;
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_POLY_PASS_CHK_H */
|
||||
|
||||
@@ -1,6 +1,27 @@
|
||||
#ifndef D_BG_D_BG_S_ROOF_CHK_H
|
||||
#define D_BG_D_BG_S_ROOF_CHK_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "d/bg/d_bg_s_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dBgS_RoofChk {
|
||||
public:
|
||||
/* 80078FF4 */ dBgS_RoofChk();
|
||||
/* 80079090 */ ~dBgS_RoofChk();
|
||||
/* 80079124 */ void Init();
|
||||
|
||||
private:
|
||||
/* 0x00 */ cBgS_PolyInfo field_0x00;
|
||||
/* 0x10 */ cBgS_Chk field_0x10;
|
||||
/* 0x24 */ dBgS_Chk field_0x24;
|
||||
/* 0x3C */ cXyz m_pos;
|
||||
/* 0x48 */ int field_0x48;
|
||||
/* 0x4C */ float mNowY;
|
||||
}; // Size = 0x50
|
||||
|
||||
class dBgS_LinkRoofChk : dBgS_RoofChk {};
|
||||
|
||||
#endif /* D_BG_D_BG_S_ROOF_CHK_H */
|
||||
|
||||
@@ -1,6 +1,27 @@
|
||||
#ifndef D_BG_D_BG_S_SPL_GRP_CHK_H
|
||||
#define D_BG_D_BG_S_SPL_GRP_CHK_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "d/bg/d_bg_s_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dBgS_SplGrpChk {
|
||||
public:
|
||||
/* 80078B90 */ void Set(cXyz&, f32);
|
||||
/* 80078BB0 */ dBgS_SplGrpChk();
|
||||
/* 80078C78 */ ~dBgS_SplGrpChk();
|
||||
/* 80078D0C */ void Init();
|
||||
|
||||
private:
|
||||
/* 0x00 */ cBgS_PolyInfo field_0x00;
|
||||
/* 0x10 */ cBgS_Chk field_0x10;
|
||||
/* 0x24 */ dBgS_Chk field_0x24;
|
||||
/* 0x3C */ cXyz m_ground;
|
||||
/* 0x48 */ float mRoof;
|
||||
/* 0x4C */ float mHeight;
|
||||
/* 0x50 */ int field_0x50;
|
||||
}; // Size = 0x54
|
||||
|
||||
#endif /* D_BG_D_BG_S_SPL_GRP_CHK_H */
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
#ifndef D_BG_D_BG_S_WTR_CHK_H
|
||||
#define D_BG_D_BG_S_WTR_CHK_H
|
||||
|
||||
#include "d/bg/d_bg_s_spl_grp_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dBgS_WtrChk {
|
||||
public:
|
||||
/* 80079164 */ dBgS_WtrChk();
|
||||
|
||||
private:
|
||||
/* 0x00 */ dBgS_SplGrpChk mSplGrp;
|
||||
}; // Size = 0x54
|
||||
|
||||
#endif /* D_BG_D_BG_S_WTR_CHK_H */
|
||||
|
||||
@@ -1,6 +1,211 @@
|
||||
#ifndef D_BG_D_BG_W_H
|
||||
#define D_BG_D_BG_W_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/bg/d_bg_s_grp_pass_chk.h"
|
||||
#include "d/bg/d_bg_s_poly_pass_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
struct dBgS_CaptPoly {};
|
||||
|
||||
struct dBgS_SphChk {};
|
||||
|
||||
struct cM3dGTri {
|
||||
/* 8007A344 */ ~cM3dGTri();
|
||||
/* 8026F85C */ void setBg(Vec const*, Vec const*, Vec const*, cM3dGPla const*);
|
||||
};
|
||||
|
||||
struct cM3dGSph {};
|
||||
|
||||
struct cM3dGAab {
|
||||
/* 8026EC88 */ void CrossY(cXyz const*) const;
|
||||
/* 8026ECD0 */ void UnderPlaneYUnder(f32) const;
|
||||
/* 8026ECE4 */ void TopPlaneYUnder(f32) const;
|
||||
/* 8026ECF8 */ void ClearForMinMax();
|
||||
/* 8026ED1C */ void SetMinMax(cXyz const&);
|
||||
/* 8026EDA4 */ void SetMin(cXyz const&);
|
||||
/* 8026EDE4 */ void SetMax(cXyz const&);
|
||||
};
|
||||
|
||||
struct cBgW_TriElm {
|
||||
/* 800796F8 */ ~cBgW_TriElm();
|
||||
/* 80079754 */ cBgW_TriElm();
|
||||
};
|
||||
|
||||
struct cBgW_RwgElm {
|
||||
/* 800791C4 */ cBgW_RwgElm();
|
||||
/* 800791D4 */ ~cBgW_RwgElm();
|
||||
};
|
||||
|
||||
struct cBgW_NodeTree {
|
||||
/* 8007921C */ cBgW_NodeTree();
|
||||
/* 80079238 */ ~cBgW_NodeTree();
|
||||
};
|
||||
|
||||
struct cBgW_GrpElm {
|
||||
/* 8007A184 */ ~cBgW_GrpElm();
|
||||
/* 8007A1E4 */ cBgW_GrpElm();
|
||||
};
|
||||
|
||||
struct cBgS_ShdwDraw {};
|
||||
|
||||
struct cBgD_t {};
|
||||
|
||||
struct cBgW {
|
||||
/* 80079294 */ cBgW();
|
||||
/* 8007933C */ ~cBgW();
|
||||
/* 800793A4 */ void FreeArea();
|
||||
/* 800793C4 */ void GlobalVtx();
|
||||
/* 80079484 */ void SetVtx();
|
||||
/* 80079564 */ void CalcPlane();
|
||||
/* 80079668 */ void SetTri();
|
||||
/* 80079770 */ void BlckConnect(u16*, int*, int);
|
||||
/* 800797BC */ void ClassifyPlane();
|
||||
/* 8007998C */ void MakeBlckTransMinMax(cXyz*, cXyz*);
|
||||
/* 800799E0 */ void MakeBlckMinMax(int, cXyz*, cXyz*);
|
||||
/* 80079A68 */ void MakeBlckBnd(int, cXyz*, cXyz*);
|
||||
/* 80079BDC */ void MakeNodeTreeRp(int);
|
||||
/* 80079CC4 */ void MakeNodeTreeGrpRp(int);
|
||||
/* 80079DF0 */ void MakeNodeTree();
|
||||
/* 80079EEC */ void ChkMemoryError();
|
||||
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
|
||||
/* 8007A200 */ void RwgLineCheck(u16, cBgS_LinChk*);
|
||||
/* 8007A3A0 */ void LineCheckRp(cBgS_LinChk*, int);
|
||||
/* 8007A52C */ void LineCheckGrpRp(cBgS_LinChk*, int, int);
|
||||
/* 8007A658 */ void LineCheck(cBgS_LinChk*);
|
||||
/* 8007A680 */ void RwgGroundCheckCommon(f32, u16, cBgS_GndChk*);
|
||||
/* 8007A774 */ void RwgGroundCheckGnd(u16, cBgS_GndChk*);
|
||||
/* 8007A824 */ void RwgGroundCheckWall(u16, cBgS_GndChk*);
|
||||
/* 8007A8F4 */ void GroundCrossRp(cBgS_GndChk*, int);
|
||||
/* 8007AA50 */ void GroundCrossGrpRp(cBgS_GndChk*, int, int);
|
||||
/* 8007AB9C */ void GroundCross(cBgS_GndChk*);
|
||||
/* 8007ABC4 */ void CopyOldMtx();
|
||||
/* 8007AC10 */ void Move();
|
||||
/* 8007ADF0 */ void RwgShdwDraw(int, cBgS_ShdwDraw*);
|
||||
/* 8007AEA4 */ void ShdwDrawRp(cBgS_ShdwDraw*, int);
|
||||
/* 8007AFC0 */ void ShdwDrawGrpRp(cBgS_ShdwDraw*, int);
|
||||
/* 8007B084 */ void ShdwDraw(cBgS_ShdwDraw*);
|
||||
/* 8007B0A8 */ bool ChkPolyThrough(int, cBgS_PolyPassChk*);
|
||||
/* 8007B0B0 */ void ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
|
||||
/* 8007B0DC */ bool ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
/* 8007B0E4 */ void GetGrpRoomIndex(cBgS_PolyInfo const&) const;
|
||||
/* 8007B164 */ void GetBnd() const;
|
||||
/* 8007B17C */ void GetTrans(cXyz*) const;
|
||||
/* 8007B1B4 */ void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
|
||||
/* 8007B240 */ void GetTopUnder(f32*, f32*) const;
|
||||
/* 8007B270 */ void GetTriPla(cBgS_PolyInfo const&) const;
|
||||
/* 8007B2B0 */ void GetGrpInf(cBgS_PolyInfo const&) const;
|
||||
/* 8007B2F4 */ void GetPolyInfId(int) const;
|
||||
/* 8007B30C */ void GetPolyInf0(int, u32, u32) const;
|
||||
/* 8007B360 */ void GetMaskPolyInf0_NoShift(int, u32) const;
|
||||
/* 8007B654 */ void GetPolyInf1(int, u32, u32) const;
|
||||
/* 8007B78C */ void GetMaskPolyInf1_NoShift(int, u32) const;
|
||||
/* 8007B824 */ void GetPolyInf2(int, u32, u32) const;
|
||||
/* 8007B930 */ void GetTriGrp(int) const;
|
||||
/* 8007B948 */ void ChkNotReady() const;
|
||||
/* 8007B958 */ void ChkLock() const;
|
||||
/* 8007B964 */ void ChkMoveBg() const;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dBgW_Base {
|
||||
public:
|
||||
enum PushPullLabel {};
|
||||
|
||||
/* 8007E5A8 */ dBgW_Base();
|
||||
/* 8007E640 */ ~dBgW_Base();
|
||||
/* 8007E6D8 */ void CallRideCallBack(fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 8007E6DC */ void CallArrowStickCallBack(fopAc_ac_c*, fopAc_ac_c*, cXyz&);
|
||||
/* 80074AB4 */ void SetOldShapeAngleY(s16);
|
||||
/* 8007E6E0 */ void CalcDiffShapeAngleY(s16);
|
||||
|
||||
private:
|
||||
u16 field_0x0;
|
||||
u8 field_0x2[2];
|
||||
void* field_0x4;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
s16 field_0xc;
|
||||
s16 field_0xe;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dBgW {
|
||||
public:
|
||||
/* 8007B3AC */ void GetExitId(cBgS_PolyInfo const&);
|
||||
/* 8007B3D8 */ void GetPolyColor(cBgS_PolyInfo const&);
|
||||
/* 8007B404 */ void GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
/* 8007B430 */ void GetSpecialCode(cBgS_PolyInfo const&);
|
||||
/* 8007B460 */ void GetSpecialCode(int);
|
||||
/* 8007B488 */ void GetMagnetCode(cBgS_PolyInfo const&);
|
||||
/* 8007B4B4 */ void GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
/* 8007B4E0 */ void GetPolyObjThrough(int);
|
||||
/* 8007B504 */ void GetPolyCamThrough(int);
|
||||
/* 8007B52C */ void GetPolyLinkThrough(int);
|
||||
/* 8007B550 */ void GetPolyArrowThrough(int);
|
||||
/* 8007B574 */ void GetPolyHSStick(int);
|
||||
/* 8007B598 */ void GetPolyBoomerangThrough(int);
|
||||
/* 8007B5BC */ void GetPolyRopeThrough(int);
|
||||
/* 8007B5E0 */ void GetPolyBombThrough(int);
|
||||
/* 8007B604 */ void GetShdwThrough(int);
|
||||
/* 8007B630 */ void GetUnderwaterRoofCode(int);
|
||||
/* 8007B6AC */ void GetLinkNo(cBgS_PolyInfo const&);
|
||||
/* 8007B6D8 */ void GetWallCode(cBgS_PolyInfo const&);
|
||||
/* 8007B704 */ void GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
/* 8007B734 */ void GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
/* 8007B760 */ void GetGroundCode(cBgS_PolyInfo const&);
|
||||
/* 8007B7DC */ void GetIronBallThrough(int);
|
||||
/* 8007B800 */ void GetAttackThrough(int);
|
||||
/* 8007B87C */ void GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
/* 8007B8A8 */ void GetRoomCamId(cBgS_PolyInfo const&);
|
||||
/* 8007B8D8 */ void GetRoomPathId(cBgS_PolyInfo const&);
|
||||
/* 8007B904 */ void GetRoomPathPntNo(cBgS_PolyInfo const&);
|
||||
/* 8007B970 */ dBgW();
|
||||
/* 8007B9C0 */ void Move();
|
||||
/* 8007B9EC */ void positionWallCorrect(dBgS_Acch*, f32, cM3dGPla&, cXyz*, f32);
|
||||
/* 8007BA40 */ void RwgWallCorrect(dBgS_Acch*, u16);
|
||||
/* 8007C234 */ void WallCorrectRp(dBgS_Acch*, int);
|
||||
/* 8007C360 */ void WallCorrectGrpRp(dBgS_Acch*, int, int);
|
||||
/* 8007C484 */ void WallCorrect(dBgS_Acch*);
|
||||
/* 8007C4AC */ void RwgWallCorrectSort(dBgS_Acch*, u16);
|
||||
/* 8007C714 */ void WallCorrectRpSort(dBgS_Acch*, int);
|
||||
/* 8007C808 */ void WallCorrectGrpRpSort(dBgS_Acch*, int, int);
|
||||
/* 8007C910 */ void WallCorrectSort(dBgS_Acch*);
|
||||
/* 8007D0DC */ void RwgRoofChk(u16, dBgS_RoofChk*);
|
||||
/* 8007D208 */ void RoofChkRp(dBgS_RoofChk*, int);
|
||||
/* 8007D330 */ void RoofChkGrpRp(dBgS_RoofChk*, int, int);
|
||||
/* 8007D470 */ void RoofChk(dBgS_RoofChk*);
|
||||
/* 8007D498 */ void RwgSplGrpChk(u16, dBgS_SplGrpChk*);
|
||||
/* 8007D5C4 */ void SplGrpChkRp(dBgS_SplGrpChk*, int);
|
||||
/* 8007D6F0 */ void SplGrpChkGrpRp(dBgS_SplGrpChk*, int, int);
|
||||
/* 8007D830 */ void SplGrpChk(dBgS_SplGrpChk*);
|
||||
/* 8007D858 */ void RwgCaptPoly(int, dBgS_CaptPoly&);
|
||||
/* 8007D8E8 */ void CaptPolyRp(dBgS_CaptPoly&, int);
|
||||
/* 8007DA04 */ void CaptPolyGrpRp(dBgS_CaptPoly&, int, int);
|
||||
/* 8007DAF8 */ void CaptPoly(dBgS_CaptPoly&);
|
||||
/* 8007DB20 */ void RwgSphChk(u16, dBgS_SphChk*, void*);
|
||||
/* 8007DC70 */ void SphChkRp(dBgS_SphChk*, void*, int);
|
||||
/* 8007DDE0 */ void SphChkGrpRp(dBgS_SphChk*, void*, int, int);
|
||||
/* 8007DF00 */ void SphChk(dBgS_SphChk*, void*);
|
||||
/* 8007DF28 */ void GetPolyGrpRoomInfId(cBgS_PolyInfo const&);
|
||||
/* 8007DF58 */ void GetGrpSoundId(cBgS_PolyInfo const&);
|
||||
/* 8007DF88 */ void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 8007DFC4 */ void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 8007E000 */ void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 8007E02C */ void ChkPolyThrough(int, cBgS_PolyPassChk*);
|
||||
/* 8007E360 */ void ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
|
||||
/* 8007E3D8 */ void ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
/* 8007E444 */ void CallRideCallBack(fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 8007E474 */ void CallArrowStickCallBack(fopAc_ac_c*, fopAc_ac_c*, cXyz&);
|
||||
/* 8007E4A4 */ void OffMoveFlag();
|
||||
/* 8007E4B4 */ void ChkMoveFlag() const;
|
||||
/* 8007E548 */ ~dBgW();
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_W_H */
|
||||
|
||||
@@ -1,6 +1,191 @@
|
||||
#ifndef D_CC_D_CC_D_H
|
||||
#define D_CC_D_CC_D_H
|
||||
|
||||
#include "SSystem/SComponent/c_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dCcD_SrcTri {};
|
||||
|
||||
struct dCcD_SrcSph {};
|
||||
|
||||
struct dCcD_SrcGObjTg {};
|
||||
|
||||
struct dCcD_SrcGObjInf {};
|
||||
|
||||
struct dCcD_SrcGObjAt {};
|
||||
|
||||
struct dCcD_SrcGAtTgCoCommonBase {};
|
||||
|
||||
struct dCcD_SrcCyl {};
|
||||
|
||||
struct dCcD_SrcCps {};
|
||||
|
||||
class dCcD_GStts : cCcD_GStts {
|
||||
public:
|
||||
/* 80083760 */ dCcD_GStts();
|
||||
/* 800837F8 */ void Ct();
|
||||
/* 80083830 */ void Move();
|
||||
/* 8008523C */ ~dCcD_GStts();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mAt;
|
||||
/* 0x05 */ u8 mTg;
|
||||
/* 0x06 */ u8 mRoomId;
|
||||
/* 0x08 */ u16 field_0x08;
|
||||
/* 0x0C */ int mAtApid;
|
||||
/* 0x10 */ int mAtOldApid;
|
||||
/* 0x14 */ int mTgApid;
|
||||
/* 0x18 */ int mTgOldApid;
|
||||
/* 0x1C */ int field_0x1C;
|
||||
}; // Size = 0x20
|
||||
|
||||
class dCcD_Stts : cCcD_Stts {
|
||||
public:
|
||||
/* 80083850 */ void GetGStts();
|
||||
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
|
||||
/* 800838F4 */ void Ct();
|
||||
/* 80083928 */ void ClrAt();
|
||||
/* 80083934 */ void ClrTg();
|
||||
/* 800851AC */ ~dCcD_Stts();
|
||||
|
||||
private:
|
||||
/* 0x1C */ dCcD_GStts mGStts;
|
||||
}; // Size = 0x3C
|
||||
|
||||
class dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 8008364C */ void ClrActorInfo();
|
||||
/* 80083660 */ void ct();
|
||||
/* 80083678 */ void SetHitApid(unsigned int);
|
||||
/* 80083688 */ void GetAc();
|
||||
/* 80083704 */ void Set(dCcD_SrcGAtTgCoCommonBase const&);
|
||||
/* 80083718 */ void SetEffCounterTimer();
|
||||
/* 80083724 */ void SubtractEffCounter();
|
||||
/* 80083748 */ void ChkEffCounter();
|
||||
/* 80083CA0 */ ~dCcD_GAtTgCoCommonBase();
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* mBase; // type dCcD_SrcGAtTgCoCommonBase*
|
||||
/* 0x04 */ u32 mRPrm;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x0C */ u32 field_0x0C;
|
||||
/* 0x10 */ fopAc_ac_c* mAc;
|
||||
/* 0x14 */ s8 mEffCounter;
|
||||
/* 0x15 */ u8 field_0x15[3];
|
||||
/* 0x18 */ void* vtable;
|
||||
}; // Size = 0x1C
|
||||
|
||||
class dCcD_GObjAt : dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 80083944 */ void Set(dCcD_SrcGObjAt const&);
|
||||
/* 80083C44 */ ~dCcD_GObjAt();
|
||||
|
||||
private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
/* 0x1D */ u8 mMtrl;
|
||||
/* 0x1E */ u8 mHitMark;
|
||||
/* 0x1F */ u8 mSpl;
|
||||
/* 0x20 */ cXyz mHitPos;
|
||||
/* 0x2C */ cXyz mVec;
|
||||
/* 0x38 */ cXyz mRVec;
|
||||
}; // Size = 0x44
|
||||
class dCcD_GObjTg : dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 800839A0 */ void Set(dCcD_SrcGObjTg const&);
|
||||
/* 80083BE8 */ ~dCcD_GObjTg();
|
||||
|
||||
private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
/* 0x1D */ u8 mMtrl;
|
||||
/* 0x1E */ u8 mHitMark;
|
||||
/* 0x1F */ u8 mSpl;
|
||||
/* 0x20 */ cXyz mVec;
|
||||
/* 0x2C */ cXyz mRVec;
|
||||
/* 0x38 */ cXyz mHitPos;
|
||||
/* 0x44 */ s16* mShieldFrontRangeYAngle;
|
||||
/* 0x48 */ s16 mShieldRange;
|
||||
}; // Size = 0x4A ?
|
||||
class dCcD_GObjCo : dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 80083B8C */ ~dCcD_GObjCo();
|
||||
|
||||
private:
|
||||
}; // Size = 0x1C ?
|
||||
|
||||
class dCcD_GObjInf : cCcD_GObjInf {
|
||||
public:
|
||||
/* 80083A28 */ dCcD_GObjInf();
|
||||
/* 800840E4 */ ~dCcD_GObjInf();
|
||||
/* 80084268 */ void GetGObjInf();
|
||||
/* 8008426C */ void ClrAtHit();
|
||||
/* 800842C0 */ void ChkAtHit();
|
||||
/* 80084318 */ void ResetAtHit();
|
||||
/* 80084358 */ void GetAtHitObj();
|
||||
/* 800843A8 */ void GetAtHitGObj();
|
||||
/* 800843DC */ void ChkAtNoGuard();
|
||||
/* 800843FC */ void ClrTgHit();
|
||||
/* 80084460 */ void ChkTgHit();
|
||||
/* 800844B8 */ void ResetTgHit();
|
||||
/* 800844F8 */ void GetTgHitObj();
|
||||
/* 80084548 */ void GetTgHitGObj();
|
||||
/* 8008457C */ void GetTgHitObjSe();
|
||||
/* 800845B0 */ void getHitSeID(u8, int);
|
||||
/* 8008460C */ void ClrCoHit();
|
||||
/* 80084658 */ void ChkCoHit();
|
||||
/* 800846B0 */ void ResetCoHit();
|
||||
/* 800846F0 */ void GetCoHitObj();
|
||||
/* 80084740 */ void Set(dCcD_SrcGObjInf const&);
|
||||
|
||||
static u8 const m_hitSeID[96];
|
||||
|
||||
private:
|
||||
/* 0x058 */ dCcD_GObjAt mGObjAt;
|
||||
/* 0x09C */ dCcD_GObjTg mGObjTg;
|
||||
/* 0x0E8 */ dCcD_GObjCo mGObjCo;
|
||||
}; // Size = 0x104
|
||||
|
||||
class dCcD_Cyl : dCcD_GObjInf {
|
||||
public:
|
||||
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
|
||||
/* 800848F8 */ void GetShapeAttr();
|
||||
/* 80084908 */ void StartCAt(cXyz&);
|
||||
/* 80084954 */ void MoveCAt(cXyz&);
|
||||
/* 800849C4 */ void MoveCTg(cXyz&);
|
||||
/* 80084D60 */ ~dCcD_Cyl();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_CylAttr mCylAttr;
|
||||
}; // Size = 0x13C
|
||||
|
||||
class dCcD_Sph : dCcD_GObjInf {
|
||||
public:
|
||||
/* 80084A34 */ void Set(dCcD_SrcSph const&);
|
||||
/* 80084A78 */ void StartCAt(cXyz&);
|
||||
/* 80084AC4 */ void MoveCAt(cXyz&);
|
||||
/* 80084B34 */ void GetShapeAttr();
|
||||
/* 80084BF4 */ ~dCcD_Sph();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_SphAttr mSphAttr;
|
||||
}; // Size = 0x138
|
||||
|
||||
class dCcD_Cps : dCcD_GObjInf {
|
||||
public:
|
||||
/* 800847D0 */ void Set(dCcD_SrcCps const&);
|
||||
/* 80084814 */ void GetShapeAttr();
|
||||
/* 80084824 */ void CalcAtVec();
|
||||
/* 80084854 */ void CalcTgVec();
|
||||
/* 8008506C */ ~dCcD_Cps();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_CpsAttr mCpsAttr;
|
||||
}; // Size = 0x144
|
||||
|
||||
class dCcD_Tri {
|
||||
public:
|
||||
/* 80084884 */ void Set(dCcD_SrcTri const&);
|
||||
/* 800848A4 */ void GetShapeAttr();
|
||||
/* 80084EF4 */ ~dCcD_Tri();
|
||||
};
|
||||
|
||||
#endif /* D_CC_D_CC_D_H */
|
||||
|
||||
@@ -1,6 +1,41 @@
|
||||
#ifndef D_CC_D_CC_MASS_S_H
|
||||
#define D_CC_D_CC_MASS_S_H
|
||||
|
||||
#include "SSystem/SComponent/c_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dCcMassS_Obj {
|
||||
public:
|
||||
private:
|
||||
u8 field_0x0[12];
|
||||
cCcD_DivideInfo cccd_divideinfo;
|
||||
void* vtable;
|
||||
};
|
||||
|
||||
class dCcMassS_Mng {
|
||||
public:
|
||||
dCcMassS_Mng(void);
|
||||
|
||||
private:
|
||||
/* 0x0000 */ cCcD_DivideArea cccd_dividearea;
|
||||
/* 0x0020 */ u8 field_0x20[36];
|
||||
/* 0x0044 */ dCcMassS_Obj dccmasss_obj;
|
||||
/* 0x0064 */ u8 field_0x64[292];
|
||||
/* 0x0188 */ dCcMassS_Obj dccmasss_obj2;
|
||||
/* 0x01A8 */ u8 field_0x1a8[32];
|
||||
/* 0x01C8 */ cCcD_CylAttr cccd_cylattr;
|
||||
/* 0x0200 */ u8 field_0x200[2];
|
||||
/* 0x0202 */ u8 field_0x202;
|
||||
/* 0x0203 */ u8 field_0x203;
|
||||
/* 0x0204 */ float cam_x_pos;
|
||||
/* 0x0208 */ float cam_y_pos;
|
||||
/* 0x020C */ float cam_z_pos;
|
||||
/* 0x0210 */ float field_0x210;
|
||||
/* 0x0214 */ float field_0x214;
|
||||
/* 0x0218 */ float field_0x218;
|
||||
/* 0x021C */ u8 field_0x21c[8];
|
||||
/* 0x0224 */ cCcD_CpsAttr cccd_cpsattr;
|
||||
/* 0x0288 */ cCcD_DivideInfo cccd_divideinfo;
|
||||
};
|
||||
|
||||
#endif /* D_CC_D_CC_MASS_S_H */
|
||||
|
||||
@@ -1,6 +1,50 @@
|
||||
#ifndef D_CC_D_CC_S_H
|
||||
#define D_CC_D_CC_S_H
|
||||
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/cc/d_cc_mass_s.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dCcS {
|
||||
public:
|
||||
/* 8002FF40 */ ~dCcS();
|
||||
/* 80085ED4 */ void Ct();
|
||||
/* 80085F08 */ void Dt();
|
||||
/* 80085F28 */ void ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*);
|
||||
/* 800860F8 */ void ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*);
|
||||
/* 800861B0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
|
||||
/* 800861B4 */ void ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*,
|
||||
cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80086240 */ void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
|
||||
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80086360 */ void GetRank(u8);
|
||||
/* 80086404 */ bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 8008640C */ void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
|
||||
/* 80086754 */ void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*);
|
||||
/* 8008685C */ void ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*,
|
||||
dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, dCcD_GStts*,
|
||||
dCcD_GStts*, cXyz*, bool);
|
||||
/* 80086AC0 */ void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*,
|
||||
cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*,
|
||||
cCcD_GStts*, cXyz*);
|
||||
/* 80086D8C */ void ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 80086FBC */ void chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*,
|
||||
fopAc_ac_c*);
|
||||
/* 800872A8 */ void MoveAfterCheck();
|
||||
/* 800872AC */ void DrawAfter();
|
||||
/* 800872B0 */ void Move();
|
||||
/* 800872D0 */ void Draw();
|
||||
/* 8008730C */ void MassClear();
|
||||
/* 80087330 */ void ChkAtTgMtrlHit(u8, u8);
|
||||
/* 8008734C */ void ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*,
|
||||
cCcD_GStts*);
|
||||
|
||||
static u8 m_mtrl_hit_tbl[64];
|
||||
|
||||
private:
|
||||
/* 0x0000 */ cCcS cccs;
|
||||
/* 0x2834 */ u8 field_0x2834[0x18];
|
||||
/* 0x284C */ dCcMassS_Mng dccmass_mng;
|
||||
};
|
||||
|
||||
#endif /* D_CC_D_CC_S_H */
|
||||
|
||||
@@ -1,6 +1,244 @@
|
||||
#ifndef D_D_ATTENTION_H
|
||||
#define D_D_ATTENTION_H
|
||||
|
||||
#include "SSystem/SComponent/c_angle.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
struct J3DTransformInfo {};
|
||||
|
||||
class dAttHint_c {
|
||||
public:
|
||||
/* 800738B4 */ void getPId(void*);
|
||||
/* 800738CC */ void convPId(unsigned int);
|
||||
/* 800738FC */ void request(fopAc_ac_c*, int);
|
||||
/* 80073958 */ void init();
|
||||
/* 80073970 */ void proc();
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
};
|
||||
|
||||
class dAttCatch_c {
|
||||
public:
|
||||
/* 8007398C */ void convPId(unsigned int);
|
||||
/* 800739BC */ void init();
|
||||
/* 800739DC */ void proc();
|
||||
/* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int);
|
||||
|
||||
private:
|
||||
void* field_0x0;
|
||||
u32 field_0x4;
|
||||
float field_0x8;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
void* field_0x10;
|
||||
};
|
||||
|
||||
class dAttParam_c {
|
||||
public:
|
||||
/* 80070038 */ dAttParam_c(s32);
|
||||
/* 80070110 */ ~dAttParam_c();
|
||||
|
||||
private:
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
u8 field_0x10;
|
||||
u8 field_0x11;
|
||||
u8 field_0x12;
|
||||
};
|
||||
|
||||
class dAttLook_c {
|
||||
public:
|
||||
/* 80073CA4 */ void convPId(unsigned int);
|
||||
/* 80073CD4 */ void init();
|
||||
/* 80073CEC */ void proc();
|
||||
/* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int);
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
float field_0x8;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttList_c {
|
||||
public:
|
||||
/* 800304D0 */ ~dAttList_c();
|
||||
/* 8003050C */ dAttList_c();
|
||||
/* 80073864 */ void getActor();
|
||||
/* 80073898 */ void setActor(fopAc_ac_c*);
|
||||
|
||||
private:
|
||||
u8 field_0x0[8];
|
||||
cSAngle angle;
|
||||
u8 field_0xa[10];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttDraw_c {
|
||||
public:
|
||||
/* 8003054C */ ~dAttDraw_c();
|
||||
/* 800307F0 */ dAttDraw_c();
|
||||
/* 80072DD8 */ void setAnm(u8, f32);
|
||||
/* 80072FE8 */ void setAlphaAnm(u8, u8);
|
||||
/* 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;
|
||||
/* 0x008 */ mDoExt_bckAnm bckAnm[2];
|
||||
/* 0x040 */ mDoExt_bpkAnm bpkAnm[2];
|
||||
/* 0x070 */ mDoExt_brkAnm brkAnm[2];
|
||||
/* 0x0A0 */ mDoExt_brkAnm brkAnm2[2];
|
||||
/* 0x0D0 */ mDoExt_btkAnm btkAnm[2];
|
||||
/* 0x100 */ mDoExt_bckAnm bckAnm2;
|
||||
/* 0x11C */ mDoExt_bpkAnm bpkAnm2;
|
||||
/* 0x134 */ mDoExt_brkAnm brkAnm3;
|
||||
/* 0x14C */ mDoExt_btkAnm btkAnm2;
|
||||
/* 0x164 */ u8 field_0x164[0xC];
|
||||
/* 0x170 */ u8 field_0x170;
|
||||
/* 0x171 */ u8 field_0x171;
|
||||
/* 0x172 */ u8 field_0x172;
|
||||
/* 0x173 */ u8 field_0x173;
|
||||
/* 0x174 */ u8 field_0x174;
|
||||
/* 0x175 */ u8 field_0x175;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dAttDraw_CallBack_c {
|
||||
public:
|
||||
/* 80070178 */ void execute(u16, J3DTransformInfo*);
|
||||
|
||||
mDoExt_McaMorfCallBack1_c mDoExt_McaMorfCallback;
|
||||
};
|
||||
|
||||
class dAttention_c {
|
||||
public:
|
||||
/* 80070198 */ dAttention_c(fopAc_ac_c*, u32);
|
||||
/* 80070774 */ ~dAttention_c();
|
||||
/* 80070844 */ void GetLockonList(s32);
|
||||
/* 80070880 */ void getActionBtnB();
|
||||
/* 80070974 */ void getActionBtnXY();
|
||||
/* 80070A70 */ void chkAttMask(u32, u32);
|
||||
/* 80070E90 */ void calcWeight(int, fopAc_ac_c*, f32, s16, s16, u32*);
|
||||
/* 800710C0 */ void setList(int, fopAc_ac_c*, f32, f32, cSAngle, u32);
|
||||
/* 80071240 */ void initList(u32);
|
||||
/* 800713CC */ void makeList();
|
||||
/* 80071424 */ void setOwnerAttentionPos();
|
||||
/* 80071488 */ void SelectAttention(fopAc_ac_c*);
|
||||
/* 800716B8 */ void sortList();
|
||||
/* 800718A4 */ void stockAttention();
|
||||
/* 80071960 */ void nextAttention();
|
||||
/* 80071A68 */ void freeAttention();
|
||||
/* 80071A98 */ void chaseAttention();
|
||||
/* 80071CC0 */ void EnemyDistance(fopAc_ac_c*);
|
||||
/* 80071DEC */ void runSoundProc();
|
||||
/* 80071E84 */ void runDrawProc();
|
||||
/* 800720F4 */ void runDebugDisp();
|
||||
/* 800720F8 */ void checkButton();
|
||||
/* 800722A0 */ void triggerProc();
|
||||
/* 800722EC */ void lostCheck();
|
||||
/* 80072344 */ void judgementStatus4Hold();
|
||||
/* 800725F0 */ void judgementStatus4Switch();
|
||||
/* 80072924 */ void Run();
|
||||
/* 80072BD4 */ void Draw();
|
||||
/* 80072D80 */ void lockSoundStart(u32);
|
||||
/* 8007353C */ void LockonTarget(s32);
|
||||
/* 800735DC */ void LockonReleaseDistanse();
|
||||
/* 800736CC */ void LockonTargetPId(s32);
|
||||
/* 80073734 */ void ActionTarget(s32);
|
||||
/* 8007378C */ void CheckObjectTarget(s32);
|
||||
/* 800737E4 */ void LockonTruth();
|
||||
/* 80073838 */ void checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32);
|
||||
|
||||
static u8 loc_type_tbl[12];
|
||||
static u8 act_type_tbl[20];
|
||||
static u8 dist_table[6552];
|
||||
static u32 loc_type_num;
|
||||
static u32 act_type_num;
|
||||
static u32 chk_type_tbl;
|
||||
static u32 chk_type_num;
|
||||
|
||||
private:
|
||||
u8 field_0x0[4];
|
||||
u32 field_0x4;
|
||||
dAttDraw_CallBack_c dattdraw_callback;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u8 field_0x14[8];
|
||||
cXyz field_0x1c;
|
||||
/* 0x028 */ dAttDraw_c attention_draw[2];
|
||||
int field_0x318;
|
||||
cXyz field_0x31c;
|
||||
u8 field_0x328[12];
|
||||
u32 field_0x334;
|
||||
/* 0x0338 */ dAttList_c attention_list1[8];
|
||||
int* field_0x3d8;
|
||||
int* field_0x3dc;
|
||||
/* 0x03E0 */ dAttList_c attention_list2[4];
|
||||
int* field_0x430;
|
||||
int field_0x434;
|
||||
/* 0x0438 */ dAttList_c attention_list3[4];
|
||||
int* field_0x488;
|
||||
int field_0x48c;
|
||||
dAttHint_c attention_hint;
|
||||
dAttCatch_c attention_catch;
|
||||
u8 field_0x4b0[4];
|
||||
dAttLook_c attention_look;
|
||||
u8 field_0x4c0;
|
||||
u8 field_0x4c1;
|
||||
u8 field_0x4c2;
|
||||
u8 field_0x4c3;
|
||||
int* field_0x4c4;
|
||||
u8 field_0x4c8;
|
||||
u8 field_0x4c9;
|
||||
u8 field_0x4ca;
|
||||
u8 field_0x4cb;
|
||||
u8 field_0x4cc;
|
||||
u8 field_0x4cd;
|
||||
u8 field_0x4ce;
|
||||
u8 field_0x4cf;
|
||||
/* 0x04D0 */ dAttParam_c attention_param;
|
||||
u8 field_0x4e3;
|
||||
u8 field_0x4e4;
|
||||
u8 field_0x4e5;
|
||||
int* field_0x4e6;
|
||||
u8 field_0x4ea;
|
||||
u8 field_0x4eb;
|
||||
u8 field_0x4ec;
|
||||
u8 field_0x4ed;
|
||||
u8 field_0x4ee;
|
||||
u8 field_0x4ef;
|
||||
u8 field_0x4f0[0x18];
|
||||
/* 0x0508 */ void* vtable;
|
||||
};
|
||||
|
||||
#endif /* D_D_ATTENTION_H */
|
||||
|
||||
@@ -1,6 +1,441 @@
|
||||
#ifndef D_D_STAGE_H
|
||||
#define D_D_STAGE_H
|
||||
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
struct stage_vrboxcol_info_class {};
|
||||
|
||||
struct stage_vrbox_info_class {};
|
||||
|
||||
struct stage_tresure_class {};
|
||||
|
||||
struct stage_tgsc_data_class {
|
||||
/* 8002847C */ ~stage_tgsc_data_class();
|
||||
/* 800284B8 */ stage_tgsc_data_class();
|
||||
};
|
||||
|
||||
struct stage_tgsc_class {};
|
||||
|
||||
struct stage_stag_info_class {};
|
||||
|
||||
struct stage_scls_info_dummy_class {};
|
||||
|
||||
struct stage_pure_lightvec_info_class {};
|
||||
|
||||
struct stage_pselect_info_class {};
|
||||
|
||||
struct stage_plight_info_class {};
|
||||
|
||||
struct stage_palette_info_class {};
|
||||
|
||||
struct stage_map_info_dummy_class {};
|
||||
|
||||
struct stage_map_info_class {};
|
||||
|
||||
struct stage_envr_info_class {};
|
||||
|
||||
struct stage_camera_class {};
|
||||
|
||||
struct stage_camera2_data_class {};
|
||||
|
||||
struct stage_arrow_class {};
|
||||
|
||||
struct stage_actor_data_class {};
|
||||
|
||||
struct stage_actor_class {};
|
||||
|
||||
struct roomRead_class {};
|
||||
|
||||
struct dStage_FileList2_dt_c {};
|
||||
|
||||
struct dStage_MemoryMap_c {};
|
||||
|
||||
struct dStage_dPath_c {};
|
||||
|
||||
struct dStage_Multi_c {};
|
||||
|
||||
struct dStage_SoundInfo_c {};
|
||||
|
||||
struct dStage_FileList_dt_c {};
|
||||
|
||||
struct dStage_dPnt_c {};
|
||||
|
||||
struct dStage_FloorInfo_c {};
|
||||
|
||||
struct dStage_Lbnk_c {};
|
||||
|
||||
struct dStage_Elst_c {};
|
||||
|
||||
struct dStage_MemoryConfig_c {};
|
||||
|
||||
struct dStage_DMap_c {};
|
||||
|
||||
struct dStage_MapEventInfo_c {};
|
||||
|
||||
class dStage_stageDt_c {
|
||||
public:
|
||||
stage_camera_class* getCamera(void) const;
|
||||
stage_arrow_class* getArrow(void) const;
|
||||
stage_actor_class* getPlayer(void) const;
|
||||
roomRead_class* getRoom(void) const;
|
||||
stage_map_info_class* getMapInfo(void) const;
|
||||
stage_map_info_dummy_class* getMapInfoBase(void) const;
|
||||
stage_palette_info_class* getPaletteInfo(void) const;
|
||||
stage_pselect_info_class* getPselectInfo(void) const;
|
||||
stage_envr_info_class* getEnvrInfo(void) const;
|
||||
stage_vrbox_info_class* getVrboxInfo(void) const;
|
||||
stage_vrboxcol_info_class* getVrboxcolInfo(void) const;
|
||||
dStage_FileList2_dt_c* getFileList2Info(void) const;
|
||||
dStage_FileList_dt_c* getFileListInfo(void) const;
|
||||
stage_plight_info_class* getPlightInfo(void) const;
|
||||
dStage_MapEventInfo_c* getMapEventInfo(void) const;
|
||||
int getPaletteNumInfo(void) const;
|
||||
int getPselectNumInfo(void) const;
|
||||
int getEnvrNumInfo(void) const;
|
||||
int getVrboxNumInfo(void) const;
|
||||
int getVrboxcolNumInfo(void) const;
|
||||
int getPlightNumInfo(void) const;
|
||||
u16 getPlayerNum(void) const;
|
||||
int getMapInfo2(int) const;
|
||||
stage_stag_info_class* getStagInfo(void) const;
|
||||
stage_scls_info_dummy_class* getSclsInfo(void) const;
|
||||
dStage_Lbnk_c* getLbnk(void) const;
|
||||
dStage_dPnt_c* getPntInf(void) const;
|
||||
dStage_dPath_c* getPathInf(void) const;
|
||||
dStage_dPnt_c* getPnt2Inf(void) const;
|
||||
dStage_dPath_c* getPath2Inf(void) const;
|
||||
dStage_SoundInfo_c* getSoundInf(void) const;
|
||||
dStage_SoundInfo_c* getSoundInfCL(void) const;
|
||||
dStage_FloorInfo_c* getFloorInfo(void) const;
|
||||
dStage_MemoryConfig_c* getMemoryConfig(void) const;
|
||||
dStage_MemoryMap_c* getMemoryMap(void) const;
|
||||
dStage_Multi_c* getMulti(void) const;
|
||||
dStage_Multi_c* getOldMulti(void) const;
|
||||
stage_tresure_class* getTresure(void) const;
|
||||
dStage_DMap_c* getDMap(void) const;
|
||||
stage_tgsc_class* getDrTg(void) const;
|
||||
stage_tgsc_class* getDoor(void) const;
|
||||
dStage_Elst_c* getElst(void);
|
||||
stage_pure_lightvec_info_class* getLightVecInfo(void) const;
|
||||
int getLightVecInfoNum(void) const;
|
||||
int getMapPath(void);
|
||||
|
||||
void init(void);
|
||||
void resetOldMulti(void);
|
||||
|
||||
void setCamera(stage_camera_class*);
|
||||
void setArrow(stage_arrow_class*);
|
||||
void setPlayer(stage_actor_class*);
|
||||
void setRoom(roomRead_class*);
|
||||
void setMapInfo(stage_map_info_class*);
|
||||
void setMapInfoBase(stage_map_info_dummy_class*);
|
||||
void setPaletteInfo(stage_palette_info_class*);
|
||||
void setPselectInfo(stage_pselect_info_class*);
|
||||
void setEnvrInfo(stage_envr_info_class*);
|
||||
void setVrboxInfo(stage_vrbox_info_class*);
|
||||
void setVrboxcolInfo(stage_vrboxcol_info_class*);
|
||||
void setFileList2Info(dStage_FileList2_dt_c*);
|
||||
void setFileListInfo(dStage_FileList_dt_c*);
|
||||
void setPlightInfo(stage_plight_info_class*);
|
||||
void setMapEventInfo(dStage_MapEventInfo_c*);
|
||||
void setPaletteNumInfo(int);
|
||||
void setPselectNumInfo(int);
|
||||
void setEnvrNumInfo(int);
|
||||
void setVrboxNumInfo(int);
|
||||
void setVrboxcolNumInfo(int);
|
||||
void setPlightNumInfo(int);
|
||||
void setPlayerNum(u16);
|
||||
void setStagInfo(stage_stag_info_class*);
|
||||
void setSclsInfo(stage_scls_info_dummy_class*);
|
||||
void setLbnk(dStage_Lbnk_c*);
|
||||
void setPntInfo(dStage_dPnt_c*);
|
||||
void setPathInfo(dStage_dPath_c*);
|
||||
void setPnt2Info(dStage_dPnt_c*);
|
||||
void setPath2Info(dStage_dPath_c*);
|
||||
void setSoundInf(dStage_SoundInfo_c*);
|
||||
void setSoundInfCL(dStage_SoundInfo_c*);
|
||||
void setFloorInfo(dStage_FloorInfo_c*);
|
||||
void setMemoryConfig(dStage_MemoryConfig_c*);
|
||||
void setMemoryMap(dStage_MemoryMap_c*);
|
||||
void setMulti(dStage_Multi_c*);
|
||||
void setOldMulti(void);
|
||||
void setTreasure(stage_tresure_class*);
|
||||
void setDMap(dStage_DMap_c*);
|
||||
void setDrTg(stage_tgsc_class*);
|
||||
void setDoor(stage_tgsc_class*);
|
||||
void setElst(dStage_Elst_c*);
|
||||
void setLightVecInfo(stage_pure_lightvec_info_class*);
|
||||
void setLightVecInfoNum(int);
|
||||
void setTresure(stage_tresure_class*);
|
||||
void setMapPath(void*);
|
||||
|
||||
private:
|
||||
u8 field_0x0[0x8];
|
||||
stage_camera_class* mCamera;
|
||||
stage_arrow_class* mArrow;
|
||||
stage_actor_class* mPlayer;
|
||||
roomRead_class* mRoom;
|
||||
stage_map_info_class* mMapInfo;
|
||||
stage_map_info_dummy_class* mMapInfoBase;
|
||||
stage_palette_info_class* mPaletteInfo;
|
||||
stage_pselect_info_class* mPselectInfo;
|
||||
stage_envr_info_class* mEnvrInfo;
|
||||
stage_vrbox_info_class* mVrboxInfo;
|
||||
stage_vrboxcol_info_class* mVrboxcolInfo;
|
||||
stage_plight_info_class* mPlightInfo;
|
||||
dStage_MapEventInfo_c* mMapEventInfo;
|
||||
u32 mPaletteNumInfo;
|
||||
u32 mPselectNumInfo;
|
||||
u32 mEnvrNumInfo;
|
||||
u32 mVrboxNumInfo;
|
||||
int mVrboxcolNumInfo;
|
||||
u32 mPlightNumInfo;
|
||||
u16 mPlayerNum;
|
||||
u16 field_0x56;
|
||||
u16 field_0x58;
|
||||
u16 field_0x5a;
|
||||
stage_stag_info_class* mStagInfo;
|
||||
stage_scls_info_dummy_class* mSclsInfo;
|
||||
dStage_dPnt_c* mPntInfo;
|
||||
dStage_dPath_c* mPathInfo;
|
||||
dStage_dPnt_c* mPnt2Inf;
|
||||
dStage_dPath_c* mPath2Info;
|
||||
dStage_SoundInfo_c* mSoundInf;
|
||||
dStage_SoundInfo_c* mSoundInfCL;
|
||||
dStage_FloorInfo_c* mFloorInfo;
|
||||
dStage_MemoryConfig_c* mMemoryConfig;
|
||||
dStage_MemoryMap_c* mMemoryMap;
|
||||
dStage_Multi_c* mMulti;
|
||||
dStage_Multi_c* mOldMulti;
|
||||
stage_tresure_class* mTreasure;
|
||||
dStage_DMap_c* mDMap;
|
||||
stage_tgsc_class* mDrTg;
|
||||
stage_tgsc_class* mDoor;
|
||||
dStage_Elst_c* mElst;
|
||||
};
|
||||
|
||||
class dStage_roomDt_c {
|
||||
public:
|
||||
stage_pure_lightvec_info_class* getLightVecInfo(void) const;
|
||||
int getLightVecInfoNum(void) const;
|
||||
stage_map_info_class* getMapInfo(void) const;
|
||||
stage_map_info_dummy_class* getMapInfoBase(void) const;
|
||||
int getMapPath(void);
|
||||
stage_vrbox_info_class* getVrboxInfo(void) const;
|
||||
stage_vrboxcol_info_class* getVrboxcolInfo(void) const;
|
||||
dStage_FileList2_dt_c* getFileList2Info(void) const;
|
||||
dStage_FileList_dt_c* getFileListInfo(void) const;
|
||||
stage_actor_class* getPlayer(void) const;
|
||||
dStage_dPnt_c* getPnt2Inf(void) const;
|
||||
dStage_dPath_c* getPath2Inf(void) const;
|
||||
stage_camera_class* getCamera(void) const;
|
||||
stage_arrow_class* getArrow(void) const;
|
||||
dStage_MapEventInfo_c* getMapEventInfo(void) const;
|
||||
dStage_SoundInfo_c* getSoundInf(void) const;
|
||||
dStage_SoundInfo_c* getSoundInfCL(void) const;
|
||||
stage_scls_info_dummy_class* getSclsInfo(void) const;
|
||||
dStage_Lbnk_c* getLbnk(void) const;
|
||||
stage_tresure_class* getTresure(void) const;
|
||||
stage_tgsc_class* getDrTg(void) const;
|
||||
stage_tgsc_class* getDoor(void) const;
|
||||
dStage_FloorInfo_c* getFloorInfo(void) const;
|
||||
u16 getPlayerNum(void) const;
|
||||
int getEnvrNumInfo(void) const;
|
||||
int getVrboxNumInfo(void) const;
|
||||
int getVrboxcolNumInfo(void) const;
|
||||
int getMapInfo2(int) const;
|
||||
int getPlightNumInfo(void) const;
|
||||
stage_stag_info_class* getStagInfo(void) const;
|
||||
dStage_dPnt_c* getPntInf(void) const;
|
||||
dStage_dPath_c* getPathInf(void) const;
|
||||
dStage_MemoryConfig_c* getMemoryConfig(void) const;
|
||||
dStage_MemoryMap_c* getMemoryMap(void) const;
|
||||
dStage_Multi_c* getMulti(void) const;
|
||||
dStage_Multi_c* getOldMulti(void) const;
|
||||
dStage_DMap_c* getDMap(void) const;
|
||||
dStage_Elst_c* getElst(void);
|
||||
roomRead_class* getRoom(void) const;
|
||||
stage_palette_info_class* getPaletteInfo(void) const;
|
||||
stage_pselect_info_class* getPselectInfo(void) const;
|
||||
stage_envr_info_class* getEnvrInfo(void) const;
|
||||
stage_plight_info_class* getPlightInfo(void) const;
|
||||
int getPaletteNumInfo(void) const;
|
||||
int getPselectNumInfo(void) const;
|
||||
|
||||
void initFileList2(void);
|
||||
void init(void);
|
||||
|
||||
void setLightVecInfo(stage_pure_lightvec_info_class*);
|
||||
void setLightVecInfoNum(int);
|
||||
void setMapInfo(stage_map_info_class*);
|
||||
void setMapInfoBase(stage_map_info_dummy_class*);
|
||||
void setVrboxInfo(stage_vrbox_info_class*);
|
||||
void setVrboxcolInfo(stage_vrboxcol_info_class*);
|
||||
void setFileList2Info(dStage_FileList2_dt_c*);
|
||||
void setFileListInfo(dStage_FileList_dt_c*);
|
||||
void setPlayer(stage_actor_class*);
|
||||
void setPnt2Inf(dStage_dPnt_c*);
|
||||
void setPath2Info(dStage_dPath_c*);
|
||||
void setCamera(stage_camera_class*);
|
||||
void setArrow(stage_arrow_class*);
|
||||
void setMapEventInfo(dStage_MapEventInfo_c*);
|
||||
void setSoundInf(dStage_SoundInfo_c*);
|
||||
void setSoundInfCL(dStage_SoundInfo_c*);
|
||||
void setSclsInfo(stage_scls_info_dummy_class*);
|
||||
void setLbnk(dStage_Lbnk_c*);
|
||||
void setTreasure(stage_tresure_class*);
|
||||
void setDrTg(stage_tgsc_class*);
|
||||
void setDoor(stage_tgsc_class*);
|
||||
void setFloorInfo(dStage_FloorInfo_c*);
|
||||
void setPlayerNum(u16);
|
||||
void setVrboxNumInfo(int);
|
||||
void setVrboxcolNumInfo(int);
|
||||
void setStagInfo(stage_stag_info_class*);
|
||||
void setPntInfo(dStage_dPnt_c*);
|
||||
void setPathInfo(dStage_dPath_c*);
|
||||
void setPnt2Info(dStage_dPnt_c*);
|
||||
void setPlightNumInfo(int);
|
||||
void setMemoryConfig(dStage_MemoryConfig_c*);
|
||||
void setMemoryMap(dStage_MemoryMap_c*);
|
||||
void setMulti(dStage_Multi_c*);
|
||||
void setOldMulti(void);
|
||||
void resetOldMulti(void);
|
||||
void setTresure(stage_tresure_class*);
|
||||
void setDMap(dStage_DMap_c*);
|
||||
void setMapPath(void*);
|
||||
void setElst(dStage_Elst_c*);
|
||||
void setRoom(roomRead_class*);
|
||||
void setPaletteInfo(stage_palette_info_class*);
|
||||
void setPselectInfo(stage_pselect_info_class*);
|
||||
void setEnvrInfo(stage_envr_info_class*);
|
||||
void setPlightInfo(stage_plight_info_class*);
|
||||
void setPaletteNumInfo(int);
|
||||
void setPselectNumInfo(int);
|
||||
void setEnvrNumInfo(int);
|
||||
|
||||
private:
|
||||
u8 field_0x0[0x8];
|
||||
stage_pure_lightvec_info_class* mLightVecInfo;
|
||||
int mLightVecInfoNum;
|
||||
stage_map_info_class* mMapInfo;
|
||||
stage_map_info_dummy_class* mMapInfoBase;
|
||||
stage_vrbox_info_class* mVrboxInfo;
|
||||
stage_vrboxcol_info_class* mVrboxcolInfo;
|
||||
dStage_FileList2_dt_c* mFileList2Info;
|
||||
dStage_FileList_dt_c* mFileListInfo;
|
||||
stage_actor_class* mPlayer;
|
||||
dStage_dPnt_c* mPnt2Info;
|
||||
dStage_dPath_c* mPath2Info;
|
||||
stage_camera_class* mCamera;
|
||||
stage_arrow_class* mArrow;
|
||||
dStage_MapEventInfo_c* mMapEventInfo;
|
||||
dStage_SoundInfo_c* mSoundInf;
|
||||
dStage_SoundInfo_c* mSoundInfCL;
|
||||
stage_scls_info_dummy_class* mSclsInfo;
|
||||
dStage_Lbnk_c* mLbnk;
|
||||
stage_tresure_class* mTreasure;
|
||||
stage_tgsc_class* mDrTg;
|
||||
stage_tgsc_class* mDoor;
|
||||
dStage_FloorInfo_c* mFloorInfo;
|
||||
u16 mPlayerNum;
|
||||
u16 field_0x62;
|
||||
int mVrboxNumInfo;
|
||||
int mVrboxcolNumInfo;
|
||||
}; // Size: 0x6C
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dStage_roomControl_c {
|
||||
public:
|
||||
struct roomDzs_c {
|
||||
/* 80024A34 */ void create(u8);
|
||||
/* 80024ABC */ void remove();
|
||||
/* 80024B44 */ void add(u8, u8);
|
||||
};
|
||||
|
||||
void init(void);
|
||||
static int getZoneNo(int room);
|
||||
/* 80024338 */ void initZone();
|
||||
/* 80024384 */ void getStatusRoomDt(int);
|
||||
/* 800243B0 */ void getMemoryBlock(int);
|
||||
/* 800243E8 */ void setStayNo(int);
|
||||
/* 80024424 */ void setNextStayNo(int);
|
||||
/* 800244E8 */ void checkRoomDisp(int) const;
|
||||
/* 8002451C */ void loadRoom(int, u8*, bool);
|
||||
/* 8002471C */ void zoneCountCheck(int) const;
|
||||
/* 80024844 */ void createMemoryBlock(int, u32);
|
||||
/* 800248A8 */ void destroyMemoryBlock();
|
||||
/* 8002490C */ void setArcBank(int, char const*);
|
||||
/* 80024940 */ void getArcBank(int);
|
||||
/* 80024954 */ void resetArchiveBank(int);
|
||||
/* 80024DB0 */ void SetTimePass(int);
|
||||
|
||||
static u8 mMemoryBlock[76];
|
||||
static u8 mArcBank[320];
|
||||
static u8 mStatus[65792];
|
||||
static u8 mDemoArcName[10 + 2 /* padding */];
|
||||
static u8 mProcID[4];
|
||||
static u8 mArcBankName[4];
|
||||
static u8 mArcBankData[4];
|
||||
static u8 m_roomDzs[8];
|
||||
|
||||
private:
|
||||
u8 field_0x0[164];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dStage_nextStage_c {
|
||||
public:
|
||||
void set(const char*, s8, s16, s8, s8, u8);
|
||||
|
||||
private:
|
||||
char mStage[8];
|
||||
s16 mPoint;
|
||||
u8 mRoomNo;
|
||||
u8 mLayer;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
s8 enabled;
|
||||
u8 wipe;
|
||||
u8 wipe_speed;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dStage_startStage_c {
|
||||
public:
|
||||
void set(const char*, s8, s16, s8);
|
||||
inline char* getName() { return mStage; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ char mStage[8];
|
||||
/* 0x8 */ s16 mPoint;
|
||||
/* 0xA */ s8 mRoomNo;
|
||||
/* 0xB */ s8 mLayer;
|
||||
/* 0xC */ s8 mDarkArea;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dStage_roomStatus_c : dStage_roomDt_c {
|
||||
private:
|
||||
/* 0x06C */ u8 mJ3DLightInfo[0xA0 - 0x6C];
|
||||
/* 0x0A0 */ u8 unk_A0[0x3F7 - 0xA0];
|
||||
/* 0x3F7 */ s8 mZoneNo;
|
||||
/* 0x3F8 */ u8 unk_3F8[0x404 - 0x3F8];
|
||||
|
||||
public:
|
||||
int getZoneNo() const { return mZoneNo; }
|
||||
/* 80028360 */ ~dStage_roomStatus_c();
|
||||
/* 8002839C */ dStage_roomStatus_c();
|
||||
}; // Size: 0x404
|
||||
|
||||
// unknown name
|
||||
struct objectNameInfo {
|
||||
char mName[8];
|
||||
s16 mProcTypeID;
|
||||
s8 unkA;
|
||||
}; // Size: 0xC
|
||||
|
||||
#endif /* D_D_STAGE_H */
|
||||
|
||||
@@ -1,6 +1,301 @@
|
||||
#ifndef D_EVENT_D_EVENT_H
|
||||
#define D_EVENT_D_EVENT_H
|
||||
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvt_order_c {
|
||||
public:
|
||||
/* 80030154 */ ~dEvt_order_c();
|
||||
/* 800415D4 */ dEvt_order_c();
|
||||
|
||||
private:
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
u8 field_0x10;
|
||||
u8 field_0x11;
|
||||
u8 field_0x12;
|
||||
u8 field_0x13;
|
||||
u8 field_0x14;
|
||||
u8 field_0x15;
|
||||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
u8 field_0x18;
|
||||
u8 field_0x19;
|
||||
u8 field_0x1a;
|
||||
u8 field_0x1b;
|
||||
u8 field_0x1c;
|
||||
u8 field_0x1d;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
u8 field_0x20;
|
||||
u8 field_0x21;
|
||||
u8 field_0x22;
|
||||
u8 field_0x23;
|
||||
u8 field_0x24;
|
||||
u8 field_0x25;
|
||||
u8 field_0x26;
|
||||
u8 field_0x27;
|
||||
u8 field_0x28;
|
||||
u8 field_0x29;
|
||||
u8 field_0x2a;
|
||||
u8 field_0x2b;
|
||||
u8 field_0x2c;
|
||||
u8 field_0x2d;
|
||||
u8 field_0x2e;
|
||||
u8 field_0x2f;
|
||||
u8 field_0x30;
|
||||
u8 field_0x31;
|
||||
u8 field_0x32;
|
||||
u8 field_0x33;
|
||||
u8 field_0x34;
|
||||
u8 field_0x35;
|
||||
u8 field_0x36;
|
||||
u8 field_0x37;
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
u8 field_0x40;
|
||||
u8 field_0x41;
|
||||
u8 field_0x42;
|
||||
u8 field_0x43;
|
||||
u8 field_0x44;
|
||||
u8 field_0x45;
|
||||
u8 field_0x46;
|
||||
u8 field_0x47;
|
||||
u8 field_0x48;
|
||||
u8 field_0x49;
|
||||
u8 field_0x4a;
|
||||
u8 field_0x4b;
|
||||
u8 field_0x4c;
|
||||
u8 field_0x4d;
|
||||
u8 field_0x4e;
|
||||
u8 field_0x4f;
|
||||
u8 field_0x50;
|
||||
u8 field_0x51;
|
||||
u8 field_0x52;
|
||||
u8 field_0x53;
|
||||
u8 field_0x54;
|
||||
u8 field_0x55;
|
||||
u8 field_0x56;
|
||||
u8 field_0x57;
|
||||
u8 field_0x58;
|
||||
u8 field_0x59;
|
||||
u8 field_0x5a;
|
||||
u8 field_0x5b;
|
||||
u8 field_0x5c;
|
||||
u8 field_0x5d;
|
||||
u8 field_0x5e;
|
||||
u8 field_0x5f;
|
||||
u8 field_0x60;
|
||||
u8 field_0x61;
|
||||
u8 field_0x62;
|
||||
u8 field_0x63;
|
||||
u8 field_0x64;
|
||||
u8 field_0x65;
|
||||
u8 field_0x66;
|
||||
u8 field_0x67;
|
||||
u8 field_0x68;
|
||||
u8 field_0x69;
|
||||
u8 field_0x6a;
|
||||
u8 field_0x6b;
|
||||
u8 field_0x6c;
|
||||
u8 field_0x6d;
|
||||
u8 field_0x6e;
|
||||
u8 field_0x6f;
|
||||
u8 field_0x70;
|
||||
u8 field_0x71;
|
||||
u8 field_0x72;
|
||||
u8 field_0x73;
|
||||
u8 field_0x74;
|
||||
u8 field_0x75;
|
||||
u8 field_0x76;
|
||||
u8 field_0x77;
|
||||
u8 field_0x78;
|
||||
u8 field_0x79;
|
||||
u8 field_0x7a;
|
||||
u8 field_0x7b;
|
||||
u8 field_0x7c;
|
||||
u8 field_0x7d;
|
||||
u8 field_0x7e;
|
||||
u8 field_0x7f;
|
||||
u8 field_0x80;
|
||||
u8 field_0x81;
|
||||
u8 field_0x82;
|
||||
u8 field_0x83;
|
||||
u8 field_0x84;
|
||||
u8 field_0x85;
|
||||
u8 field_0x86;
|
||||
u8 field_0x87;
|
||||
u8 field_0x88;
|
||||
u8 field_0x89;
|
||||
u8 field_0x8a;
|
||||
u8 field_0x8b;
|
||||
u8 field_0x8c;
|
||||
u8 field_0x8d;
|
||||
u8 field_0x8e;
|
||||
u8 field_0x8f;
|
||||
u8 field_0x90;
|
||||
u8 field_0x91;
|
||||
u8 field_0x92;
|
||||
u8 field_0x93;
|
||||
u8 field_0x94;
|
||||
u8 field_0x95;
|
||||
u8 field_0x96;
|
||||
u8 field_0x97;
|
||||
u8 field_0x98;
|
||||
u8 field_0x99;
|
||||
u8 field_0x9a;
|
||||
u8 field_0x9b;
|
||||
u8 field_0x9c;
|
||||
u8 field_0x9d;
|
||||
u8 field_0x9e;
|
||||
u8 field_0x9f;
|
||||
u8 field_0xa0;
|
||||
u8 field_0xa1;
|
||||
u8 field_0xa2;
|
||||
u8 field_0xa3;
|
||||
u8 field_0xa4;
|
||||
u8 field_0xa5;
|
||||
u8 field_0xa6;
|
||||
u8 field_0xa7;
|
||||
u8 field_0xa8;
|
||||
u8 field_0xa9;
|
||||
u8 field_0xaa;
|
||||
u8 field_0xab;
|
||||
u8 field_0xac;
|
||||
u8 field_0xad;
|
||||
u8 field_0xae;
|
||||
u8 field_0xaf;
|
||||
u8 field_0xb0;
|
||||
u8 field_0xb1;
|
||||
u8 field_0xb2;
|
||||
u8 field_0xb3;
|
||||
u8 field_0xb4;
|
||||
u8 field_0xb5;
|
||||
u8 field_0xb6;
|
||||
u8 field_0xb7;
|
||||
u8 field_0xb8;
|
||||
u8 field_0xb9;
|
||||
u8 field_0xba;
|
||||
u8 field_0xbb;
|
||||
u8 field_0xbc;
|
||||
u8 field_0xbd;
|
||||
u8 field_0xbe;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvt_control_c {
|
||||
public:
|
||||
/* 80041580 */ dEvt_control_c();
|
||||
/* 800415D8 */ void orderOld(u16, u16, u16, u16, void*, void*, void const*);
|
||||
/* 80041668 */ void order(u16, u16, u16, u16, void*, void*, s16, u8);
|
||||
/* 80041804 */ void setParam(dEvt_order_c*);
|
||||
/* 80041934 */ void beforeFlagProc(dEvt_order_c*);
|
||||
/* 80041964 */ void afterFlagProc(dEvt_order_c*);
|
||||
/* 800419A8 */ void commonCheck(dEvt_order_c*, u16, u16);
|
||||
/* 80041A20 */ void talkCheck(dEvt_order_c*);
|
||||
/* 80041B58 */ void talkXyCheck(dEvt_order_c*);
|
||||
/* 80041C90 */ void catchCheck(dEvt_order_c*);
|
||||
/* 80041D34 */ void talkEnd();
|
||||
/* 80041DDC */ void demoCheck(dEvt_order_c*);
|
||||
/* 80041F18 */ void demoEnd();
|
||||
/* 80041FA0 */ void potentialCheck(dEvt_order_c*);
|
||||
/* 80042014 */ void doorCheck(dEvt_order_c*);
|
||||
/* 8004212C */ void itemCheck(dEvt_order_c*);
|
||||
/* 800421C0 */ void endProc();
|
||||
/* 80042254 */ void change();
|
||||
/* 800422C0 */ void entry();
|
||||
/* 80042518 */ void reset(void*);
|
||||
/* 80042468 */ void reset();
|
||||
/* 800425B4 */ void clearSkipSystem();
|
||||
/* 8004290C */ void getSkipEventName();
|
||||
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
|
||||
/* 80042958 */ void setSkipZev(void*, char*);
|
||||
/* 800429A8 */ void onSkipFade();
|
||||
/* 800429B4 */ void offSkipFade();
|
||||
/* 800429D4 */ void skipper();
|
||||
/* 80042BBC */ void Step();
|
||||
/* 80042FA8 */ void moveApproval(void*);
|
||||
/* 8004316C */ void compulsory(void*, char const*, u16);
|
||||
/* 800431E8 */ void remove();
|
||||
/* 80043278 */ void getStageEventDt();
|
||||
/* 80043280 */ void sceneChange(int);
|
||||
/* 800432C8 */ void getPId(void*);
|
||||
/* 800432EC */ void convPId(unsigned int);
|
||||
/* 8004331C */ void getStbDemoData(char*);
|
||||
/* 80043500 */ void searchMapEventData(u8, s32);
|
||||
/* 800434D8 */ void searchMapEventData(u8);
|
||||
/* 8004360C */ void runningEventID(s16);
|
||||
/* 8004362C */ void setPt1(void*);
|
||||
/* 8004365C */ void setPt2(void*);
|
||||
/* 8004368C */ void setPtT(void*);
|
||||
/* 800436BC */ void setPtI(void*);
|
||||
/* 800436EC */ void setPtI_Id(unsigned int);
|
||||
/* 800436F4 */ void setPtD(void*);
|
||||
/* 80043724 */ void setGtItm(u8);
|
||||
|
||||
private:
|
||||
/* 0x000 */ u8 field_0x0[4];
|
||||
/* 0x004 */ dEvt_order_c event_order;
|
||||
/* 0x0C4 */ int mPt1;
|
||||
/* 0x0C8 */ int mPt2;
|
||||
/* 0x0CC */ int mPtT;
|
||||
/* 0x0D0 */ int mPtI;
|
||||
/* 0x0D4 */ int mPtd;
|
||||
/* 0x0D8 */ u16 mEventFlag;
|
||||
/* 0x0DA */ u16 mFlag2;
|
||||
/* 0x0DC */ u16 mHindFlag;
|
||||
/* 0x0DE */ u16 field_0xde;
|
||||
/* 0x0E0 */ u16 field_0xe0;
|
||||
/* 0x0E2 */ u8 field_0xe2;
|
||||
/* 0x0E3 */ u8 field_0xe3;
|
||||
/* 0x0E4 */ u8 mMode;
|
||||
/* 0x0E5 */ u8 field_0xe5;
|
||||
/* 0x0E6 */ u8 field_0xe6;
|
||||
/* 0x0E7 */ u8 field_0xe7;
|
||||
/* 0x0E8 */ u8 field_0xe8;
|
||||
/* 0x0E9 */ u8 mDebugStb;
|
||||
/* 0x0EA */ u8 field_0xea;
|
||||
/* 0x0EB */ u8 mMapToolId;
|
||||
/* 0x0EC */ u8 field_0xec;
|
||||
/* 0x0ED */ u8 field_0xed;
|
||||
/* 0x0EE */ u8 mPreItemNo;
|
||||
/* 0x0EF */ u8 mGtItm;
|
||||
/* 0x0F0 */ float mCullRate;
|
||||
/* 0x0F4 */ int mStageEventDt;
|
||||
/* 0x0F8 */ int mChangeOK;
|
||||
/* 0x0FC */ u8 field_0xfc[20];
|
||||
/* 0x110 */ bool mSkipFade;
|
||||
/* 0x114 */ char mSkipEventName[0x14];
|
||||
/* 0x128 */ u8 mCompulsory;
|
||||
/* 0x129 */ u8 field_0x129;
|
||||
/* 0x12C */ int field_0x12c;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
|
||||
@@ -1,6 +1,62 @@
|
||||
#ifndef D_EVENT_D_EVENT_DATA_H
|
||||
#define D_EVENT_D_EVENT_DATA_H
|
||||
|
||||
#include "d/d_stage.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dEvDtStaff_c {
|
||||
/* 80043FD8 */ void specialProc_WaitStart(int);
|
||||
/* 8004403C */ void specialProc_WaitProc(int);
|
||||
/* 80044080 */ void specialProc();
|
||||
/* 80044134 */ void init();
|
||||
/* 80044170 */ void advanceCut(int);
|
||||
/* 80044190 */ void specialProcLight();
|
||||
/* 80044324 */ void specialProcMessage();
|
||||
/* 80044A58 */ void specialProcSound();
|
||||
/* 80044CB8 */ void specialProcCreate();
|
||||
/* 80044EE4 */ void specialProcDirector();
|
||||
/* 80045878 */ void specialProcPackage();
|
||||
/* 80045AFC */ void specialProcTimekeeper();
|
||||
/* 80045C34 */ void specialProcEffect();
|
||||
};
|
||||
|
||||
struct dEvDtEvent_c {
|
||||
/* 80043E78 */ void finishCheck();
|
||||
/* 80043EFC */ void forceFinish();
|
||||
/* 80043F70 */ void specialStaffProc(dEvDtStaff_c*);
|
||||
};
|
||||
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
/* 80043D60 */ void flagCheck(int);
|
||||
/* 80043DC8 */ void flagSet(int);
|
||||
/* 80043E30 */ void flagMaxCheck(int);
|
||||
/* 80043E58 */ void init();
|
||||
|
||||
private:
|
||||
u8 field_0x0[320];
|
||||
};
|
||||
#pragma pack(push, 1)
|
||||
class dEvDtBase_c {
|
||||
public:
|
||||
dEvDtBase_c();
|
||||
/* 80046138 */ void init();
|
||||
/* 8004616C */ void init(char*, int);
|
||||
/* 8004628C */ void advanceCut(dEvDtEvent_c*);
|
||||
/* 800462FC */ void advanceCutLocal(dEvDtStaff_c*);
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u32 field_0x14;
|
||||
u32 field_0x18;
|
||||
u32 field_0x1c;
|
||||
u32 field_0x20;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_DATA_H */
|
||||
|
||||
@@ -1,6 +1,90 @@
|
||||
#ifndef D_EVENT_D_EVENT_MANAGER_H
|
||||
#define D_EVENT_D_EVENT_MANAGER_H
|
||||
|
||||
#include "d/event/d_event_data.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dEvDtData_c {};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvent_exception_c {
|
||||
public:
|
||||
/* 800463DC */ void init();
|
||||
/* 800463F0 */ void setStartDemo(int);
|
||||
/* 80046480 */ void getEventName();
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u32 field_0x8;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
struct dEvent_manager_c {
|
||||
/* 800465E8 */ void getSubstance(dEvDtData_c*, int);
|
||||
/* 80046688 */ dEvent_manager_c();
|
||||
/* 80046710 */ void create();
|
||||
/* 80046800 */ void setObjectArchive(char*);
|
||||
/* 80046888 */ void demoInit();
|
||||
/* 80046904 */ void roomInit(int);
|
||||
/* 800469EC */ void roomFinish(int);
|
||||
/* 80046A58 */ void orderStartDemo();
|
||||
/* 80046C0C */ void remove();
|
||||
/* 80046CB8 */ void startProc(dEvDtEvent_c*);
|
||||
/* 80046DA0 */ void closeProc(dEvDtEvent_c*);
|
||||
/* 80046DAC */ void endProc(s16, int);
|
||||
/* 80046E64 */ void Sequencer();
|
||||
/* 800473FC */ void Experts();
|
||||
/* 800474BC */ void getEventData(s16);
|
||||
/* 80047454 */ void getEventData(s16, int);
|
||||
/* 80047514 */ void getEventIdx(char const*, u8, s32);
|
||||
/* 80047698 */ void getEventIdx(fopAc_ac_c*, u8);
|
||||
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
|
||||
/* 80047930 */ void isMapToolCamera(u8, s32);
|
||||
/* 80047984 */ void order(s16);
|
||||
/* 800479F8 */ void startCheck(s16);
|
||||
/* 80047A38 */ void startCheckOld(char const*);
|
||||
/* 80047A78 */ void endCheck(s16);
|
||||
/* 80047ADC */ void endCheckOld(char const*);
|
||||
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
/* 80047D4C */ void getIsAddvance(int);
|
||||
/* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int);
|
||||
/* 80047F5C */ void getMyNowCutName(int);
|
||||
/* 80047FC8 */ void getMyDataP(int, char const*, int);
|
||||
/* 800480EC */ void getMySubstanceP(int, char const*, int);
|
||||
/* 80048144 */ void getMySubstanceNum(int, char const*);
|
||||
/* 8004817C */ void cutEnd(int);
|
||||
/* 800481F4 */ void getEventPrio(fopAc_ac_c*, s16);
|
||||
/* 800482CC */ void issueStaff(char const*);
|
||||
/* 80048348 */ void cancelStaff(char const*);
|
||||
/* 800483C4 */ void setGoal(cXyz*);
|
||||
/* 800483E0 */ void getGoal();
|
||||
/* 800483E8 */ void getRunEventName();
|
||||
/* 80048520 */ void specialCast_Shutter(s16, int);
|
||||
/* 80048618 */ void specialCast(char const*, int);
|
||||
/* 800487F0 */ void ChkPresentEnd();
|
||||
/* 8004882C */ void checkStartDemo();
|
||||
|
||||
/* 0x0000 */ dEvDtBase_c event_data_base[11];
|
||||
/* 0x018C */ u32 field_0x18c;
|
||||
/* 0x0190 */ u32 field_0x190;
|
||||
/* 0x0194 */ u8 field_0x194[0x8];
|
||||
/* 0x019C */ cXyz goal;
|
||||
/* 0x01A8 */ u8 field_0x1A8[4];
|
||||
/* 0x01AA */ u16 field_0x1aa;
|
||||
/* 0x01AC */ u8 field_0x1ac[0x8];
|
||||
/* 0x01B4 */ dEvent_exception_c event_exception;
|
||||
/* 0x01C0 */ cXyz position;
|
||||
/* 0x01CC */ u8 field_0x1cc[0x14];
|
||||
/* 0x01E0 */ dEvDtFlag_c event_data_flag;
|
||||
/* 0x0320 */ u8 field_0x320[0x35C];
|
||||
/* 0x067C */ void* vtable;
|
||||
/* 0x0680 */ u8 field_0x680[0x3C];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_MANAGER_H */
|
||||
|
||||
@@ -2,5 +2,203 @@
|
||||
#define D_METER_D_METER2_INFO_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
//#include "JSystem/JUtility/JUTFont.h"
|
||||
|
||||
struct dSv_event_flag_c {
|
||||
static u8 saveBitLabels[1644 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 802384C4 */ void setLetterNameID(u16);
|
||||
};
|
||||
|
||||
struct dMsgFlow_c {
|
||||
/* 80249F00 */ dMsgFlow_c();
|
||||
/* 80249F48 */ ~dMsgFlow_c();
|
||||
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
|
||||
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
|
||||
/* 8024A538 */ void getMsgNo();
|
||||
};
|
||||
|
||||
class dMeterMap_c {
|
||||
public:
|
||||
/* 8020D900 */ bool isMapOpenCheck();
|
||||
};
|
||||
|
||||
struct J2DPicture {};
|
||||
|
||||
struct JMSMesgEntry_c {};
|
||||
|
||||
struct J2DTextBox {
|
||||
/* 8021C7F4 */ void getFont() const;
|
||||
};
|
||||
|
||||
struct JUTFont {};
|
||||
|
||||
struct dMenu_Letter {
|
||||
static u8 letter_data[512];
|
||||
};
|
||||
|
||||
struct dItem_data {
|
||||
static void* item_resource[1530];
|
||||
};
|
||||
|
||||
struct CPaneMgr {};
|
||||
|
||||
class dMeter2_c {};
|
||||
|
||||
class dMw_c {};
|
||||
|
||||
struct ResTIMG {};
|
||||
|
||||
struct JKRArchive {
|
||||
/* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*);
|
||||
/* 802D5ECC */ void readIdxResource(void*, u32, u32);
|
||||
};
|
||||
|
||||
class dMeter2Info_c {
|
||||
public:
|
||||
class WarpInfo_c {
|
||||
public:
|
||||
/* 0x00 */ char mStageName[8];
|
||||
/* 0x08 */ cXyz mPosition;
|
||||
/* 0x14 */ s16 mAngle;
|
||||
/* 0x16 */ u8 mRoomNo;
|
||||
/* 0x17 */ u8 unk79;
|
||||
/* 0x18 */ u8 mWarpPlayerNo;
|
||||
};
|
||||
|
||||
dMeter2Info_c();
|
||||
virtual ~dMeter2Info_c();
|
||||
void init(void);
|
||||
void setFloatingMessage(u16, s16, bool);
|
||||
void setFloatingFlow(u16, s16, bool);
|
||||
int isFloatingMessageVisible(void);
|
||||
int decFloatingMessageTimer(void);
|
||||
void resetFloatingMessage(void);
|
||||
void decMsgKeyWaitTimer(void);
|
||||
void getString(u32, char*, JMSMesgEntry_c*); // define JMSMesgEntry
|
||||
void getStringKana(u32, char*, JMSMesgEntry_c*);
|
||||
void getStringKanji(u32, char*, JMSMesgEntry_c*);
|
||||
double getStringLength(J2DTextBox*, char*); // define J2DTextBox
|
||||
dMeter2Info_c* getStringLength(JUTFont*, float, float, char*);
|
||||
void onDirectUseItem(int);
|
||||
bool isDirectUseItem(int);
|
||||
int setMeterString(s32);
|
||||
void resetWarpStatus(void);
|
||||
void warpInProc(void);
|
||||
void warpOutProc(void);
|
||||
void resetMeterString(void);
|
||||
void setWarpInfo(const char*, const cXyz&, s16, u8, u8, u8);
|
||||
u8 getItemType(u8);
|
||||
u8 readItemTexture(u8, void*, J2DPicture*, void*, J2DPicture*, void*, J2DPicture*, void*,
|
||||
J2DPicture*, int); // define J2DPicture
|
||||
void setItemColor(u8, J2DPicture*, J2DPicture*, J2DPicture*, J2DPicture*);
|
||||
s8 get2ndTexture(u8);
|
||||
s8 get3rdTexture(u8);
|
||||
s8 get4thTexture(u8);
|
||||
void set1stColor(u8, J2DPicture*);
|
||||
void set2ndColor(u8, J2DPicture*);
|
||||
void set3rdColor(u8, J2DPicture*);
|
||||
void set4thColor(u8, J2DPicture*);
|
||||
void setHotSpringTimer(u8);
|
||||
void decHotSpringTimer(void);
|
||||
void changeWater(u8);
|
||||
void setMiniGameItem(u8);
|
||||
void resetMiniGameItem(bool);
|
||||
void setMiniGameCount(s8);
|
||||
void setSaveStageName(const char*);
|
||||
u8& getDirectUseItem() { return mDirectUseItem; }
|
||||
dMeterMap_c* getMeterMapClass() { return mMeterMap; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 unk4[4];
|
||||
/* 0x08 */ u32 unk8;
|
||||
/* 0x0C */ u32 unk12;
|
||||
/* 0x10 */ void* mMsgResource;
|
||||
/* 0x14 */ void* mStageMsgResource;
|
||||
/* 0x18 */ void* mMsgUnitResource;
|
||||
/* 0x1C */ dMeter2_c* mMeterClass;
|
||||
/* 0x20 */ dMeterMap_c* mMeterMap;
|
||||
/* 0x24 */ dMw_c* mMenuWindowClass;
|
||||
/* 0x28 */ CPaneMgr* mMeterItemPanePtr[4];
|
||||
/* 0x38 */ WarpInfo_c mWarpInfo;
|
||||
/* 0x54 */ float unk84;
|
||||
/* 0x58 */ float unk88;
|
||||
/* 0x5C */ float unk92;
|
||||
/* 0x60 */ float unk96;
|
||||
/* 0x64 */ float unk100;
|
||||
/* 0x68 */ float unk104;
|
||||
/* 0x6C */ float unk108;
|
||||
/* 0x70 */ float m2DWidth;
|
||||
/* 0x74 */ float m2DHeight;
|
||||
/* 0x78 */ float m2DPosH;
|
||||
/* 0x7C */ float m2DPosV;
|
||||
/* 0x80 */ float unk128;
|
||||
/* 0x84 */ u32 mTimeMs;
|
||||
/* 0x88 */ u32 mMsgTimeMs;
|
||||
/* 0x8C */ u32 mMeterString;
|
||||
/* 0x90 */ u32 mTempBits;
|
||||
/* 0x94 */ s16 mMsgKeyWaitTimer;
|
||||
/* 0x96 */ u16 mHorseLifeCount;
|
||||
/* 0x98 */ u16 unk152;
|
||||
/* 0x9A */ u16 mHotSpringTimer[4];
|
||||
/* 0xA2 */ u16 mSub2DStatus;
|
||||
/* 0xA4 */ u16 mFloatingFlowID;
|
||||
/* 0xA6 */ u16 mFloatingMessageID;
|
||||
/* 0xA8 */ s16 mFloatingMessageTimer;
|
||||
/* 0xAA */ u16 mMapKeyDirection;
|
||||
/* 0xAC */ u16 mBlinkButton;
|
||||
/* 0xAE */ u16 mUseButton;
|
||||
/* 0xB0 */ u16 mGameStatus;
|
||||
/* 0xB2 */ u16 mTouchKeyCheck;
|
||||
/* 0xB4 */ u16 mWindowAccept;
|
||||
/* 0xB6 */ u16 mOilGaugeBackUp;
|
||||
/* 0xB8 */ u8 mDirectUseItem;
|
||||
/* 0xB9 */ u8 mWindowStatus;
|
||||
/* 0xBA */ u8 unk186;
|
||||
/* 0xBB */ u8 mMaxCount;
|
||||
/* 0xBC */ u8 mNowCount;
|
||||
/* 0xBD */ u8 mShopTalkFlag;
|
||||
/* 0xBE */ u8 unk190;
|
||||
/* 0xBF */ u8 mMapStatus;
|
||||
/* 0xC0 */ u8 mWarpStatus;
|
||||
/* 0xC1 */ u8 mPauseStatus;
|
||||
/* 0xC2 */ u8 mGameOverType;
|
||||
/* 0xC3 */ u8 mInsectSelectType;
|
||||
/* 0xC4 */ u32 unk196;
|
||||
/* 0xC8 */ u32 unk200;
|
||||
/* 0xCC */ u8 unk204;
|
||||
/* 0xCD */ u8 unk205;
|
||||
/* 0xCE */ u8 unk206;
|
||||
/* 0xCF */ u8 unk207;
|
||||
/* 0xD0 */ f64 unk208;
|
||||
/* 0xD8 */ u8 unk216;
|
||||
/* 0xD9 */ u8 unk217;
|
||||
/* 0xDA */ u8 unk218;
|
||||
/* 0xDB */ u8 unk219;
|
||||
/* 0xDC */ u8 mRentalBombBag;
|
||||
/* 0xDD */ u8 mMiniGameItemSetFlag;
|
||||
/* 0xDE */ u8 mMiniGameCount;
|
||||
/* 0xDF */ u8 mCollectCursorPosX;
|
||||
/* 0xE0 */ u8 mCollectCursorPosY;
|
||||
/* 0xE1 */ u8 mTableMapRegionNo;
|
||||
/* 0xE2 */ u8 mGoldWolfMapType;
|
||||
/* 0xE3 */ u8 mLightDropGetFlag[3];
|
||||
/* 0xE6 */ u8 mLifeGaugeSE;
|
||||
/* 0xE7 */ u8 unk231;
|
||||
/* 0xE8 */ u8 mItemExplainWindowStatus;
|
||||
/* 0xE9 */ char mSaveStageName[8];
|
||||
/* 0xF1 */ u8 mFloatingMessageWakuVisible;
|
||||
/* 0xF2 */ u8 mMapDrugFlag;
|
||||
/* 0xF3 */ u8 unk243[5];
|
||||
};
|
||||
|
||||
extern dMeter2Info_c g_meter2_info;
|
||||
|
||||
inline dMeterMap_c* dMeter2Info_getMeterMapClass() {
|
||||
return g_meter2_info.getMeterMapClass();
|
||||
}
|
||||
|
||||
#endif /* D_METER_D_METER2_INFO_H */
|
||||
|
||||
@@ -1,6 +1,931 @@
|
||||
#ifndef D_SAVE_D_SAVE_H
|
||||
#define D_SAVE_D_SAVE_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#define DEFAULT_SELECT_ITEM_INDEX 0
|
||||
#define MAX_SELECT_ITEM 3
|
||||
#define MAX_EVENTS 256
|
||||
#define MAX_ITEM_SLOTS 24
|
||||
#define ITEM_XY_MAX_DUMMY 8
|
||||
#define LIGHT_DROP_STAGE 4
|
||||
#define LETTER_INFO_BIT 64
|
||||
#define BOMB_BAG_MAX 3
|
||||
#define BOTTLE_MAX 4
|
||||
|
||||
enum Wallets { WALLET, BIG_WALLET, GIANT_WALLET };
|
||||
|
||||
enum ItemSlots {
|
||||
SLOT_0,
|
||||
SLOT_1,
|
||||
SLOT_2,
|
||||
SLOT_3,
|
||||
SLOT_4,
|
||||
SLOT_5,
|
||||
SLOT_6,
|
||||
SLOT_7,
|
||||
SLOT_8,
|
||||
SLOT_9,
|
||||
SLOT_10,
|
||||
SLOT_11,
|
||||
SLOT_12,
|
||||
SLOT_13,
|
||||
SLOT_14,
|
||||
SLOT_15,
|
||||
SLOT_16,
|
||||
SLOT_17,
|
||||
SLOT_18,
|
||||
SLOT_19,
|
||||
SLOT_20,
|
||||
SLOT_21,
|
||||
SLOT_22,
|
||||
SLOT_23
|
||||
};
|
||||
|
||||
enum ItemTable {
|
||||
HEART,
|
||||
GREEN_RUPEE,
|
||||
BLUE_RUPEE,
|
||||
YELLOW_RUPEE,
|
||||
RED_RUPEE,
|
||||
PURPLE_RUPEE,
|
||||
ORANGE_RUPEE,
|
||||
SILVER_RUPEE,
|
||||
S_MAGIC,
|
||||
L_MAGIC,
|
||||
BOMB_5,
|
||||
BOMB_10,
|
||||
BOMB_20,
|
||||
BOMB_30,
|
||||
ARROW_10,
|
||||
ARROW_20,
|
||||
ARROW_30,
|
||||
ARROW_1,
|
||||
PACHINKO_SHOT,
|
||||
noentry1,
|
||||
noentry2,
|
||||
noentry3,
|
||||
WATER_BOMB_5,
|
||||
WATER_BOMB_10,
|
||||
WATER_BOMB_20,
|
||||
WATER_BOMB_30,
|
||||
BOMB_INSECT_5,
|
||||
BOMB_INSECT_10,
|
||||
BOMB_INSECT_20,
|
||||
BOMB_INSECT_30,
|
||||
RECOVERY_FAILY,
|
||||
TRIPLE_HEART,
|
||||
SMALL_KEY,
|
||||
KAKERA_HEART,
|
||||
UTAWA_HEART,
|
||||
MAP,
|
||||
COMPUS,
|
||||
DUNGEON_EXIT,
|
||||
BOSS_KEY,
|
||||
DUNGEON_BACK,
|
||||
SWORD,
|
||||
MASTER_SWORD,
|
||||
WOOD_SHIELD,
|
||||
SHIELD,
|
||||
HYLIA_SHIELD,
|
||||
TKS_LETTER,
|
||||
WEARS_CASUAL,
|
||||
WEAR_KOKIRI,
|
||||
ARMOR,
|
||||
WEAR_ZORA,
|
||||
MAGIC_LV1,
|
||||
DUNGEON_EXIT_2,
|
||||
WALLET_LV1,
|
||||
WALLET_LV2,
|
||||
WALLET_LV3,
|
||||
noentry4,
|
||||
noentry5,
|
||||
noentry6,
|
||||
noentry7,
|
||||
noentry8,
|
||||
noentry9,
|
||||
ZORAS_JEWEL,
|
||||
HAWK_EYE,
|
||||
WOOD_STICK,
|
||||
BOOMERANG,
|
||||
SPINNER,
|
||||
IRONBALL,
|
||||
BOW,
|
||||
HOOKSHOT,
|
||||
HVY_BOOTS,
|
||||
COPY_ROD,
|
||||
W_HOOKSHOT,
|
||||
KANTERA,
|
||||
LIGHT_SWORD,
|
||||
FISHING_ROD_1,
|
||||
PACHINKO,
|
||||
COPY_ROD_2,
|
||||
noentry10,
|
||||
noentry11,
|
||||
BOMB_BAG_LV2,
|
||||
BOMB_BAG_LV1,
|
||||
BOMB_IN_BAG,
|
||||
noentry12,
|
||||
LIGHT_ARROW,
|
||||
ARROW_LV1,
|
||||
ARROW_LV2,
|
||||
ARROW_LV3,
|
||||
noentry13,
|
||||
LURE_ROD,
|
||||
BOMB_ARROW,
|
||||
HAWK_ARROW,
|
||||
BEE_ROD,
|
||||
JEWEL_ROD,
|
||||
WORM_ROD,
|
||||
JEWEL_BEE_ROD,
|
||||
JEWEL_WORM_ROD,
|
||||
EMPTY_BOTTLE,
|
||||
RED_BOTTLE,
|
||||
GREEN_BOTTLE,
|
||||
BLUE_BOTTLE,
|
||||
MILK_BOTTLE,
|
||||
HALF_MILK_BOTTLE,
|
||||
OIL_BOTTLE,
|
||||
WATER_BOTTLE,
|
||||
OIL_BOTTLE_2,
|
||||
RED_BOTTLE_2,
|
||||
UGLY_SOUP,
|
||||
HOT_SPRING,
|
||||
FAIRY,
|
||||
HOT_SPRING_2,
|
||||
OIL2,
|
||||
OIL,
|
||||
NORMAL_BOMB,
|
||||
WATER_BOMB,
|
||||
POKE_BOMB,
|
||||
FAIRY_DROP,
|
||||
WORM,
|
||||
DROP_BOTTLE,
|
||||
BEE_CHILD,
|
||||
CHUCHU_RARE,
|
||||
CHUCHU_RED,
|
||||
CHUCHU_BLUE,
|
||||
CHUCHU_GREEN,
|
||||
CHUCHU_YELLOW,
|
||||
CHUCHU_PURPLE,
|
||||
LV1_SOUP,
|
||||
LV2_SOUP,
|
||||
LV3_SOUP,
|
||||
LETTER,
|
||||
BILL,
|
||||
WOOD_STATUE,
|
||||
IRIAS_PENDANT,
|
||||
HORSE_FLUTE,
|
||||
noentry14,
|
||||
noentry15,
|
||||
noentry16,
|
||||
noentry17,
|
||||
noentry18,
|
||||
noentry19,
|
||||
noentry20,
|
||||
noentry21,
|
||||
noentry22,
|
||||
noentry23,
|
||||
noentry24,
|
||||
RAFRELS_MEMO,
|
||||
ASHS_SCRIBBLING,
|
||||
noentry25,
|
||||
noentry26,
|
||||
noentry27,
|
||||
noentry28,
|
||||
noentry29,
|
||||
noentry30,
|
||||
noentry31,
|
||||
noentry32,
|
||||
noentry33,
|
||||
noentry34,
|
||||
CHUCHU_YELLOW2,
|
||||
OIL_BOTTLE3,
|
||||
SHOP_BEE_CHILD,
|
||||
CHUCHU_BLACK,
|
||||
LIGHT_DROP,
|
||||
DROP_CONTAINER,
|
||||
DROP_CONTAINER02,
|
||||
DROP_CONTAINER03,
|
||||
FILLED_CONTAINER,
|
||||
MIRROR_PIECE_2,
|
||||
MIRROR_PIECE_3,
|
||||
MIRROR_PIECE_4,
|
||||
noentry35,
|
||||
noentry36,
|
||||
noentry37,
|
||||
noentry38,
|
||||
noentry39,
|
||||
noentry40,
|
||||
noentry41,
|
||||
noentry42,
|
||||
SMELL_YELIA_POUCH,
|
||||
SMELL_PUMPKIN,
|
||||
SMELL_POH,
|
||||
SMELL_FISH,
|
||||
SMELL_CHILDREN,
|
||||
SMELL_MEDICINE,
|
||||
noentry43,
|
||||
noentry44,
|
||||
noentry45,
|
||||
noentry46,
|
||||
noentry47,
|
||||
noentry48,
|
||||
noentry49,
|
||||
noentry50,
|
||||
noentry51,
|
||||
noentry52,
|
||||
M_BEETLE,
|
||||
F_BEETLE,
|
||||
M_BUTTERFLY,
|
||||
F_BUTTERFLY,
|
||||
M_STAG_BEETLE,
|
||||
F_STAG_BEETLE,
|
||||
M_GRASSHOPPER,
|
||||
F_GRASSHOPPER,
|
||||
M_NANAFUSHI,
|
||||
F_NANAFUSHI,
|
||||
M_DANGOMUSHI,
|
||||
F_DANGOMUSHI,
|
||||
M_MANTIS,
|
||||
F_MANTIS,
|
||||
M_LADYBUG,
|
||||
F_LADYBUG,
|
||||
M_SNAIL,
|
||||
F_SNAIL,
|
||||
M_DRAGONFLY,
|
||||
F_DRAGONFLY,
|
||||
M_ANT,
|
||||
F_ANT,
|
||||
M_MAYFLY,
|
||||
F_MAYFLY,
|
||||
noentry53,
|
||||
noentry54,
|
||||
noentry55,
|
||||
noentry56,
|
||||
noentry57,
|
||||
noentry58,
|
||||
noentry59,
|
||||
noentry60,
|
||||
POU_SPIRIT,
|
||||
noentry61,
|
||||
noentry62,
|
||||
noentry63,
|
||||
noentry64,
|
||||
noentry65,
|
||||
noentry66,
|
||||
noentry67,
|
||||
noentry68,
|
||||
ANCIENT_DOCUMENT,
|
||||
AIR_LETTER,
|
||||
ANCIENT_DOCUMENT2,
|
||||
LV7_DUNGEON_EXIT,
|
||||
LINKS_SAVINGS,
|
||||
SMALL_KEY2,
|
||||
POU_FIRE1,
|
||||
POU_FIRE2,
|
||||
POU_FIRE3,
|
||||
POU_FIRE4,
|
||||
BOSSRIDER_KEY,
|
||||
TOMATO_PUREE,
|
||||
TASTE,
|
||||
LV5_BOSS_KEY,
|
||||
SURFBOARD,
|
||||
KANTERA2,
|
||||
L2_KEY_PIECES1,
|
||||
L2_KEY_PIECES2,
|
||||
L2_KEY_PIECES3,
|
||||
KEY_OF_CARAVAN,
|
||||
LV2_BOSS_KEY,
|
||||
KEY_OF_FILONE,
|
||||
NO_ITEM
|
||||
};
|
||||
|
||||
enum EquipmentBits { CLOTHING_BITFIELD, SWORD_BITFIELD, SHIELD_BITFIELD };
|
||||
|
||||
enum Swords { ORDON_SWORD_FLAG, MASTER_SWORD_FLAG, WOODEN_SWORD_FLAG, LIGHT_SWORD_FLAG };
|
||||
|
||||
enum Shields { ORDON_SHIELD_FLAG, HYLIAN_SHIELD_FLAG, WOODEN_SHIELD_FLAG };
|
||||
|
||||
enum Armors { KOKIRI_CLOTHES_FLAG };
|
||||
|
||||
enum DungeonItem { MAP_FLAG, COMPASS_FLAG, BOSS_KEY_FLAG, OOCCOO_NOTE_FLAG = 6 };
|
||||
|
||||
enum AreaVessel { FARON_VESSEL, ELDIN_VESSEL, LANAYRU_VESSEL };
|
||||
|
||||
class dSv_player_status_a_c {
|
||||
public:
|
||||
void init(void);
|
||||
void setSelectItemIndex(signed int, u8);
|
||||
u8 getSelectItemIndex(signed int) const;
|
||||
void setMixItemIndex(signed int, u8);
|
||||
u8 getMixItemIndex(signed int) const;
|
||||
u16 getRupeeMax(void) const;
|
||||
int isMagicFlag(u8) const;
|
||||
|
||||
u16& getMaxLife() { return mMaxHealth; }
|
||||
u16& getLife() { return mCurrentHealth; }
|
||||
u16& getRupee() { return mCurrentRupees; }
|
||||
u16& getOil() { return mCurrentLanternOil; }
|
||||
u8 getSelectEquip(int item) const { return mEquipment[item]; }
|
||||
void setWalletLV(u8 lv) { mCurrentWallet = lv; }
|
||||
void setOil(u16 oil) { mCurrentLanternOil = oil; }
|
||||
void setMaxOil(u16 max) { mMaxLanternOil = max; }
|
||||
void setWalletSize(u8 size) { mCurrentWallet = size; }
|
||||
void setMagic(u8 magic) { mCurrentMagic = magic; }
|
||||
void setMaxMagic(u8 max) { mMaxMagic = max; }
|
||||
void setRupee(u16 rupees) { mCurrentRupees = rupees; }
|
||||
void setLife(u16 life) { mCurrentHealth = life; }
|
||||
void setMaxLife(u8 max) { mMaxHealth = max; }
|
||||
void setSelectEquip(int item_index, u8 item) { mEquipment[item_index] = item; }
|
||||
|
||||
private:
|
||||
u16 mMaxHealth;
|
||||
u16 mCurrentHealth;
|
||||
u16 mCurrentRupees;
|
||||
u16 mMaxLanternOil;
|
||||
u16 mCurrentLanternOil;
|
||||
u8 unk10;
|
||||
u8 mSelectItem[3];
|
||||
u8 mMixItem[3];
|
||||
u8 unk17;
|
||||
u8 unk18;
|
||||
u8 mEquipment[6];
|
||||
u8 mCurrentWallet;
|
||||
u8 mMaxMagic;
|
||||
u8 mCurrentMagic;
|
||||
u8 mMagicFlag;
|
||||
u8 unk29;
|
||||
u8 unk30;
|
||||
u8 unk31[3];
|
||||
u8 padding[6];
|
||||
};
|
||||
|
||||
class dSv_player_status_b_c {
|
||||
public:
|
||||
void init(void);
|
||||
void onDarkClearLV(int);
|
||||
BOOL isDarkClearLV(int) const;
|
||||
void onTransformLV(int);
|
||||
BOOL isTransformLV(int) const;
|
||||
|
||||
private:
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u8 mTransformLevelFlag;
|
||||
u8 mDarkClearLevelFlag;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
float mTimeOfDay;
|
||||
u16 unk16;
|
||||
u8 unk18[3];
|
||||
u8 padding[3];
|
||||
};
|
||||
|
||||
class dSv_horse_place_c {
|
||||
public:
|
||||
void init(void);
|
||||
void set(const char*, const cXyz&, s16, s8);
|
||||
|
||||
private:
|
||||
cXyz mPosition;
|
||||
u16 mXRotation;
|
||||
char mCurrentStage[8];
|
||||
u8 mSpawnId;
|
||||
u8 mRoomId;
|
||||
};
|
||||
|
||||
class dSv_player_return_place_c {
|
||||
public:
|
||||
void init(void);
|
||||
void set(const char*, s8, u8);
|
||||
|
||||
private:
|
||||
char mCurrentStage[8];
|
||||
u8 mSpawnId;
|
||||
u8 mRoomId;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
};
|
||||
|
||||
class dSv_player_field_last_stay_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
BOOL isRegionBit(int unk) const;
|
||||
void onRegionBit(int unk);
|
||||
void set(const char*, const cXyz&, s16, s8, u8);
|
||||
|
||||
private:
|
||||
cXyz mLastPosition;
|
||||
s16 mLastAngle;
|
||||
char mLastStage[8];
|
||||
u8 mLastSpawnId;
|
||||
u8 mLastRoomId;
|
||||
u8 unk24;
|
||||
u8 mLastRegion;
|
||||
u8 unk26[2];
|
||||
};
|
||||
|
||||
class dSv_player_last_mark_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
void setWarpItemData(const char*, const cXyz&, s16, s8, u8, u8);
|
||||
|
||||
const char* getName(void) { return mOoccooStage; }
|
||||
cXyz getPos(void) { return mOoccooPosition; }
|
||||
s16 getAngleY(void) { return mOoccooXRotation; }
|
||||
s8 getRoomNo(void) { return mOoccooRoomId; }
|
||||
char getWarpAcceptStage(void) { return mWarpAcceptStage; }
|
||||
|
||||
private:
|
||||
cXyz mOoccooPosition;
|
||||
s16 mOoccooXRotation;
|
||||
char mOoccooStage[8];
|
||||
u8 mOoccooSpawnId;
|
||||
s8 mOoccooRoomId;
|
||||
char mWarpAcceptStage;
|
||||
u8 unk25[3];
|
||||
};
|
||||
|
||||
class dSv_player_item_c {
|
||||
public:
|
||||
void init(void);
|
||||
void setItem(int, u8);
|
||||
u8 getItem(int, bool) const;
|
||||
void setLineUpItem(void);
|
||||
u8 getLineUpItem(int) const;
|
||||
void setBottleItemIn(u8, u8);
|
||||
void setEmptyBottleItemIn(u8);
|
||||
void setEmptyBottle(void);
|
||||
void setEmptyBottle(u8);
|
||||
void setEquipBottleItemIn(u8, u8);
|
||||
void setEquipBottleItemEmpty(u8);
|
||||
u8 checkBottle(u8);
|
||||
int checkInsectBottle(void);
|
||||
u8 checkEmptyBottle(void);
|
||||
void setBombBagItemIn(u8, u8, bool);
|
||||
void setBombBagItemIn(u8, u8, u8, bool);
|
||||
void setEmptyBombBagItemIn(u8, bool);
|
||||
void setEmptyBombBagItemIn(u8, u8, bool);
|
||||
void setEmptyBombBag(void);
|
||||
void setEmptyBombBag(u8, u8);
|
||||
u8 checkBombBag(u8);
|
||||
void setWarashibeItem(u8);
|
||||
void setRodTypeLevelUp(void);
|
||||
void setBaitItem(u8);
|
||||
|
||||
private:
|
||||
u8 mItems[24];
|
||||
u8 mItemSlots[24];
|
||||
};
|
||||
|
||||
class dSv_player_get_item_c {
|
||||
public:
|
||||
void init(void);
|
||||
void onFirstBit(u8);
|
||||
void offFirstBit(u8);
|
||||
int isFirstBit(u8) const;
|
||||
|
||||
private:
|
||||
u32 mPauseMenuBitFields[4];
|
||||
u8 padding[16];
|
||||
};
|
||||
|
||||
class dSv_player_item_record_c {
|
||||
public:
|
||||
void init(void);
|
||||
void setBombNum(u8, u8);
|
||||
u8 getBombNum(u8) const;
|
||||
void setBottleNum(u8, u8);
|
||||
u8 addBottleNum(u8, s16);
|
||||
u8 getBottleNum(u8) const;
|
||||
|
||||
void setArrowNum(u8 amount) { mBow = amount; }
|
||||
|
||||
private:
|
||||
u8 mBow;
|
||||
u8 mBombBags[3];
|
||||
u8 mBottles[4];
|
||||
u8 mSlingshot;
|
||||
u8 unk5[3];
|
||||
};
|
||||
|
||||
class dSv_player_item_max_c {
|
||||
public:
|
||||
void init(void);
|
||||
void setBombNum(u8, u8);
|
||||
u8 getBombNum(u8) const;
|
||||
|
||||
void setArrowNum(u8 max) { mItemCapacities[0] = max; }
|
||||
u8 getArrowNum() { return mItemCapacities[0]; }
|
||||
|
||||
private:
|
||||
u8 mItemCapacities[8];
|
||||
};
|
||||
|
||||
class dSv_player_collect_c {
|
||||
public:
|
||||
void init(void);
|
||||
void setCollect(int, u8);
|
||||
BOOL isCollect(int, u8) const;
|
||||
void onCollectCrystal(u8);
|
||||
BOOL isCollectCrystal(u8) const;
|
||||
void onCollectMirror(u8);
|
||||
BOOL isCollectMirror(u8) const;
|
||||
|
||||
u8 getPohNum() { return mPoeCount; }
|
||||
|
||||
private:
|
||||
u8 unk0[8];
|
||||
u8 unk8;
|
||||
u8 mCrystal;
|
||||
u8 mMirror;
|
||||
u8 unk11;
|
||||
u8 mPoeCount;
|
||||
u8 padding[3];
|
||||
};
|
||||
|
||||
class dSv_player_wolf_c {
|
||||
public:
|
||||
void init(void);
|
||||
|
||||
private:
|
||||
u8 unk0[3];
|
||||
u8 unk3;
|
||||
};
|
||||
|
||||
class dSv_light_drop_c {
|
||||
public:
|
||||
void init(void);
|
||||
void setLightDropNum(u8, u8);
|
||||
u8 getLightDropNum(u8) const;
|
||||
void onLightDropGetFlag(u8);
|
||||
BOOL isLightDropGetFlag(u8) const;
|
||||
|
||||
private:
|
||||
u8 mLightDropCounts[4];
|
||||
u8 mLightDropGetFlag;
|
||||
u8 unk5[3];
|
||||
};
|
||||
|
||||
class dSv_letter_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
void onLetterGetFlag(int);
|
||||
BOOL isLetterGetFlag(int) const;
|
||||
void onLetterReadFlag(int);
|
||||
int isLetterReadFlag(int) const;
|
||||
|
||||
private:
|
||||
u32 mLetterGetBitfields[2];
|
||||
u32 mLetterReadBitfields[2];
|
||||
u8 unk16[64];
|
||||
};
|
||||
|
||||
class dSv_fishing_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
void addFishCount(u8); // merged with init in the assembly
|
||||
|
||||
private:
|
||||
u16 mFishCount[16];
|
||||
u8 unk32[16];
|
||||
u8 padding[4];
|
||||
};
|
||||
|
||||
class dSv_player_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
char* getLinkName() { return (char*)link_name; }
|
||||
|
||||
private:
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u32 unk12;
|
||||
u16 unk16;
|
||||
u16 unk18;
|
||||
u8 link_name[16];
|
||||
u8 unk36;
|
||||
u8 epona_name[16];
|
||||
u8 unk53;
|
||||
u8 unk54;
|
||||
u8 unk55[5];
|
||||
u8 padding[4];
|
||||
};
|
||||
|
||||
class dSv_player_config_c {
|
||||
public:
|
||||
void init(void);
|
||||
u32 checkVibration(void) const;
|
||||
u8 getSound(void);
|
||||
void setSound(u8);
|
||||
u8 getVibration(void);
|
||||
void setVibration(u8);
|
||||
|
||||
private:
|
||||
u8 unk0;
|
||||
u8 mSoundMode;
|
||||
u8 unk2;
|
||||
u8 mVibrationStatus;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u16 unk6;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
u8 padding[4];
|
||||
};
|
||||
|
||||
class dSv_player_c {
|
||||
public:
|
||||
void init(void);
|
||||
dSv_player_info_c& getPlayerInfo() { return mPlayerInfo; }
|
||||
dSv_player_status_a_c& getPlayerStatusA() { return player_status_a; }
|
||||
dSv_player_item_c& getPlayerItem() { return player_item; }
|
||||
dSv_player_collect_c& getPlayerCollect() { return player_collect; }
|
||||
dSv_player_item_record_c& getPlayerItemRecord() { return player_item_record; }
|
||||
dSv_player_item_max_c& getPlayerItemMax() { return player_item_max; }
|
||||
dSv_player_last_mark_info_c& getPlayerLastMarkInfo() { return player_last_mark; }
|
||||
dSv_light_drop_c& getLightDrop() { return light_drop; }
|
||||
dSv_player_get_item_c& getPlayerGetItem() { return player_get_item; }
|
||||
|
||||
void setPlayerStatusAWalletLV(u8 lv) { player_status_a.setWalletLV(lv); }
|
||||
|
||||
private:
|
||||
dSv_player_status_a_c player_status_a;
|
||||
dSv_player_status_b_c player_status_b;
|
||||
dSv_horse_place_c horse_place;
|
||||
dSv_player_return_place_c player_return;
|
||||
dSv_player_field_last_stay_info_c player_last_field;
|
||||
dSv_player_last_mark_info_c player_last_mark;
|
||||
dSv_player_item_c player_item;
|
||||
dSv_player_get_item_c player_get_item;
|
||||
dSv_player_item_record_c player_item_record;
|
||||
dSv_player_item_max_c player_item_max;
|
||||
dSv_player_collect_c player_collect;
|
||||
dSv_player_wolf_c player_wolf;
|
||||
dSv_light_drop_c light_drop;
|
||||
dSv_letter_info_c letter_info;
|
||||
dSv_fishing_info_c fishing_info;
|
||||
dSv_player_info_c mPlayerInfo;
|
||||
dSv_player_config_c player_config;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dSv_memBit_c {
|
||||
public:
|
||||
void init(void);
|
||||
void onTbox(int);
|
||||
void offTbox(int);
|
||||
BOOL isTbox(int) const;
|
||||
void onSwitch(int);
|
||||
void offSwitch(int);
|
||||
BOOL isSwitch(int) const;
|
||||
BOOL revSwitch(int);
|
||||
void onItem(int);
|
||||
BOOL isItem(int) const;
|
||||
void onDungeonItem(int);
|
||||
bool isDungeonItem(int) const;
|
||||
|
||||
u8 getKeyNum() { return small_key_flags; }
|
||||
void onDungeonItemMap() { onDungeonItem(MAP_FLAG); }
|
||||
bool isDungeonItemMap() const { return isDungeonItem(MAP_FLAG); }
|
||||
void onDungeonItemCompass() { onDungeonItem(COMPASS_FLAG); }
|
||||
void onDungeonItemWarp() { onDungeonItem(OOCCOO_NOTE_FLAG); }
|
||||
void onDungeonItemBossKey() { onDungeonItem(BOSS_KEY_FLAG); }
|
||||
bool isDungeonItemBossKey() const { return isDungeonItem(BOSS_KEY_FLAG); }
|
||||
|
||||
private:
|
||||
u32 area_flags_bitfields1[2];
|
||||
u32 area_flags_bitfields2[4];
|
||||
u32 rupee_flags_bitfields;
|
||||
u8 small_key_flags;
|
||||
u8 dungeons_flags;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dSv_event_c {
|
||||
public:
|
||||
void init(void);
|
||||
void onEventBit(u16);
|
||||
void offEventBit(u16);
|
||||
int isEventBit(u16) const;
|
||||
void setEventReg(u16, u8);
|
||||
u8 getEventReg(u16) const;
|
||||
|
||||
private:
|
||||
u8 events[256];
|
||||
};
|
||||
|
||||
class dSv_MiniGame_c {
|
||||
public:
|
||||
void init(void);
|
||||
|
||||
private:
|
||||
u8 unk0;
|
||||
u8 unk1[3];
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u32 unk12;
|
||||
u32 unk16;
|
||||
u32 unk20;
|
||||
};
|
||||
|
||||
class dSv_memory_c {
|
||||
public:
|
||||
dSv_memory_c(void); // the assembly for this is in d_com_inf_game.s
|
||||
void init(void);
|
||||
dSv_memBit_c& getTempFlags() { return temp_flags; }
|
||||
const dSv_memBit_c& getTempFlagsConst() const { return temp_flags; }
|
||||
|
||||
private:
|
||||
dSv_memBit_c temp_flags;
|
||||
u8 padding30[2];
|
||||
};
|
||||
|
||||
class dSv_memory2_c {
|
||||
public:
|
||||
dSv_memory2_c(void); // the assembly for this is in d_com_inf_game.s
|
||||
void init(void);
|
||||
void onVisitedRoom(int);
|
||||
void offVisitedRoom(int);
|
||||
BOOL isVisitedRoom(int);
|
||||
|
||||
private:
|
||||
u32 unk0[2];
|
||||
};
|
||||
|
||||
class dSv_danBit_c {
|
||||
public:
|
||||
bool init(s8);
|
||||
void onSwitch(int);
|
||||
void offSwitch(int);
|
||||
BOOL isSwitch(int) const;
|
||||
BOOL revSwitch(int);
|
||||
void onItem(int);
|
||||
BOOL isItem(int) const;
|
||||
|
||||
private:
|
||||
s8 mStageNum;
|
||||
u8 unk1;
|
||||
u8 unk2[2];
|
||||
u32 switch_bitfield[2];
|
||||
u32 item_bitfield[4];
|
||||
s16 unk28[16];
|
||||
};
|
||||
|
||||
class dSv_zoneBit_c {
|
||||
public:
|
||||
void init(void);
|
||||
void clearRoomSwitch(void);
|
||||
void clearRoomItem(void);
|
||||
void onSwitch(int);
|
||||
void offSwitch(int);
|
||||
BOOL isSwitch(int) const;
|
||||
BOOL revSwitch(int);
|
||||
void onOneSwitch(int);
|
||||
void offOneSwitch(int);
|
||||
BOOL isOneSwitch(int) const;
|
||||
BOOL revOneSwitch(int);
|
||||
void onItem(int);
|
||||
BOOL isItem(int) const;
|
||||
void onOneItem(int);
|
||||
BOOL isOneItem(int) const;
|
||||
|
||||
private:
|
||||
u16 switch_bitfield[2];
|
||||
u16 room_switch;
|
||||
u16 item_bitfield[2];
|
||||
u16 room_item;
|
||||
u16 unk12;
|
||||
};
|
||||
|
||||
class dSv_zoneActor_c {
|
||||
public:
|
||||
void init(void);
|
||||
void on(int);
|
||||
void off(int);
|
||||
BOOL is(int) const;
|
||||
|
||||
static const int ACTOR_MAX = 0xFFFF;
|
||||
|
||||
private:
|
||||
u32 actor_bitfield[4];
|
||||
};
|
||||
|
||||
class dSv_zone_c {
|
||||
public:
|
||||
dSv_zone_c(void); // the assembly for this is in d_com_inf_game.s
|
||||
void init(int);
|
||||
dSv_zoneBit_c& getZoneBit() { return zone_bit; }
|
||||
const dSv_zoneBit_c& getZoneBitConst() const { return zone_bit; }
|
||||
dSv_zoneActor_c& getZoneActor() { return zone_actor; }
|
||||
const dSv_zoneActor_c& getZoneActorConst() const { return zone_actor; }
|
||||
|
||||
s8& getUnk0() { return unk0; }
|
||||
|
||||
private:
|
||||
s8 unk0;
|
||||
u8 unk1;
|
||||
dSv_zoneBit_c zone_bit;
|
||||
dSv_zoneActor_c zone_actor;
|
||||
};
|
||||
|
||||
class dSv_restart_c {
|
||||
public:
|
||||
void setRoom(const cXyz&, s16, s8);
|
||||
|
||||
private:
|
||||
u8 unk0;
|
||||
u8 unk1[5];
|
||||
s16 mXRotation;
|
||||
cXyz mPosition;
|
||||
u8 padding20[16];
|
||||
};
|
||||
|
||||
class dSv_turnRestart_c {
|
||||
public:
|
||||
void set(const cXyz&, s16, s8, u32);
|
||||
|
||||
private:
|
||||
cXyz mPosition;
|
||||
u32 unk12;
|
||||
s16 mXRotation;
|
||||
s8 unk18;
|
||||
};
|
||||
|
||||
class dSv_reserve_c {
|
||||
public:
|
||||
private:
|
||||
u8 unk[80];
|
||||
};
|
||||
|
||||
class dSv_save_c {
|
||||
public:
|
||||
void init(void);
|
||||
dSv_memory2_c* getSave2(int);
|
||||
dSv_player_c& getPlayer() { return player; }
|
||||
dSv_player_status_a_c& getPlayerStatusA() { return player.getPlayerStatusA(); }
|
||||
dSv_player_get_item_c& getPlayerGetItem() { return player.getPlayerGetItem(); }
|
||||
dSv_player_item_record_c& getPlayerItemRecord() { return player.getPlayerItemRecord(); }
|
||||
dSv_player_item_max_c& getPlayerItemMax() { return player.getPlayerItemMax(); }
|
||||
dSv_player_last_mark_info_c& getPlayerLastMarkInfo() { return player.getPlayerLastMarkInfo(); }
|
||||
dSv_player_item_c& getPlayerItem() { return player.getPlayerItem(); }
|
||||
dSv_player_collect_c& getPlayerCollect() { return player.getPlayerCollect(); }
|
||||
dSv_light_drop_c& getLightDrop() { return player.getLightDrop(); }
|
||||
dSv_event_c& getEventFlags() { return event_flags; }
|
||||
|
||||
void setPlayerStatusAWallet(u8 lv) { player.setPlayerStatusAWalletLV(lv); }
|
||||
|
||||
static const int STAGE_MAX = 4;
|
||||
|
||||
private:
|
||||
dSv_player_c player;
|
||||
dSv_memory_c area_flags[32];
|
||||
dSv_memory2_c unk_flags[64];
|
||||
dSv_event_c event_flags;
|
||||
dSv_reserve_c reserve;
|
||||
dSv_MiniGame_c minigame_flags;
|
||||
};
|
||||
#pragma pack(push, 1)
|
||||
class dSv_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
void getSave(int);
|
||||
void putSave(int);
|
||||
void initZone(void);
|
||||
u32 createZone(int);
|
||||
void onSwitch(int, int);
|
||||
void offSwitch(int, int);
|
||||
BOOL isSwitch(int, int) const;
|
||||
BOOL revSwitch(int, int);
|
||||
void onItem(int, int);
|
||||
BOOL isItem(int, int) const;
|
||||
void onActor(int, int);
|
||||
void offActor(int, int);
|
||||
BOOL isActor(int, int) const;
|
||||
void memory_to_card(char*, int);
|
||||
void card_to_memory(char*, int);
|
||||
void initdata_to_card(char*, int);
|
||||
|
||||
dSv_save_c& getSaveFile() { return save_file; }
|
||||
dSv_memory_c& getMemory() { return memory; }
|
||||
dSv_zone_c* getZones() { return zones; }
|
||||
dSv_player_c& getPlayer() { return save_file.getPlayer(); }
|
||||
dSv_event_c& getEvent() { return events; }
|
||||
|
||||
private:
|
||||
/* 0x000 */ dSv_save_c save_file;
|
||||
/* 0x958 */ dSv_memory_c memory;
|
||||
/* 0x978 */ dSv_danBit_c dungeon_bit;
|
||||
/* 0x9B4 */ dSv_zone_c zones[32];
|
||||
/* 0xDB4 */ dSv_restart_c restart;
|
||||
/* 0xDD8 */ dSv_event_c events;
|
||||
/* 0xED8 */ dSv_turnRestart_c turn_restart;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_SAVE_D_SAVE_H */
|
||||
|
||||
@@ -3,4 +3,25 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct _GXColor {
|
||||
void operator=(const _GXColor& rhs) {
|
||||
r = rhs.r;
|
||||
g = rhs.g;
|
||||
b = rhs.b;
|
||||
a = rhs.a;
|
||||
}
|
||||
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
u8 a;
|
||||
};
|
||||
|
||||
struct GXColorS10 {
|
||||
s16 r;
|
||||
s16 g;
|
||||
s16 b;
|
||||
s16 a;
|
||||
};
|
||||
|
||||
#endif /* GXTEXTURE_H */
|
||||
|
||||
@@ -3,4 +3,14 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct Vec {
|
||||
float x, y, z;
|
||||
float GetX() const { return x; }
|
||||
float GetY() const { return y; }
|
||||
float GetZ() const { return z; }
|
||||
float getXDiff(const Vec* other) const { return x - other->x; }
|
||||
float getYDiff(const Vec* other) const { return y - other->y; }
|
||||
float getZDiff(const Vec* other) const { return z - other->z; }
|
||||
};
|
||||
|
||||
#endif /* VEC_H */
|
||||
|
||||
@@ -1,6 +1,118 @@
|
||||
#ifndef M_DO_M_DO_EXT_H
|
||||
#define M_DO_M_DO_EXT_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct J3DModel {
|
||||
/* 80327100 */ void initialize();
|
||||
/* 80327184 */ void entryModelData(J3DModelData*, u32, u32);
|
||||
/* 803275FC */ void newDifferedDisplayList(u32);
|
||||
/* 8032767C */ void lock();
|
||||
/* 803276B4 */ void unlock();
|
||||
/* 803279A0 */ void diff();
|
||||
};
|
||||
|
||||
struct J3DMaterialTable;
|
||||
struct J3DAnmTextureSRTKey {
|
||||
/* 8032B0C0 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
};
|
||||
|
||||
struct J3DAnmTexPattern {
|
||||
/* 8032B004 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
};
|
||||
|
||||
struct J3DAnmTevRegKey {
|
||||
/* 8032B780 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
};
|
||||
|
||||
struct J3DAnmColor {
|
||||
/* 8032A8A4 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
};
|
||||
|
||||
struct J3DMaterialTable {
|
||||
/* 8032FAF4 */ void entryMatColorAnimator(J3DAnmColor*);
|
||||
/* 8032FBC8 */ void entryTexNoAnimator(J3DAnmTexPattern*);
|
||||
/* 8032FCC4 */ void entryTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
/* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*);
|
||||
};
|
||||
|
||||
struct J3DAnmTransform {};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_baseAnm {
|
||||
public:
|
||||
/* 8000D320 */ void initPlay(s16, int, f32, s16, s16);
|
||||
/* 8000D428 */ void play();
|
||||
|
||||
private:
|
||||
J3DFrameCtrl frame_control;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_btkAnm {
|
||||
public:
|
||||
mDoExt_btkAnm(void);
|
||||
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
||||
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm base_anm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_brkAnm {
|
||||
public:
|
||||
mDoExt_brkAnm(void);
|
||||
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
||||
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_bpkAnm {
|
||||
public:
|
||||
mDoExt_bpkAnm(void);
|
||||
/* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
|
||||
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_bckAnm {
|
||||
public:
|
||||
mDoExt_bckAnm(void);
|
||||
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D990 */ void changeBckOnly(J3DAnmTransform*);
|
||||
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
||||
/* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32);
|
||||
|
||||
private:
|
||||
mDoExt_baseAnm base_anm;
|
||||
u8 field_0x14[4];
|
||||
u32 field_0x18;
|
||||
}; // Size = 0x1C
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_McaMorfCallBack1_c {
|
||||
public:
|
||||
private:
|
||||
void* vtable;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* M_DO_M_DO_EXT_H */
|
||||
|
||||
Reference in New Issue
Block a user