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:
TakaRikka
2021-05-02 10:13:14 -07:00
committed by GitHub
parent a9c78b5b0b
commit 2f4904dae2
234 changed files with 5861 additions and 6762 deletions
@@ -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 */
+18
View File
@@ -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 */
+1
View File
@@ -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);
+280
View File
@@ -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 */
+41
View File
@@ -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 */
+1 -1
View File
@@ -48,4 +48,4 @@ void MtxPosition(cXyz*, cXyz*);
void MtxPush(void);
Mtx* MtxPull(void);
#endif
#endif
-6
View File
@@ -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 */
+39
View File
@@ -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 */
+16
View File
@@ -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 */
+38
View File
@@ -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
View File
@@ -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 */
+338
View File
@@ -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 */
+112
View File
@@ -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 */
+107
View File
@@ -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 */
+14
View File
@@ -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 */
+16
View File
@@ -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 */
+14
View File
@@ -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 */
+57
View File
@@ -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 */
+21
View File
@@ -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 */
+21
View File
@@ -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 */
+9
View File
@@ -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 */
+205
View File
@@ -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 */
+185
View File
@@ -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 */
+35
View File
@@ -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 */
+44
View File
@@ -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 */
+238
View File
@@ -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 */
+435
View File
@@ -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 */
+295
View File
@@ -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 */
+56
View File
@@ -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 */
+84
View File
@@ -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 */
+198
View File
@@ -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 */
+925
View File
@@ -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 */
+21
View File
@@ -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 */
+10
View File
@@ -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 */
+112
View File
@@ -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 */