mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-10 21:00:55 -04:00
d_model / d_simple_model / d_stage + cleanup (#181)
* d_model / d_simple_model / cleanup * d_stage work * set up saveHIO / remove asm * d_a_itembase
This commit is contained in:
@@ -57,15 +57,21 @@ public:
|
||||
/* 80300660 */ s32 setString(char const*, ...);
|
||||
|
||||
void setFontSize(f32 sizeX, f32 sizeY) {
|
||||
f32 x;
|
||||
if (sizeX > 0.0f) {
|
||||
sizeX = 0.0f;
|
||||
x = sizeX;
|
||||
} else {
|
||||
x = 0.0f;
|
||||
}
|
||||
field_0x11c = sizeX;
|
||||
field_0x11c = x;
|
||||
|
||||
f32 y;
|
||||
if (sizeY > 0.0f) {
|
||||
sizeY = 0.0f;
|
||||
y = sizeY;
|
||||
} else {
|
||||
y = 0.0f;
|
||||
}
|
||||
field_0x120 = sizeY;
|
||||
field_0x120 = y;
|
||||
}
|
||||
|
||||
void setFontSize(TFontSize size) { setFontSize(size.mSizeX, size.mSizeY); }
|
||||
|
||||
+48
-30
@@ -1,9 +1,34 @@
|
||||
#ifndef D_A_D_A_ITEMBASE_H
|
||||
#define D_A_D_A_ITEMBASE_H
|
||||
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class daItemBase_c {
|
||||
struct daItemBase_data {
|
||||
/* 0x00 */ f32 field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ s16 field_0x14;
|
||||
/* 0x16 */ s16 field_0x16;
|
||||
/* 0x18 */ s16 field_0x18;
|
||||
/* 0x1A */ s16 field_0x1a;
|
||||
/* 0x1C */ s16 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ s16 field_0x28;
|
||||
/* 0x2A */ s16 field_0x2a;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ s16 field_0x34;
|
||||
/* 0x36 */ s16 field_0x36;
|
||||
};
|
||||
|
||||
class daItemBase_c : public fopAc_ac_c {
|
||||
public:
|
||||
u8 getItemNo();
|
||||
void hide();
|
||||
@@ -12,35 +37,33 @@ public:
|
||||
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();
|
||||
int CreateItemHeap(char const*, s16, s16, s16, s16, s16, s16, s16);
|
||||
int DeleteBase(char const*);
|
||||
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();
|
||||
daItemBase_data& getData();
|
||||
|
||||
static u8 const m_data[56];
|
||||
virtual int DrawBase();
|
||||
virtual void setListStart();
|
||||
virtual void settingBeforeDraw();
|
||||
virtual void setTevStr();
|
||||
virtual void setShadow();
|
||||
virtual void animEntry();
|
||||
virtual void RotateYBase();
|
||||
virtual int clothCreate();
|
||||
virtual int __CreateHeap();
|
||||
virtual BOOL chkFlag(int);
|
||||
virtual s8 getTevFrm();
|
||||
virtual s8 getBtpFrm();
|
||||
virtual u8 getShadowSize();
|
||||
virtual u8 getCollisionH();
|
||||
virtual u8 getCollisionR();
|
||||
|
||||
static daItemBase_data const m_data;
|
||||
|
||||
private:
|
||||
#ifdef NONMATCHING
|
||||
/* 0x568 */ void* field_0x568;
|
||||
/* 0x56C */ request_of_phase_process_class* field_0x56c;
|
||||
/* 0x570 */ u8 field_0x578[4];
|
||||
/* 0x574 */ J3DModel* field_0x574;
|
||||
/* 0x56C */ request_of_phase_process_class mPhase;
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ mDoExt_btkAnm* field_0x578;
|
||||
/* 0x57C */ mDoExt_bpkAnm* field_0x57c;
|
||||
/* 0x580 */ mDoExt_brkAnm* field_0x580;
|
||||
@@ -54,11 +77,6 @@ private:
|
||||
/* 0x920 */ u8 field_0x920[0xA];
|
||||
/* 0x92A */ u8 m_itemNo;
|
||||
/* 0x92B */ u8 field_0x92b;
|
||||
#endif
|
||||
|
||||
u8 unk0[0x92a];
|
||||
u8 mItemNo;
|
||||
u8 unk2347;
|
||||
};
|
||||
|
||||
#endif /* D_A_D_A_ITEMBASE_H */
|
||||
|
||||
+1033
-834
File diff suppressed because it is too large
Load Diff
@@ -2,5 +2,37 @@
|
||||
#define D_COM_D_COM_STATIC_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class daSus_c {
|
||||
public:
|
||||
class data_c {
|
||||
public:
|
||||
/* 80030F14 */ void set(s8, cXyz const&, cXyz const&, u8, u8, u8);
|
||||
/* 80030FBC */ void reset();
|
||||
/* 80030FCC */ void isSwitch();
|
||||
/* 800310C8 */ void check(fopAc_ac_c*);
|
||||
/* 80031038 */ void check(cXyz const&);
|
||||
/* 80031150 */ void execute();
|
||||
/* 80031F28 */ ~data_c();
|
||||
/* 80031F64 */ data_c();
|
||||
};
|
||||
|
||||
class room_c {
|
||||
public:
|
||||
/* 80031190 */ void add(daSus_c::data_c*);
|
||||
/* 800311FC */ void reset();
|
||||
/* 80031EE4 */ room_c();
|
||||
};
|
||||
|
||||
/* 80031248 */ void newData(s8, cXyz const&, cXyz const&, u8, u8, u8);
|
||||
/* 800313BC */ void reset();
|
||||
/* 800314D4 */ void check(fopAc_ac_c*);
|
||||
/* 80031434 */ static bool check(s8, cXyz const&);
|
||||
/* 800315A4 */ static void execute();
|
||||
|
||||
static u8 mData[1152];
|
||||
static u8 mRoom[256];
|
||||
};
|
||||
|
||||
#endif /* D_COM_D_COM_STATIC_H */
|
||||
|
||||
+21
-3
@@ -142,12 +142,14 @@ public:
|
||||
/* 80055768 */ void reset();
|
||||
/* 800557C8 */ void imageDraw(f32 (*)[4]);
|
||||
/* 80055A14 */ void draw(f32 (*)[4]);
|
||||
/* 80055C74 */ void setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*);
|
||||
/* 80055C74 */ int setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*);
|
||||
/* 80055F1C */ void addReal(u32, J3DModel*);
|
||||
/* 80055F84 */ void setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
|
||||
/* 80055F84 */ int setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
|
||||
/* 80055FE8 */ void setSimpleTex(ResTIMG const*);
|
||||
|
||||
static u8 mSimpleTexObj[32];
|
||||
static GXTexObj* getSimpleTex() { return &mSimpleTexObj; }
|
||||
|
||||
static GXTexObj mSimpleTexObj;
|
||||
|
||||
private:
|
||||
/* 0x00000 */ u8 field_0x0;
|
||||
@@ -218,15 +220,31 @@ public:
|
||||
view_class* getView() { return mView; }
|
||||
J3DDrawBuffer* getOpaListFilter() { return mListFilter; }
|
||||
J3DDrawBuffer* getOpaListP0() { return mListP0; }
|
||||
J3DDrawBuffer* getOpaListPacket() { return mOpaListPacket; }
|
||||
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
|
||||
void setXluListSky() { setXluDrawList(mpXluListSky); }
|
||||
void setOpaListSky() { setOpaDrawList(mOpaListSky); }
|
||||
void setXluListDark() { setXluDrawList(mXluListDark); }
|
||||
void setOpaListDark() { setOpaDrawList(mOpaListDark); }
|
||||
void setOpaList() { setOpaDrawList(mOpaList); }
|
||||
void setXluList() { setXluDrawList(mXluList); }
|
||||
void setXluListBG() { setXluDrawList(mXluListBG); }
|
||||
void setOpaListBG() { setOpaDrawList(mOpaListBG); }
|
||||
void setXluList2DScreen() { setXluDrawList(mList2DScreen); }
|
||||
|
||||
int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4,
|
||||
f32 param_5, _GXTexObj* param_6) {
|
||||
return mShadowControl.setSimple(param_0, param_1, param_2, param_3, param_4, param_5,
|
||||
param_6);
|
||||
}
|
||||
|
||||
int setRealShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, f32 param_4,
|
||||
f32 param_5, dKy_tevstr_c* param_6) {
|
||||
return mShadowControl.setReal(param_0, param_1, param_2, param_3, param_4, param_5,
|
||||
param_6);
|
||||
}
|
||||
|
||||
static void offWipe() { data_80450ED0 = 0; }
|
||||
|
||||
static u8 mWipeDlst[72];
|
||||
|
||||
@@ -3,4 +3,84 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dItem_itemInfo {
|
||||
/* 0x0 */ u8 mShadowSize;
|
||||
/* 0x1 */ u8 mH;
|
||||
/* 0x2 */ u8 mR;
|
||||
/* 0x3 */ u8 mFlag;
|
||||
};
|
||||
|
||||
struct dItem_itemResource {
|
||||
/* 0x00 */ char* mArcName;
|
||||
/* 0x04 */ s16 mBmdName;
|
||||
/* 0x06 */ s16 mBtkName;
|
||||
/* 0x08 */ s16 mBckName;
|
||||
/* 0x0A */ s16 mBrkName;
|
||||
/* 0x0C */ s16 mBtpName;
|
||||
/* 0x0E */ s8 mTevFrm;
|
||||
/* 0x0F */ s8 mBtpFrm;
|
||||
/* 0x10 */ s16 mTexture;
|
||||
/* 0x12 */ u8 mTexScale;
|
||||
/* 0x14 */ s16 field_0x14;
|
||||
}; // Size: 0x18
|
||||
|
||||
struct dItem_fieldItemResource {
|
||||
/* 0x0 */ char* mFieldArc;
|
||||
/* 0x4 */ s16 mItemBmdName;
|
||||
/* 0x6 */ s16 mItemBckName;
|
||||
/* 0x8 */ s16 mItemBrkName;
|
||||
/* 0xA */ u8 field_0xa;
|
||||
/* 0xC */ u16 mHeapSize;
|
||||
}; // Size: 0x10
|
||||
|
||||
struct dItem_data {
|
||||
static char* getArcName(u8 index) { return item_resource[index].mArcName; }
|
||||
|
||||
static s16 getBtpName(u8 index) { return item_resource[index].mBtpName; }
|
||||
|
||||
static s16 getBrkName(u8 index) { return item_resource[index].mBrkName; }
|
||||
|
||||
static s16 getBxaName(u8 index) { return -1; }
|
||||
|
||||
static s16 getBckName(u8 index) { return item_resource[index].mBckName; }
|
||||
|
||||
static s16 getBpkName(u8 index) { return -1; }
|
||||
|
||||
static s16 getBtkName(u8 index) { return item_resource[index].mBtkName; }
|
||||
|
||||
static s16 getBmdName(u8 index) { return item_resource[index].mBmdName; }
|
||||
|
||||
static s8 getTevFrm(u8 index) { return item_resource[index].mTevFrm; }
|
||||
|
||||
static s8 getBtpFrm(u8 index) { return item_resource[index].mBtpFrm; }
|
||||
|
||||
static char* getFieldArc(u8 index) { return field_item_res[index].mFieldArc; }
|
||||
|
||||
static s16 getItemBmdName(u8 index) { return field_item_res[index].mItemBmdName; }
|
||||
|
||||
static s16 getItemBtkName(u8 index) { return -1; }
|
||||
|
||||
static s16 getItemBpkName(u8 index) { return -1; }
|
||||
|
||||
static s16 getItemBckName(u8 index) { return field_item_res[index].mItemBckName; }
|
||||
|
||||
static s16 getItemBxaName(u8 index) { return -1; }
|
||||
|
||||
static s16 getItemBrkName(u8 index) { return field_item_res[index].mItemBrkName; }
|
||||
|
||||
static s16 getItemBtpName(u8 index) { return -1; }
|
||||
|
||||
static BOOL chkFlag(u8 index, int flag) { return item_info[index].mFlag & flag; }
|
||||
|
||||
static u8 getShadowSize(u8 index) { return item_info[index].mShadowSize; }
|
||||
|
||||
static u8 getH(u8 index) { return item_info[index].mH; }
|
||||
|
||||
static u8 getR(u8 index) { return item_info[index].mR; }
|
||||
|
||||
static dItem_itemResource item_resource[255];
|
||||
static dItem_fieldItemResource field_item_res[255];
|
||||
static dItem_itemInfo item_info[255];
|
||||
};
|
||||
|
||||
#endif /* D_D_ITEM_DATA_H */
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct JKRAramArchive;
|
||||
u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName);
|
||||
|
||||
struct STControl {
|
||||
/* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16);
|
||||
/* 80032088 */ void setWaitParm(s16, s16, s16, s16, f32, f32, s16, s16);
|
||||
|
||||
@@ -1,6 +1,55 @@
|
||||
#ifndef D_D_MODEL_H
|
||||
#define D_D_MODEL_H
|
||||
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dMdl_obj_c {
|
||||
public:
|
||||
MtxP getMtx() { return mMtx; }
|
||||
|
||||
/* 0x00 */ Mtx mMtx;
|
||||
/* 0x30 */ dMdl_obj_c* mpObj;
|
||||
};
|
||||
|
||||
class dMdl_c : public J3DPacket {
|
||||
public:
|
||||
/* 8009C650 */ void create(J3DModelData*, u16, dKy_tevstr_c*);
|
||||
/* 8009C668 */ void entryObj(dMdl_obj_c*);
|
||||
/* 8009C930 */ dMdl_c();
|
||||
|
||||
/* 8009C4FC */ virtual void draw();
|
||||
/* 8009C808 */ virtual ~dMdl_c();
|
||||
|
||||
J3DModelData* getModelData() { return mpModelData; }
|
||||
u16 getMaterialId() { return mMaterialId; }
|
||||
dKy_tevstr_c* getTevstr() { return mpTevstr; }
|
||||
|
||||
private:
|
||||
/* 0x10 */ J3DModelData* mpModelData;
|
||||
/* 0x14 */ dKy_tevstr_c* mpTevstr;
|
||||
/* 0x18 */ u16 mMaterialId;
|
||||
/* 0x1A */ bool field_0x1a;
|
||||
/* 0x1C */ dMdl_obj_c* mpModelObj;
|
||||
};
|
||||
|
||||
class dMdl_mng_c {
|
||||
public:
|
||||
dMdl_mng_c() { field_0x80 = 0; }
|
||||
~dMdl_mng_c() {}
|
||||
|
||||
/* 8009C6DC */ dMdl_c* search(J3DModelData*, u16, dKy_tevstr_c*);
|
||||
/* 8009C724 */ dMdl_c* entry(J3DModelData*, u16, dKy_tevstr_c*);
|
||||
/* 8009C8D8 */ dMdl_c* entry(J3DModelData*, u16, int);
|
||||
/* 8009C7AC */ void create();
|
||||
/* 8009C864 */ void remove();
|
||||
/* 8009C8C0 */ void reset();
|
||||
|
||||
static dMdl_mng_c* m_myObj;
|
||||
|
||||
private:
|
||||
/* 0x00 */ dMdl_c field_0x0[4];
|
||||
/* 0x80 */ u8 field_0x80;
|
||||
};
|
||||
|
||||
#endif /* D_D_MODEL_H */
|
||||
|
||||
@@ -97,6 +97,10 @@ public:
|
||||
return deleteRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
|
||||
}
|
||||
|
||||
int deleteStageRes(const char* name) {
|
||||
return deleteRes(name, &mStageInfo[0], ARRAY_SIZE(mStageInfo));
|
||||
}
|
||||
|
||||
void* getStageRes(const char* arcName, const char* resName) {
|
||||
return getRes(arcName, resName, &mStageInfo[0], ARRAY_SIZE(mStageInfo));
|
||||
}
|
||||
@@ -105,6 +109,10 @@ public:
|
||||
return getResInfo(arcName, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
|
||||
}
|
||||
|
||||
dRes_info_c* getStageResInfo(const char* arcName) {
|
||||
return getResInfo(arcName, &mStageInfo[0], ARRAY_SIZE(mStageInfo));
|
||||
}
|
||||
|
||||
/* 0x0000 */ dRes_info_c mObjectInfo[0x80];
|
||||
/* 0x1200 */ dRes_info_c mStageInfo[0x40];
|
||||
}; // Size: 0x1B00
|
||||
|
||||
@@ -1,6 +1,61 @@
|
||||
#ifndef D_D_SIMPLE_MODEL_H
|
||||
#define D_D_SIMPLE_MODEL_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class modelList_c {
|
||||
public:
|
||||
void init() {
|
||||
mpModel = NULL;
|
||||
field_0x4 = NULL;
|
||||
}
|
||||
|
||||
void set(J3DModel* model) { mpModel = model; }
|
||||
|
||||
/* 0x0 */ J3DModel* mpModel;
|
||||
/* 0x4 */ modelList_c* field_0x4;
|
||||
};
|
||||
|
||||
class diff_model_c {
|
||||
public:
|
||||
/* 80048D60 */ diff_model_c();
|
||||
/* 800490EC */ BOOL create(J3DModelData*, int, u8);
|
||||
/* 800491F4 */ J3DModelData* getModelData();
|
||||
/* 80049210 */ void remove(int);
|
||||
/* 80049270 */ void draw();
|
||||
/* 80049368 */ void init();
|
||||
/* 80049388 */ BOOL isSame(J3DModelData*, int);
|
||||
/* 800493FC */ s32 getRoomNo();
|
||||
/* 80049408 */ void insert(modelList_c*);
|
||||
|
||||
J3DModel* getModel() { return mpModel; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ JKRSolidHeap* mpHeap;
|
||||
/* 0x04 */ J3DModel* mpModel;
|
||||
/* 0x08 */ int mCreateNum;
|
||||
/* 0x0C */ modelList_c* mpList;
|
||||
/* 0x10 */ u8 mDrawBG;
|
||||
/* 0x11 */ s8 mRoomNo;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
}; // Size: 0x14
|
||||
|
||||
class dSmplMdl_draw_c {
|
||||
public:
|
||||
/* 80048CB4 */ dSmplMdl_draw_c();
|
||||
/* 80048E0C */ void draw();
|
||||
/* 80048EBC */ void entry(J3DModel*, int);
|
||||
/* 80048F70 */ BOOL addModel(J3DModelData*, int, u8);
|
||||
/* 80049058 */ int removeModel(J3DModelData*, int);
|
||||
|
||||
/* 80048D80 */ virtual ~dSmplMdl_draw_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ diff_model_c mModel[8];
|
||||
/* 0xA4 */ int mListCount;
|
||||
/* 0xA8 */ modelList_c mList[500];
|
||||
}; // Size: 0x1048
|
||||
|
||||
#endif /* D_D_SIMPLE_MODEL_H */
|
||||
|
||||
+306
-150
@@ -9,48 +9,53 @@
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
struct stage_vrboxcol_info_class {};
|
||||
struct stage_vrboxcol_info_class {
|
||||
// VRB
|
||||
}; // Size: 0x18
|
||||
|
||||
struct stage_vrbox_info_class {};
|
||||
struct stage_vrbox_info_class {
|
||||
// Virt
|
||||
};
|
||||
|
||||
struct stage_tresure_class {};
|
||||
|
||||
struct stage_tgsc_data_class {
|
||||
/* 8002847C */ ~stage_tgsc_data_class() {}
|
||||
/* 800284B8 */ stage_tgsc_data_class() {}
|
||||
/* 0x00 */ u32 field_0x0;
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
/* 0x08 */ fopAcM_prmBase_class field_0x8;
|
||||
/* 0x20 */ u16 field_0x20;
|
||||
/* 0x22 */ u8 field_0x22;
|
||||
}; // Size = 0x24
|
||||
|
||||
STATIC_ASSERT(sizeof(stage_tgsc_data_class) == 0x24);
|
||||
|
||||
struct stage_tgsc_class {};
|
||||
class stage_tresure_class {
|
||||
public:
|
||||
/* 0x00 */ char mName[8];
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 mTypeFlag;
|
||||
/* 0x0A */ u8 field_0xa; // part of flag
|
||||
/* 0x0B */ u8 mAppearType;
|
||||
/* 0x0C */ Vec mPosition;
|
||||
/* 0x18 */ s16 mRoomNo;
|
||||
/* 0x1A */ s16 mRotation;
|
||||
/* 0x1C */ u8 mItem;
|
||||
/* 0x1D */ u8 mFlagID;
|
||||
}; // Size: 0x20
|
||||
|
||||
struct stage_stag_info_class {
|
||||
/* 0x00 */ u8 field_0x00[8];
|
||||
/* 0x00 */ f32 field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ u8 mCameraType;
|
||||
/* 0x09 */ u8 field_0x09;
|
||||
/* 0x0A */ u16 field_0x0a;
|
||||
/* 0x0C */ u32 field_0x0c;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ u8 field_0x14[6];
|
||||
/* 0x14 */ u8 field_0x14[6]; // usually all 0xFF
|
||||
/* 0x1A */ s16 mGapLevel;
|
||||
/* 0x1C */ s16 mRangeUp;
|
||||
/* 0x1E */ s16 mRangeDown;
|
||||
/* 0x20 */ u8 field_0x20[8];
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ u8 mMsgGroup;
|
||||
/* 0x2A */ u16 mStageTitleNo;
|
||||
}; // Size: 0x2C
|
||||
/* 0x2C */ u8 mParticleNo;
|
||||
};
|
||||
|
||||
struct stage_scls_info_class {
|
||||
/* 0x0 */ char mStage[8];
|
||||
/* 0x8 */ u8 mStart;
|
||||
/* 0x9 */ s8 mRoom;
|
||||
/* 0xA */ s8 field_0xa;
|
||||
/* 0xB */ s8 field_0xb;
|
||||
/* 0xA */ u8 field_0xa;
|
||||
/* 0xB */ u8 field_0xb;
|
||||
/* 0xC */ s8 mWipe;
|
||||
}; // Size: 0xD
|
||||
|
||||
@@ -59,33 +64,97 @@ struct stage_scls_info_dummy_class {
|
||||
/* 0x04 */ stage_scls_info_class* mEntries;
|
||||
};
|
||||
|
||||
struct stage_pure_lightvec_info_class {};
|
||||
struct stage_pure_lightvec_info_class {
|
||||
// LGT
|
||||
};
|
||||
|
||||
struct stage_pselect_info_class {};
|
||||
struct stage_pselect_info_class {
|
||||
// Col
|
||||
};
|
||||
|
||||
struct stage_plight_info_class {};
|
||||
struct stage_plight_info_class {
|
||||
// LGHT
|
||||
};
|
||||
|
||||
struct stage_palette_info_class {};
|
||||
struct stage_palette_info_class {
|
||||
// PAL
|
||||
};
|
||||
|
||||
struct stage_map_info_dummy_class {};
|
||||
struct stage_map_info_class {
|
||||
/* 0x00 */ u8 field_0x0[0x35];
|
||||
/* 0x35 */ u8 field_0x35;
|
||||
/* 0x36 */ u8 field_0x36[2];
|
||||
}; // Size: 0x38
|
||||
|
||||
struct stage_map_info_class {};
|
||||
struct stage_map_info_dummy_class {
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ stage_map_info_class* mData;
|
||||
};
|
||||
|
||||
struct stage_envr_info_class {};
|
||||
struct stage_envr_info_class {
|
||||
// Env
|
||||
};
|
||||
|
||||
struct stage_camera_class {};
|
||||
struct stage_camera2_data_class {
|
||||
/* 0x00 */ int field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ u8 field_0x10;
|
||||
/* 0x11 */ u8 field_0x11;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
/* 0x13 */ u8 field_0x13;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u16 field_0x16;
|
||||
}; // Size: 0x18
|
||||
|
||||
struct stage_camera2_data_class {};
|
||||
struct stage_camera_class {
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ stage_camera2_data_class* field_0x4;
|
||||
};
|
||||
|
||||
struct stage_arrow_class {};
|
||||
struct stage_arrow_class {
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
/* 0x0C */ csXyz mAngle;
|
||||
}; // Size: 0x14
|
||||
|
||||
struct stage_actor_data_class {};
|
||||
class stage_actor_data_class {
|
||||
public:
|
||||
/* 0x00 */ char mName[8];
|
||||
/* 0x08 */ u32 mParameter;
|
||||
/* 0x0C */ cXyz mSpawnPos;
|
||||
/* 0x18 */ csXyz mAngle;
|
||||
/* 0x1E */ u16 mEnemyNo;
|
||||
}; // Size: 0x20
|
||||
|
||||
struct stage_actor_class {};
|
||||
class stage_actor_class {
|
||||
public:
|
||||
/* 0x0 */ int mEntryNum;
|
||||
/* 0x4 */ stage_actor_data_class* mEntries;
|
||||
};
|
||||
|
||||
struct stage_tgsc_data_class : public stage_actor_data_class {
|
||||
/* 8002847C */ ~stage_tgsc_data_class() {}
|
||||
/* 800284B8 */ stage_tgsc_data_class() {}
|
||||
|
||||
/* 0x20 */ u8 field_0x20;
|
||||
/* 0x21 */ u8 field_0x21;
|
||||
/* 0x22 */ u8 field_0x22;
|
||||
}; // Size: 0x24
|
||||
|
||||
STATIC_ASSERT(sizeof(stage_tgsc_data_class) == 0x24);
|
||||
|
||||
class stage_tgsc_class {
|
||||
public:
|
||||
/* 0x00 */ int mEntryNum;
|
||||
/* 0x04 */ stage_tgsc_data_class* mData;
|
||||
};
|
||||
|
||||
struct roomRead_data_class {
|
||||
/* 0x0 */ u8 field_0x0[2];
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x4 */ u8* field_0x4;
|
||||
};
|
||||
|
||||
struct roomRead_class {
|
||||
@@ -93,37 +162,83 @@ struct roomRead_class {
|
||||
/* 0x4 */ roomRead_data_class** field_0x4;
|
||||
};
|
||||
|
||||
inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) {
|
||||
return data.field_0x2 & 8;
|
||||
}
|
||||
|
||||
struct dStage_FileList2_dt_c {};
|
||||
class dStage_FileList2_dt_c {
|
||||
public:
|
||||
/* 0x00 */ f32 mLeftRmX;
|
||||
/* 0x04 */ f32 mInnerRmZ;
|
||||
/* 0x08 */ f32 mRightRmX;
|
||||
/* 0x0C */ f32 mFrontRmZ;
|
||||
/* 0x10 */ u8 mMinFloorNo;
|
||||
/* 0x11 */ u8 mMaxFloorNo;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
/* 0x13 */ u8 field_0x13;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ s16 field_0x1c;
|
||||
}; // Size: 0x20
|
||||
|
||||
struct dStage_MemoryMap_c {};
|
||||
|
||||
struct dStage_dPath_c {};
|
||||
|
||||
struct dStage_Multi_c {};
|
||||
struct dStage_Mult_info {
|
||||
/* 0x0 */ f32 mTransX;
|
||||
/* 0x4 */ f32 mTransY;
|
||||
/* 0x8 */ s16 mAngle;
|
||||
/* 0xA */ u8 mRoomNo;
|
||||
}; // Size: 0xC
|
||||
|
||||
struct dStage_SoundInfo_c {};
|
||||
|
||||
struct dStage_FileList_dt_c {
|
||||
/* 0x0 */ u32 field_0x0;
|
||||
class dStage_Multi_c {
|
||||
public:
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ dStage_Mult_info* mInfo;
|
||||
};
|
||||
|
||||
struct dStage_dPnt_c {};
|
||||
struct dStage_SoundInfo_c {
|
||||
// SOND
|
||||
};
|
||||
|
||||
struct dStage_FloorInfo_c {};
|
||||
class dStage_FileList_dt_c {
|
||||
public:
|
||||
/* 0x00 */ u32 mParameters;
|
||||
/* 0x04 */ f32 mSeaLevel;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ u8 field_0x10[9];
|
||||
/* 0x1A */ u8 mDefaultCamera;
|
||||
/* 0x1C */ u16 mMsg;
|
||||
}; // Size: 0x20
|
||||
|
||||
struct dStage_Lbnk_c {};
|
||||
struct dStage_dPnt_c {
|
||||
// PPNT
|
||||
};
|
||||
|
||||
struct dStage_Elst_c {};
|
||||
struct dStage_FloorInfo_c {
|
||||
// FLOR
|
||||
};
|
||||
|
||||
struct dStage_Lbnk_c {
|
||||
// LBNK
|
||||
};
|
||||
|
||||
struct dStage_Elst_c {
|
||||
struct unkData {
|
||||
u8 field_0x0[15];
|
||||
};
|
||||
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ unkData* field_0x4;
|
||||
};
|
||||
|
||||
struct dStage_MemoryConfig_c {};
|
||||
|
||||
struct dStage_DMap_c {};
|
||||
struct dStage_DMap_c {
|
||||
// DMAP
|
||||
};
|
||||
|
||||
struct dStage_MapEventInfo_c {};
|
||||
struct dStage_MapEventInfo_c {
|
||||
// REVT
|
||||
};
|
||||
|
||||
class dStage_dt_c {
|
||||
public:
|
||||
@@ -144,7 +259,7 @@ public:
|
||||
/* vt[12] */ virtual roomRead_class* getRoom(void) const = 0;
|
||||
/* vt[13] */ virtual void setMapInfo(stage_map_info_class*) = 0;
|
||||
/* vt[14] */ virtual stage_map_info_class* getMapInfo(void) const = 0;
|
||||
/* vt[15] */ virtual int getMapInfo2(int) const = 0;
|
||||
/* vt[15] */ virtual stage_map_info_class* getMapInfo2(int) const = 0;
|
||||
/* vt[16] */ virtual void setMapInfoBase(stage_map_info_dummy_class*) = 0;
|
||||
/* vt[17] */ virtual stage_map_info_dummy_class* getMapInfoBase(void) const = 0;
|
||||
/* vt[18] */ virtual void setPaletteInfo(stage_palette_info_class*) = 0;
|
||||
@@ -244,7 +359,7 @@ public:
|
||||
/* vt[12] */ virtual roomRead_class* getRoom(void) const;
|
||||
/* vt[13] */ virtual void setMapInfo(stage_map_info_class*);
|
||||
/* vt[14] */ virtual stage_map_info_class* getMapInfo(void) const;
|
||||
/* vt[15] */ virtual int getMapInfo2(int) const;
|
||||
/* vt[15] */ virtual stage_map_info_class* getMapInfo2(int) const;
|
||||
/* vt[16] */ virtual void setMapInfoBase(stage_map_info_dummy_class*);
|
||||
/* vt[17] */ virtual stage_map_info_dummy_class* getMapInfoBase(void) const;
|
||||
/* vt[18] */ virtual void setPaletteInfo(stage_palette_info_class*);
|
||||
@@ -325,48 +440,48 @@ public:
|
||||
|
||||
void setTreasure(stage_tresure_class*);
|
||||
|
||||
private:
|
||||
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;
|
||||
public:
|
||||
/* 0x08 */ stage_camera_class* mCamera;
|
||||
/* 0x0C */ stage_arrow_class* mArrow;
|
||||
/* 0x10 */ stage_actor_class* mPlayer;
|
||||
/* 0x14 */ roomRead_class* mRoom;
|
||||
/* 0x18 */ stage_map_info_class* mMapInfo;
|
||||
/* 0x1C */ stage_map_info_dummy_class* mMapInfoBase;
|
||||
/* 0x20 */ stage_palette_info_class* mPaletteInfo;
|
||||
/* 0x24 */ stage_pselect_info_class* mPselectInfo;
|
||||
/* 0x28 */ stage_envr_info_class* mEnvrInfo;
|
||||
/* 0x2C */ stage_vrbox_info_class* mVrboxInfo;
|
||||
/* 0x30 */ stage_vrboxcol_info_class* mVrboxcolInfo;
|
||||
/* 0x34 */ stage_plight_info_class* mPlightInfo;
|
||||
/* 0x38 */ dStage_MapEventInfo_c* mMapEventInfo;
|
||||
/* 0x3C */ u32 mPaletteNumInfo;
|
||||
/* 0x40 */ u32 mPselectNumInfo;
|
||||
/* 0x44 */ u32 mEnvrNumInfo;
|
||||
/* 0x48 */ u32 mVrboxNumInfo;
|
||||
/* 0x4C */ int mVrboxcolNumInfo;
|
||||
/* 0x50 */ u32 mPlightNumInfo;
|
||||
/* 0x54 */ u16 mPlayerNum;
|
||||
/* 0x56 */ u16 field_0x56;
|
||||
/* 0x58 */ u16 field_0x58;
|
||||
/* 0x5A */ u16 field_0x5a;
|
||||
/* 0x5C */ stage_stag_info_class* mStagInfo;
|
||||
/* 0x60 */ stage_scls_info_dummy_class* mSclsInfo;
|
||||
/* 0x64 */ dStage_dPnt_c* mPntInfo;
|
||||
/* 0x68 */ dStage_dPath_c* mPathInfo;
|
||||
/* 0x6C */ dStage_dPnt_c* mPnt2Inf;
|
||||
/* 0x70 */ dStage_dPath_c* mPath2Info;
|
||||
/* 0x74 */ dStage_SoundInfo_c* mSoundInf;
|
||||
/* 0x78 */ dStage_SoundInfo_c* mSoundInfCL;
|
||||
/* 0x7C */ dStage_FloorInfo_c* mFloorInfo;
|
||||
/* 0x80 */ dStage_MemoryConfig_c* mMemoryConfig;
|
||||
/* 0x84 */ dStage_MemoryMap_c* mMemoryMap;
|
||||
/* 0x88 */ dStage_Multi_c* mMulti;
|
||||
/* 0x8C */ dStage_Multi_c* mOldMulti;
|
||||
/* 0x90 */ stage_tresure_class* mTreasure;
|
||||
/* 0x94 */ dStage_DMap_c* mDMap;
|
||||
/* 0x98 */ stage_tgsc_class* mDrTg;
|
||||
/* 0x9C */ stage_tgsc_class* mDoor;
|
||||
/* 0xA0 */ dStage_Elst_c* mElst;
|
||||
};
|
||||
|
||||
class dStage_roomDt_c : public dStage_dt_c {
|
||||
@@ -389,7 +504,7 @@ public:
|
||||
virtual roomRead_class* getRoom(void) const;
|
||||
virtual void setMapInfo(stage_map_info_class*);
|
||||
virtual stage_map_info_class* getMapInfo(void) const;
|
||||
virtual int getMapInfo2(int) const;
|
||||
virtual stage_map_info_class* getMapInfo2(int) const;
|
||||
virtual void setMapInfoBase(stage_map_info_dummy_class*);
|
||||
virtual stage_map_info_dummy_class* getMapInfoBase(void) const;
|
||||
virtual void setPaletteInfo(stage_palette_info_class*);
|
||||
@@ -468,56 +583,59 @@ public:
|
||||
virtual void setElst(dStage_Elst_c*);
|
||||
virtual dStage_Elst_c* getElst(void);
|
||||
|
||||
private:
|
||||
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;
|
||||
public:
|
||||
/* 0x08 */ stage_pure_lightvec_info_class* mLightVecInfo;
|
||||
/* 0x0C */ int mLightVecInfoNum;
|
||||
/* 0x10 */ stage_map_info_class* mMapInfo;
|
||||
/* 0x14 */ stage_map_info_dummy_class* mMapInfoBase;
|
||||
/* 0x18 */ stage_vrbox_info_class* mVrboxInfo;
|
||||
/* 0x1C */ stage_vrboxcol_info_class* mVrboxcolInfo;
|
||||
/* 0x20 */ dStage_FileList2_dt_c* mFileList2Info;
|
||||
/* 0x24 */ dStage_FileList_dt_c* mFileListInfo;
|
||||
/* 0x28 */ stage_actor_class* mPlayer;
|
||||
/* 0x2C */ dStage_dPnt_c* mPnt2Info;
|
||||
/* 0x30 */ dStage_dPath_c* mPath2Info;
|
||||
/* 0x34 */ stage_camera_class* mCamera;
|
||||
/* 0x38 */ stage_arrow_class* mArrow;
|
||||
/* 0x3C */ dStage_MapEventInfo_c* mMapEventInfo;
|
||||
/* 0x40 */ dStage_SoundInfo_c* mSoundInf;
|
||||
/* 0x44 */ dStage_SoundInfo_c* mSoundInfCL;
|
||||
/* 0x48 */ stage_scls_info_dummy_class* mSclsInfo;
|
||||
/* 0x4C */ dStage_Lbnk_c* mLbnk;
|
||||
/* 0x50 */ stage_tresure_class* mTreasure;
|
||||
/* 0x54 */ stage_tgsc_class* mDrTg;
|
||||
/* 0x58 */ stage_tgsc_class* mDoor;
|
||||
/* 0x5C */ dStage_FloorInfo_c* mFloorInfo;
|
||||
/* 0x60 */ u16 mPlayerNum;
|
||||
/* 0x62 */ u16 field_0x62;
|
||||
/* 0x64 */ int mVrboxNumInfo;
|
||||
/* 0x68 */ int mVrboxcolNumInfo;
|
||||
}; // Size: 0x6C
|
||||
|
||||
class dStage_roomStatus_c {
|
||||
public:
|
||||
/* 0x000 */ dStage_roomDt_c mRoomDt;
|
||||
/* 0x06C */ dKy_tevstr_c mKyTevStr;
|
||||
/* 0x3F4 */ u8 unk_0x3F4;
|
||||
/* 0x3F5 */ u8 unk_0x3F5[2];
|
||||
/* 0x3F4 */ u8 mFlag;
|
||||
/* 0x3F5 */ bool mDraw;
|
||||
/* 0x3F6 */ s8 mZoneCount;
|
||||
/* 0x3F7 */ s8 mZoneNo;
|
||||
/* 0x3F8 */ s8 mMemBlockID;
|
||||
/* 0x3F9 */ s8 unk_3F9[0x404 - 0x3F9];
|
||||
/* 0x3F9 */ u8 mRegionNo;
|
||||
/* 0x3FC */ int mProcID;
|
||||
/* 0x400 */ int field_0x400;
|
||||
|
||||
int getZoneNo() const { return mZoneNo; }
|
||||
/* 80028360 */ ~dStage_roomStatus_c() {}
|
||||
/* 8002839C */ dStage_roomStatus_c() {}
|
||||
~dStage_roomStatus_c() {}
|
||||
dStage_roomStatus_c() {}
|
||||
}; // Size: 0x404
|
||||
|
||||
STATIC_ASSERT(sizeof(dStage_roomStatus_c) == 0x404);
|
||||
|
||||
extern s8 struct_80450D64; // sStayNo
|
||||
extern s8 sLastStayNo;
|
||||
extern s8 sNextStayNo;
|
||||
extern s8 sTimePass;
|
||||
extern s8 struct_80450D64; // gStayNo
|
||||
extern s8 gLastStayNo;
|
||||
extern s8 gNextStayNo;
|
||||
extern s8 gTimePass;
|
||||
extern u8 data_80450D68;
|
||||
|
||||
class dStage_roomControl_c {
|
||||
@@ -525,27 +643,31 @@ public:
|
||||
class roomDzs_c {
|
||||
public:
|
||||
roomDzs_c() { m_num = 0; }
|
||||
/* 80024A34 */ void create(u8);
|
||||
/* 80024ABC */ void remove();
|
||||
/* 80024B44 */ void add(u8, u8);
|
||||
void create(u8);
|
||||
void remove();
|
||||
void* add(u8, u8);
|
||||
|
||||
/* 0x00 */ u8 m_num;
|
||||
/* 0x04 */ JKRHeap* m_dzs;
|
||||
/* 0x04 */ void** m_dzs;
|
||||
};
|
||||
|
||||
static void createRoomDzs(u8 i_num) { m_roomDzs.create(i_num); }
|
||||
static void* addRoomDzs(u8 i_num, u8 roomNo) { return m_roomDzs.add(i_num, roomNo); }
|
||||
static void removeRoomDzs() { m_roomDzs.remove(); }
|
||||
|
||||
dStage_roomControl_c() {}
|
||||
void init(void);
|
||||
static int getZoneNo(int room);
|
||||
/* 80024338 */ void initZone();
|
||||
/* 80024384 */ dStage_roomStatus_c* getStatusRoomDt(int);
|
||||
/* 800243B0 */ JKRExpHeap* getMemoryBlock(int);
|
||||
/* 800243B0 */ static JKRExpHeap* getMemoryBlock(int);
|
||||
/* 800243E8 */ static void setStayNo(int);
|
||||
/* 80024424 */ static void setNextStayNo(int);
|
||||
/* 800244E8 */ bool checkRoomDisp(int) const;
|
||||
/* 8002451C */ void loadRoom(int, u8*, bool);
|
||||
/* 8002451C */ int loadRoom(int, u8*, bool);
|
||||
/* 8002471C */ void zoneCountCheck(int) const;
|
||||
/* 80024844 */ static JKRExpHeap* createMemoryBlock(int, u32);
|
||||
/* 800248A8 */ void destroyMemoryBlock();
|
||||
/* 800248A8 */ static void destroyMemoryBlock();
|
||||
/* 8002490C */ static void setArcBank(int, char const*);
|
||||
/* 80024940 */ static char* getArcBank(int);
|
||||
/* 80024954 */ static bool resetArchiveBank(int);
|
||||
@@ -553,16 +675,28 @@ public:
|
||||
/* 8025BAAC */ void setZoneNo(int, int);
|
||||
static s32 GetTimePass();
|
||||
|
||||
inline static s8 getStayNo() { return struct_80450D64; }
|
||||
s8 getMemoryBlockID(int i_roomNo) { return mStatus[i_roomNo].mMemBlockID; }
|
||||
bool checkStatusFlag(int i_roomNo, u8 flag) const {
|
||||
return cLib_checkBit(mStatus[i_roomNo].unk_0x3F4, flag);
|
||||
static s8 getStayNo() { return struct_80450D64; }
|
||||
static u8 getRegionNo(int i_roomNo) { return mStatus[i_roomNo].mRegionNo; }
|
||||
static s8 getMemoryBlockID(int i_roomNo) { return mStatus[i_roomNo].mMemBlockID; }
|
||||
dKy_tevstr_c* getTevStr(int i_roomNo) { return &mStatus[i_roomNo].mKyTevStr; }
|
||||
void setStatusFlag(int i_roomNo, u8 flag) { mStatus[i_roomNo].mFlag = flag; }
|
||||
static void onStatusDraw(int i_roomNo) { mStatus[i_roomNo].mDraw = true; }
|
||||
static dStage_FileList2_dt_c* getFileList2(int i_roomNo) {
|
||||
return mStatus[i_roomNo].mRoomDt.mFileList2Info;
|
||||
}
|
||||
static char* getDemoArcName() { return mDemoArcName; }
|
||||
static char* getArcBankName() { return mArcBankName; }
|
||||
static void setRoomReadId(s8 id) { data_804505F0 = id; }
|
||||
static s8 getRoomReadId() { return data_804505F0; }
|
||||
static void offNoChangeRoom() { data_80450D68 = false; }
|
||||
static void setProcID(u32 id) { mProcID = id; }
|
||||
static u32 getProcID() { return mProcID; }
|
||||
static void setFileList2(int i_roomNo, dStage_FileList2_dt_c* list) {
|
||||
mStatus[i_roomNo].mRoomDt.mFileList2Info = list;
|
||||
}
|
||||
bool checkStatusFlag(int i_roomNo, u8 flag) const {
|
||||
return cLib_checkBit(mStatus[i_roomNo].mFlag, flag);
|
||||
}
|
||||
|
||||
static JKRExpHeap* mMemoryBlock[19];
|
||||
static char mArcBank[32][10];
|
||||
@@ -574,7 +708,7 @@ public:
|
||||
static roomDzs_c m_roomDzs;
|
||||
|
||||
private:
|
||||
u8 field_0x0[4];
|
||||
/* 0x0 */ u8 field_0x0[4];
|
||||
};
|
||||
|
||||
class dStage_startStage_c {
|
||||
@@ -629,10 +763,20 @@ public:
|
||||
typedef int (*dStage_Func)(dStage_dt_c*, void*, int, void*);
|
||||
|
||||
struct FuncTable {
|
||||
char identifier[8];
|
||||
char identifier[5];
|
||||
dStage_Func function;
|
||||
};
|
||||
|
||||
struct dStage_fileHeader {
|
||||
/* 0x0 */ int chunkCount;
|
||||
};
|
||||
|
||||
struct dStage_nodeHeader {
|
||||
/* 0x0 */ u32 m_tag;
|
||||
/* 0x4 */ int m_entryNum;
|
||||
/* 0x8 */ u32 m_offset;
|
||||
};
|
||||
|
||||
const char* dStage_getName2(s16, s8);
|
||||
dStage_objectNameInf* dStage_searchName(const char*);
|
||||
static int dStage_stageKeepTresureInit(dStage_dt_c*, void*, int, void*);
|
||||
@@ -684,14 +828,26 @@ static int dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*);
|
||||
static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
|
||||
|
||||
u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
|
||||
void dStage_changeScene(int, f32, u32, s8, s16, int);
|
||||
int dStage_changeScene(int, f32, u32, s8, s16, int);
|
||||
void dStage_infoCreate();
|
||||
u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer);
|
||||
|
||||
inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) {
|
||||
return data.field_0x2 & 8;
|
||||
}
|
||||
|
||||
inline s32 dStage_roomRead_dt_c_GetTimePass(roomRead_data_class& data) {
|
||||
return data.field_0x2 & 3;
|
||||
}
|
||||
|
||||
inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) {
|
||||
return param_0 & 0x3f;
|
||||
}
|
||||
|
||||
inline u8 dStage_roomRead_dt_c_GetReverb(roomRead_data_class& room) {
|
||||
return room.field_0x1 & 0x7F;
|
||||
}
|
||||
|
||||
inline u32 dStage_stagInfo_GetSTType(stage_stag_info_class* pstag) {
|
||||
return (pstag->field_0x0c >> 16) & 7;
|
||||
}
|
||||
@@ -728,12 +884,12 @@ inline s8 dStage_sclsInfo_getWipeTime(stage_scls_info_class* p_info) {
|
||||
return p_info->field_0xb >> 5;
|
||||
}
|
||||
|
||||
inline s8 dStage_sclsInfo_getTimeH(stage_scls_info_class* p_info) {
|
||||
return (p_info->field_0xa >> 4) | (p_info->field_0xb & 16);
|
||||
inline int dStage_sclsInfo_getTimeH(stage_scls_info_class* p_info) {
|
||||
return ((p_info->field_0xb & 0xF0) >> 4) | ((p_info->field_0xa & 0x0F) << 4);
|
||||
}
|
||||
|
||||
inline u32 dStage_FileList_dt_getMiniMap(dStage_FileList_dt_c* p_fList) {
|
||||
return p_fList->field_0x0 >> 3 & 7;
|
||||
return p_fList->mParameters >> 3 & 7;
|
||||
}
|
||||
|
||||
#endif /* D_D_STAGE_H */
|
||||
|
||||
@@ -1,8 +1,31 @@
|
||||
#ifndef D_D_TIMER_H
|
||||
#define D_D_TIMER_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
void dTimer_createStockTimer();
|
||||
|
||||
class dTimer_c {
|
||||
public:
|
||||
/* 8025CA0C */ void _create();
|
||||
/* 8025CF04 */ void _execute();
|
||||
/* 8025D33C */ void _draw();
|
||||
/* 8025D3BC */ void _delete();
|
||||
/* 8025D524 */ int deleteCheck();
|
||||
/* 8025D618 */ void start(int, s16);
|
||||
/* 8025D538 */ void start(int);
|
||||
/* 8025D7C0 */ void stock_start(s16);
|
||||
/* 8025D708 */ void stock_start();
|
||||
/* 8025D7E8 */ void stop(u8);
|
||||
/* 8025D86C */ void restart(u8);
|
||||
/* 8025D920 */ void end(int);
|
||||
/* 8025D9E0 */ void deleteRequest();
|
||||
/* 8025D9F0 */ void getTimeMs();
|
||||
/* 8025DA54 */ void getLimitTimeMs();
|
||||
/* 8025DA9C */ void getRestTimeMs();
|
||||
/* 8025DB10 */ void isStart();
|
||||
/* 802613DC */ void createGetIn(cXyz);
|
||||
};
|
||||
|
||||
#endif /* D_D_TIMER_H */
|
||||
|
||||
@@ -17,6 +17,7 @@ void dKy_itudemo_se();
|
||||
BOOL dKy_darkworld_spot_check(char const* stageName, int roomNo);
|
||||
void dKy_darkworld_Area_set(char const* stageName, int roomNo);
|
||||
void dKy_FiveSenses_fullthrottle_dark();
|
||||
s32 dKy_daynight_check();
|
||||
|
||||
struct LIGHT_INFLUENCE {
|
||||
/* 800CFC7C */ ~LIGHT_INFLUENCE();
|
||||
@@ -132,8 +133,7 @@ public:
|
||||
/* 0x32C */ cXyz field_0x32c;
|
||||
/* 0x338 */ cXyz field_0x338;
|
||||
/* 0x344 */ f32 field_0x344;
|
||||
/* 0x348 */ int field_0x348;
|
||||
/* 0x34C */ int field_0x34c;
|
||||
/* 0x348 */ GXColorS10 field_0x348;
|
||||
/* 0x350 */ int field_0x350;
|
||||
/* 0x354 */ int field_0x354;
|
||||
/* 0x358 */ u16 field_0x358;
|
||||
@@ -200,6 +200,10 @@ public:
|
||||
|
||||
/* 801ADBBC */ virtual ~dScnKy_env_light_c();
|
||||
|
||||
void setLightTevColorType_MAJI(J3DModel* i_model, dKy_tevstr_c* tevstr) {
|
||||
setLightTevColorType_MAJI(i_model->getModelData(), tevstr);
|
||||
}
|
||||
|
||||
public:
|
||||
/* 0x0000 */ // vtable
|
||||
/* 0x0004 */ void* mpDmPalet;
|
||||
@@ -489,5 +493,8 @@ s32 dKy_getdaytime_minute();
|
||||
s32 dKy_get_dayofweek();
|
||||
static void dKy_Sound_init();
|
||||
void dKy_setLight_nowroom(char);
|
||||
void dKy_setLight_nowroom_actor(dKy_tevstr_c*);
|
||||
void dKy_setLight_again();
|
||||
void dKy_GxFog_tevstr_set(dKy_tevstr_c*);
|
||||
|
||||
#endif /* D_KANKYO_D_KANKYO_H */
|
||||
|
||||
@@ -29,12 +29,12 @@ public:
|
||||
};
|
||||
|
||||
struct dMapInfo_n {
|
||||
/* 8003ECA0 */ void chkGetCompass();
|
||||
/* 8003ECD8 */ void chkGetMap();
|
||||
/* 8003ED10 */ void isVisitedRoom(int);
|
||||
/* 8003ED60 */ void correctionOriginPos(s8, Vec*);
|
||||
/* 8003EDC0 */ void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
|
||||
/* 8003EDEC */ void rotAngle(dStage_FileList2_dt_c const*, Vec*);
|
||||
/* 8003ECA0 */ bool chkGetCompass();
|
||||
/* 8003ECD8 */ bool chkGetMap();
|
||||
/* 8003ED10 */ static bool isVisitedRoom(int);
|
||||
/* 8003ED60 */ static void correctionOriginPos(s8, Vec*);
|
||||
/* 8003EDC0 */ static void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
|
||||
/* 8003EDEC */ static void rotAngle(dStage_FileList2_dt_c const*, Vec*);
|
||||
/* 8003EE5C */ static Vec getMapPlayerPos();
|
||||
/* 8003EF20 */ void getMapPlayerAngleY();
|
||||
/* 8003EF70 */ void getConstRestartIconPointer();
|
||||
|
||||
@@ -44,10 +44,6 @@ struct dMenu_Letter {
|
||||
static dMenu_LetterData letter_data[64];
|
||||
};
|
||||
|
||||
struct dItem_data {
|
||||
static void* item_resource[1530];
|
||||
};
|
||||
|
||||
class dMw_c;
|
||||
class dMeter2_c;
|
||||
class J2DPicture;
|
||||
@@ -151,6 +147,7 @@ public:
|
||||
void onLifeGaugeSE() { mLifeGaugeSE = 1; }
|
||||
void offLifeGaugeSE() { mLifeGaugeSE = 0; }
|
||||
u8 getLifeGaugeSE() { return mLifeGaugeSE; }
|
||||
const char* getSaveStageName() { return mSaveStageName; }
|
||||
|
||||
public:
|
||||
/* 0x04 */ u8 unk4[4];
|
||||
@@ -429,6 +426,10 @@ inline u8 dMeter2Info_getLifeGaugeSE() {
|
||||
return g_meter2_info.getLifeGaugeSE();
|
||||
}
|
||||
|
||||
inline const char* dMeter2Info_getSaveStageName() {
|
||||
return g_meter2_info.getSaveStageName();
|
||||
}
|
||||
|
||||
char* dMeter2Info_getNumberTextureName(int pIndex);
|
||||
|
||||
#endif /* D_METER_D_METER2_INFO_H */
|
||||
|
||||
@@ -91,8 +91,8 @@ public:
|
||||
/* 0x005 */ u8 field_0x5;
|
||||
/* 0x006 */ u8 field_0x6;
|
||||
/* 0x008 */ emitter_c mEmitter[0x80];
|
||||
/* 0xC08 */
|
||||
};
|
||||
/* 0xC08 */ emitter_c* field_0xc08[0x100];
|
||||
}; // Size: 0x1008
|
||||
|
||||
/* 8004BACC */ dPa_control_c();
|
||||
/* 8004BB70 */ void getRM_ID(u16);
|
||||
|
||||
+195
-143
@@ -9,6 +9,7 @@
|
||||
|
||||
#define DEFAULT_SELECT_ITEM_INDEX 0
|
||||
#define MAX_SELECT_ITEM 4
|
||||
#define SELECT_ITEM_NUM 2
|
||||
#define MAX_EQUIPMENT 6
|
||||
#define MAX_EVENTS 256
|
||||
#define MAX_ITEM_SLOTS 24
|
||||
@@ -104,7 +105,7 @@ enum ItemTable {
|
||||
/* 0x2B */ SHIELD,
|
||||
/* 0x2C */ HYLIA_SHIELD,
|
||||
/* 0x2D */ TKS_LETTER,
|
||||
/* 0x2E */ WEARS_CASUAL,
|
||||
/* 0x2E */ WEAR_CASUAL,
|
||||
/* 0x2F */ WEAR_KOKIRI,
|
||||
/* 0x30 */ ARMOR,
|
||||
/* 0x31 */ WEAR_ZORA,
|
||||
@@ -358,15 +359,29 @@ enum ItemMax {
|
||||
/* 0x6 */ POKE_BOMB_MAX = 6
|
||||
};
|
||||
|
||||
enum {
|
||||
/* 0x0 */ SELECT_ITEM_LEFT,
|
||||
/* 0x1 */ SELECT_ITEM_RIGHT,
|
||||
/* 0x2 */ SELECT_ITEM_DOWN,
|
||||
/* 0x3 */ SELECT_ITEM_B,
|
||||
/* 0x0 */ SELECT_ITEM_X = SELECT_ITEM_LEFT,
|
||||
/* 0x1 */ SELECT_ITEM_Y = SELECT_ITEM_RIGHT,
|
||||
};
|
||||
|
||||
enum {
|
||||
/* 0x0 */ TF_STATUS_HUMAN,
|
||||
/* 0x1 */ TF_STATUS_WOLF,
|
||||
};
|
||||
|
||||
class dSv_player_status_a_c {
|
||||
public:
|
||||
void init();
|
||||
void setSelectItemIndex(signed int, u8);
|
||||
u8 getSelectItemIndex(signed int) const;
|
||||
void setMixItemIndex(signed int, u8);
|
||||
u8 getMixItemIndex(signed int) const;
|
||||
void setSelectItemIndex(int i_no, u8 item_index);
|
||||
u8 getSelectItemIndex(int i_no) const;
|
||||
void setMixItemIndex(int i_no, u8 item_index);
|
||||
u8 getMixItemIndex(int i_no) const;
|
||||
u16 getRupeeMax() const;
|
||||
int isMagicFlag(u8) const;
|
||||
int isMagicFlag(u8 i_magic) const;
|
||||
|
||||
u16 getMaxLife() { return mMaxLife; }
|
||||
u16 getLife() { return mLife; }
|
||||
@@ -376,6 +391,7 @@ public:
|
||||
u8& getMagic() { return mMagic; }
|
||||
u8& getMaxMagic() { return mMaxMagic; }
|
||||
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
|
||||
u8 getTransformStatus() const { return mTransformStatus; }
|
||||
void setOil(u16 oil) { mOil = oil; }
|
||||
void setMaxOil(u16 max) { mMaxOil = max; }
|
||||
void setWalletSize(u8 size) { mWalletSize = size; }
|
||||
@@ -410,10 +426,10 @@ private:
|
||||
class dSv_player_status_b_c {
|
||||
public:
|
||||
void init();
|
||||
void onDarkClearLV(int);
|
||||
BOOL isDarkClearLV(int) const;
|
||||
void onTransformLV(int);
|
||||
BOOL isTransformLV(int) const;
|
||||
void onDarkClearLV(int i_no);
|
||||
BOOL isDarkClearLV(int i_no) const;
|
||||
void onTransformLV(int i_no);
|
||||
BOOL isTransformLV(int i_no) const;
|
||||
|
||||
void setDateIpl(s64 time) { mDateIpl = time; }
|
||||
u16 getDate() const { return mDate; }
|
||||
@@ -428,7 +444,7 @@ private:
|
||||
/* 0x09 */ u8 mDarkClearLevelFlag;
|
||||
/* 0x0A */ u8 unk10;
|
||||
/* 0x0B */ u8 unk11;
|
||||
/* 0x0C */ float mTime;
|
||||
/* 0x0C */ f32 mTime;
|
||||
/* 0x10 */ u16 mDate;
|
||||
/* 0x12 */ u8 unk18[3];
|
||||
}; // Size: 0x18
|
||||
@@ -438,7 +454,7 @@ public:
|
||||
dSv_horse_place_c() {}
|
||||
|
||||
void init();
|
||||
void set(const char*, const cXyz&, s16, s8);
|
||||
void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo);
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz mPos;
|
||||
@@ -451,9 +467,9 @@ private:
|
||||
class dSv_player_return_place_c {
|
||||
public:
|
||||
void init();
|
||||
void set(const char*, s8, u8);
|
||||
u8 getRoomNo() { return mRoomNo; }
|
||||
u8 getPlayerStatus() { return mPlayerStatus; }
|
||||
void set(const char* i_name, s8 i_roomNo, u8 i_status);
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
u8 getPlayerStatus() const { return mPlayerStatus; }
|
||||
char* getName() { return mName; }
|
||||
|
||||
private:
|
||||
@@ -469,9 +485,11 @@ public:
|
||||
dSv_player_field_last_stay_info_c() {}
|
||||
|
||||
void init();
|
||||
BOOL isRegionBit(int unk) const;
|
||||
void onRegionBit(int unk);
|
||||
void set(const char*, const cXyz&, s16, s8, u8);
|
||||
BOOL isRegionBit(int i_region) const;
|
||||
void onRegionBit(int i_region);
|
||||
void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_spawn, u8 i_regionNo);
|
||||
|
||||
bool isFieldDataExistFlag() const { return mFieldDataExistFlag; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz mPos;
|
||||
@@ -489,10 +507,10 @@ public:
|
||||
dSv_player_last_mark_info_c() {}
|
||||
|
||||
void init();
|
||||
void setWarpItemData(const char*, const cXyz&, s16, s8, u8, u8);
|
||||
void setWarpItemData(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u8, u8);
|
||||
|
||||
const char* getName() { return mName; }
|
||||
cXyz getPos() { return mPos; }
|
||||
cXyz& getPos() { return mPos; }
|
||||
s16 getAngleY() { return mAngleY; }
|
||||
s8 getRoomNo() { return mRoomNo; }
|
||||
char getWarpAcceptStage() { return mWarpAcceptStage; }
|
||||
@@ -511,29 +529,29 @@ private:
|
||||
class dSv_player_item_c {
|
||||
public:
|
||||
void init();
|
||||
void setItem(int, u8);
|
||||
u8 getItem(int, bool) const;
|
||||
void setItem(int item_slot, u8 i_itemNo);
|
||||
u8 getItem(int slot_no, bool check_combo) const;
|
||||
void setLineUpItem();
|
||||
u8 getLineUpItem(int) const;
|
||||
void setBottleItemIn(u8, u8);
|
||||
void setEmptyBottleItemIn(u8);
|
||||
u8 getLineUpItem(int slot_no) const;
|
||||
void setBottleItemIn(u8 curItemIn, u8 newItemIn);
|
||||
void setEmptyBottleItemIn(u8 i_itemNo);
|
||||
void setEmptyBottle();
|
||||
void setEmptyBottle(u8);
|
||||
void setEquipBottleItemIn(u8, u8);
|
||||
void setEquipBottleItemEmpty(u8);
|
||||
u8 checkBottle(u8);
|
||||
void setEmptyBottle(u8 i_itemNo);
|
||||
void setEquipBottleItemIn(u8 curItemIn, u8 newItemIn);
|
||||
void setEquipBottleItemEmpty(u8 curItemIn);
|
||||
u8 checkBottle(u8 i_itemNo);
|
||||
int checkInsectBottle();
|
||||
u8 checkEmptyBottle();
|
||||
void setBombBagItemIn(u8, u8, bool);
|
||||
void setBombBagItemIn(u8, u8, u8, bool);
|
||||
void setEmptyBombBagItemIn(u8, bool);
|
||||
void setEmptyBombBagItemIn(u8, u8, bool);
|
||||
void setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum);
|
||||
void setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, bool setNum);
|
||||
void setEmptyBombBagItemIn(u8 newBomb, bool setNum);
|
||||
void setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum);
|
||||
void setEmptyBombBag();
|
||||
void setEmptyBombBag(u8, u8);
|
||||
u8 checkBombBag(u8);
|
||||
void setWarashibeItem(u8);
|
||||
void setEmptyBombBag(u8 newBomb, u8 bombNum);
|
||||
u8 checkBombBag(u8 i_itemNo);
|
||||
void setWarashibeItem(u8 i_itemNo);
|
||||
void setRodTypeLevelUp();
|
||||
void setBaitItem(u8);
|
||||
void setBaitItem(u8 i_itemNo);
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 mItems[24];
|
||||
@@ -543,9 +561,9 @@ private:
|
||||
class dSv_player_get_item_c {
|
||||
public:
|
||||
void init();
|
||||
void onFirstBit(u8);
|
||||
void offFirstBit(u8);
|
||||
int isFirstBit(u8) const;
|
||||
void onFirstBit(u8 i_itemNo);
|
||||
void offFirstBit(u8 i_itemNo);
|
||||
int isFirstBit(u8 i_itemNo) const;
|
||||
|
||||
private:
|
||||
/* 0x0 */ u32 mItemFlags[8];
|
||||
@@ -554,11 +572,11 @@ private:
|
||||
class dSv_player_item_record_c {
|
||||
public:
|
||||
void init();
|
||||
void setBombNum(u8, u8);
|
||||
u8 getBombNum(u8) const;
|
||||
void setBottleNum(u8, u8);
|
||||
u8 addBottleNum(u8, s16);
|
||||
u8 getBottleNum(u8) const;
|
||||
void setBombNum(u8 i_bagIdx, u8 bag_id);
|
||||
u8 getBombNum(u8 i_bagIdx) const;
|
||||
void setBottleNum(u8 i_bottleIdx, u8 bottle_num);
|
||||
u8 addBottleNum(u8 i_bottleIdx, s16 num);
|
||||
u8 getBottleNum(u8 i_bottleIdx) const;
|
||||
|
||||
u8 getArrowNum() const { return mArrowNum; }
|
||||
void setArrowNum(u8 amount) { mArrowNum = amount; }
|
||||
@@ -576,8 +594,8 @@ private:
|
||||
class dSv_player_item_max_c {
|
||||
public:
|
||||
void init();
|
||||
void setBombNum(u8, u8);
|
||||
u8 getBombNum(u8) const;
|
||||
void setBombNum(u8 bomb_id, u8 bomb_max);
|
||||
u8 getBombNum(u8 bomb_id) const;
|
||||
|
||||
void setArrowNum(u8 max) { mItemMax[ARROW_MAX] = max; }
|
||||
u8 getArrowNum() { return mItemMax[ARROW_MAX]; }
|
||||
@@ -589,12 +607,12 @@ private:
|
||||
class dSv_player_collect_c {
|
||||
public:
|
||||
void init();
|
||||
void setCollect(int, u8);
|
||||
BOOL isCollect(int, u8) const;
|
||||
void onCollectCrystal(u8);
|
||||
BOOL isCollectCrystal(u8) const;
|
||||
void onCollectMirror(u8);
|
||||
BOOL isCollectMirror(u8) const;
|
||||
void setCollect(int i_item_type, u8 i_item);
|
||||
BOOL isCollect(int i_item_type, u8 i_item) const;
|
||||
void onCollectCrystal(u8 i_item);
|
||||
BOOL isCollectCrystal(u8 i_item) const;
|
||||
void onCollectMirror(u8 i_item);
|
||||
BOOL isCollectMirror(u8 i_item) const;
|
||||
|
||||
u8 getPohNum() { return mPohNum; }
|
||||
|
||||
@@ -620,10 +638,10 @@ private:
|
||||
class dSv_light_drop_c {
|
||||
public:
|
||||
void init();
|
||||
void setLightDropNum(u8, u8);
|
||||
u8 getLightDropNum(u8) const;
|
||||
void onLightDropGetFlag(u8);
|
||||
BOOL isLightDropGetFlag(u8) const;
|
||||
void setLightDropNum(u8 i_nowLevel, u8 dropNum);
|
||||
u8 getLightDropNum(u8 i_nowLevel) const;
|
||||
void onLightDropGetFlag(u8 i_nowLevel);
|
||||
BOOL isLightDropGetFlag(u8 i_nowLevel) const;
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 mLightDropNum[4];
|
||||
@@ -634,10 +652,10 @@ private:
|
||||
class dSv_letter_info_c {
|
||||
public:
|
||||
void init();
|
||||
void onLetterGetFlag(int);
|
||||
BOOL isLetterGetFlag(int) const;
|
||||
void onLetterReadFlag(int);
|
||||
int isLetterReadFlag(int) const;
|
||||
void onLetterGetFlag(int i_no);
|
||||
BOOL isLetterGetFlag(int i_no) const;
|
||||
void onLetterReadFlag(int i_no);
|
||||
int isLetterReadFlag(int i_no) const;
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 mLetterGetFlags[2];
|
||||
@@ -648,7 +666,7 @@ private:
|
||||
class dSv_fishing_info_c {
|
||||
public:
|
||||
void init();
|
||||
void addFishCount(u8);
|
||||
void addFishCount(u8 fish_index);
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mFishCount[16];
|
||||
@@ -658,7 +676,7 @@ private:
|
||||
class dSv_player_info_c {
|
||||
public:
|
||||
void init();
|
||||
char* getLinkName() { return (char*)mPlayerName; }
|
||||
char* getLinkName() { return mPlayerName; }
|
||||
void setPlayerName(const char* name) { strcpy((char*)mPlayerName, name); }
|
||||
void setHorseName(const char* name) { strcpy((char*)mHorseName, name); }
|
||||
void setTotalTime(s64 time) { mTotalTime = time; }
|
||||
@@ -670,9 +688,9 @@ private:
|
||||
/* 0x08 */ s64 mTotalTime;
|
||||
/* 0x10 */ u16 unk16;
|
||||
/* 0x12 */ u16 mDeathCount;
|
||||
/* 0x14 */ u8 mPlayerName[16];
|
||||
/* 0x14 */ char mPlayerName[16];
|
||||
/* 0x24 */ u8 unk36;
|
||||
/* 0x25 */ u8 mHorseName[16];
|
||||
/* 0x25 */ char mHorseName[16];
|
||||
/* 0x35 */ u8 unk53;
|
||||
/* 0x36 */ u8 mClearCount;
|
||||
/* 0x37 */ u8 unk55[5];
|
||||
@@ -683,21 +701,22 @@ public:
|
||||
void init();
|
||||
u32 checkVibration() const;
|
||||
u8 getSound();
|
||||
void setSound(u8);
|
||||
void setSound(u8 i_mode);
|
||||
u8 getVibration();
|
||||
void setVibration(u8);
|
||||
inline u8 getAttentionType(void) { return mAttentionType; }
|
||||
inline void setAttentionType(u8 i_mAttentionType) { mAttentionType = i_mAttentionType; }
|
||||
inline u16 getCalibrateDist(void) { return mCalibrateDist; }
|
||||
inline void setCalibrateDist(u16 i_mCalibrateDist) { mCalibrateDist = i_mCalibrateDist; }
|
||||
inline u8 getCalValue(void) { return mCalValue; }
|
||||
inline void setCalValue(u8 i_mCalValue) { mCalValue = i_mCalValue; }
|
||||
inline bool getShortCut(void) { return mShortCut; }
|
||||
inline void setShortCut(bool i_mShortCut) { mShortCut = i_mShortCut; }
|
||||
inline u8 getCameraControl(void) { return mCameraControl; }
|
||||
inline void setCameraControl(u8 i_mCameraControl) { mCameraControl = i_mCameraControl; }
|
||||
inline bool getPointer(void) { return mPointer; }
|
||||
inline void setPointer(bool i_mPointer) { mPointer = i_mPointer; }
|
||||
void setVibration(u8 i_status);
|
||||
|
||||
u8 getAttentionType() { return mAttentionType; }
|
||||
void setAttentionType(u8 i_mAttentionType) { mAttentionType = i_mAttentionType; }
|
||||
u16 getCalibrateDist() { return mCalibrateDist; }
|
||||
void setCalibrateDist(u16 i_mCalibrateDist) { mCalibrateDist = i_mCalibrateDist; }
|
||||
u8 getCalValue() { return mCalValue; }
|
||||
void setCalValue(u8 i_mCalValue) { mCalValue = i_mCalValue; }
|
||||
bool getShortCut() { return mShortCut; }
|
||||
void setShortCut(bool i_mShortCut) { mShortCut = i_mShortCut; }
|
||||
u8 getCameraControl() { return mCameraControl; }
|
||||
void setCameraControl(u8 i_mCameraControl) { mCameraControl = i_mCameraControl; }
|
||||
bool getPointer() { return mPointer; }
|
||||
void setPointer(bool i_mPointer) { mPointer = i_mPointer; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 unk0;
|
||||
@@ -716,8 +735,8 @@ private:
|
||||
class dSv_player_c {
|
||||
public:
|
||||
dSv_player_c() {}
|
||||
|
||||
void init();
|
||||
|
||||
dSv_player_info_c& getPlayerInfo() { return mPlayerInfo; }
|
||||
dSv_player_status_a_c& getPlayerStatusA() { return mPlayerStatusA; }
|
||||
dSv_player_status_b_c& getPlayerStatusB() { return mPlayerStatusB; }
|
||||
@@ -731,6 +750,9 @@ public:
|
||||
dSv_player_get_item_c& getGetItem() { return mGetItem; }
|
||||
dSv_player_config_c& getConfig() { return mConfig; }
|
||||
dSv_letter_info_c& getLetterInfo() { return mLetterInfo; }
|
||||
dSv_player_field_last_stay_info_c& getPlayerFieldLastStayInfo() {
|
||||
return mPlayerFieldLastStayInfo;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x000 */ dSv_player_status_a_c mPlayerStatusA;
|
||||
@@ -766,17 +788,17 @@ public:
|
||||
};
|
||||
|
||||
void init();
|
||||
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);
|
||||
s32 isDungeonItem(int) const;
|
||||
void onTbox(int i_no);
|
||||
void offTbox(int i_no);
|
||||
BOOL isTbox(int i_no) const;
|
||||
void onSwitch(int i_no);
|
||||
void offSwitch(int i_no);
|
||||
BOOL isSwitch(int i_no) const;
|
||||
BOOL revSwitch(int i_no);
|
||||
void onItem(int i_no);
|
||||
BOOL isItem(int i_no) const;
|
||||
void onDungeonItem(int i_no);
|
||||
s32 isDungeonItem(int i_no) const;
|
||||
|
||||
u8 getKeyNum() { return mKeyNum; }
|
||||
void setKeyNum(u8 keyNum) { mKeyNum = keyNum; }
|
||||
@@ -805,11 +827,11 @@ private:
|
||||
class dSv_event_c {
|
||||
public:
|
||||
void init();
|
||||
void onEventBit(u16);
|
||||
void offEventBit(u16);
|
||||
int isEventBit(u16) const;
|
||||
void setEventReg(u16, u8);
|
||||
u8 getEventReg(u16) const;
|
||||
void onEventBit(u16 i_no);
|
||||
void offEventBit(u16 i_no);
|
||||
int isEventBit(u16 i_no) const;
|
||||
void setEventReg(u16 i_reg, u8 i_no);
|
||||
u8 getEventReg(u16 i_reg) const;
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 mEvent[256];
|
||||
@@ -846,9 +868,9 @@ class dSv_memory2_c {
|
||||
public:
|
||||
dSv_memory2_c() { this->init(); }
|
||||
void init();
|
||||
void onVisitedRoom(int);
|
||||
void offVisitedRoom(int);
|
||||
BOOL isVisitedRoom(int);
|
||||
void onVisitedRoom(int i_no);
|
||||
void offVisitedRoom(int i_no);
|
||||
BOOL isVisitedRoom(int i_no);
|
||||
|
||||
private:
|
||||
/* 0x0 */ u32 mVisitedRoom[2];
|
||||
@@ -858,13 +880,13 @@ STATIC_ASSERT(sizeof(dSv_memory2_c) == 8);
|
||||
|
||||
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;
|
||||
bool init(s8 i_stage);
|
||||
void onSwitch(int i_no);
|
||||
void offSwitch(int i_no);
|
||||
BOOL isSwitch(int i_no) const;
|
||||
BOOL revSwitch(int i_no);
|
||||
void onItem(int i_no);
|
||||
BOOL isItem(int i_no) const;
|
||||
|
||||
private:
|
||||
/* 0x00 */ s8 mStageNo;
|
||||
@@ -880,18 +902,18 @@ public:
|
||||
void init();
|
||||
void clearRoomSwitch();
|
||||
void clearRoomItem();
|
||||
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;
|
||||
void onSwitch(int i_no);
|
||||
void offSwitch(int i_no);
|
||||
BOOL isSwitch(int i_no) const;
|
||||
BOOL revSwitch(int i_no);
|
||||
void onOneSwitch(int i_no);
|
||||
void offOneSwitch(int i_no);
|
||||
BOOL isOneSwitch(int i_no) const;
|
||||
BOOL revOneSwitch(int i_no);
|
||||
void onItem(int i_no);
|
||||
BOOL isItem(int i_no) const;
|
||||
void onOneItem(int i_no);
|
||||
BOOL isOneItem(int i_no) const;
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mSwitch[2];
|
||||
@@ -904,9 +926,9 @@ private:
|
||||
class dSv_zoneActor_c {
|
||||
public:
|
||||
void init();
|
||||
void on(int);
|
||||
void off(int);
|
||||
BOOL is(int) const;
|
||||
void on(int i_id);
|
||||
void off(int i_id);
|
||||
BOOL is(int i_id) const;
|
||||
|
||||
static const int ACTOR_MAX = 0xFFFF;
|
||||
|
||||
@@ -916,14 +938,16 @@ private:
|
||||
|
||||
class dSv_zone_c {
|
||||
public:
|
||||
dSv_zone_c(void) { mRoomNo = -1; } // the assembly for this is in d_com_inf_game.s
|
||||
void init(int);
|
||||
dSv_zone_c() { mRoomNo = -1; }
|
||||
void init(int i_roomNo);
|
||||
|
||||
dSv_zoneBit_c& getZoneBit() { return mBit; }
|
||||
const dSv_zoneBit_c& getBit() const { return mBit; }
|
||||
dSv_zoneActor_c& getActor() { return mActor; }
|
||||
const dSv_zoneActor_c& getActor() const { return mActor; }
|
||||
|
||||
s8& getRoomNo() { return mRoomNo; }
|
||||
void reset() { mRoomNo = -1; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
@@ -936,12 +960,22 @@ STATIC_ASSERT(sizeof(dSv_zone_c) == 0x20);
|
||||
|
||||
class dSv_restart_c {
|
||||
public:
|
||||
void setRoom(const cXyz&, s16, s8);
|
||||
void setRoom(const cXyz& i_position, s16 i_angleY, s8 i_roomNo);
|
||||
|
||||
void setRoomParam(u32 param) { mRoomParam = param; }
|
||||
void setStartPoint(s16 point) { mStartPoint = point; }
|
||||
void setLastSceneInfo(f32 speed, u32 mode, s16 angle) {
|
||||
mLastSpeedF = speed;
|
||||
mLastMode = mode;
|
||||
mLastAngleY = angle;
|
||||
}
|
||||
|
||||
s16 getStartPoint() const { return mStartPoint; }
|
||||
u32 getLastMode() const { return mLastMode; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
u32 getRoomParam() const { return mRoomParam; }
|
||||
cXyz& getRoomPos() { return mRoomPos; }
|
||||
s16 getRoomAngleY() const { return mRoomAngleY; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
@@ -963,7 +997,11 @@ public:
|
||||
/* 0x18 */ cXyz mCameraUp;
|
||||
}; // Size: 0x24
|
||||
|
||||
void set(const cXyz&, s16, s8, u32);
|
||||
void set(const cXyz& i_position, s16 i_angleY, s8, u32 i_param);
|
||||
|
||||
u32 getParam() const { return mParam; }
|
||||
cXyz& getPos() { return mPosition; }
|
||||
s16 getAngleY() const { return mAngleY; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
@@ -985,7 +1023,7 @@ public:
|
||||
dSv_save_c() {}
|
||||
|
||||
void init();
|
||||
dSv_memory2_c* getSave2(int);
|
||||
dSv_memory2_c* getSave2(int i_stage2No);
|
||||
|
||||
dSv_player_c& getPlayer() { return mPlayer; }
|
||||
dSv_event_c& getEvent() { return mEvent; }
|
||||
@@ -1007,26 +1045,27 @@ public:
|
||||
class dSv_info_c {
|
||||
public:
|
||||
void init();
|
||||
void getSave(int);
|
||||
void putSave(int);
|
||||
void getSave(int i_stageNo);
|
||||
void putSave(int i_stageNo);
|
||||
void initZone();
|
||||
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;
|
||||
int memory_to_card(char*, int);
|
||||
int card_to_memory(char*, int);
|
||||
int initdata_to_card(char*, int);
|
||||
u32 createZone(int i_roomNo);
|
||||
void onSwitch(int i_no, int i_roomNo);
|
||||
void offSwitch(int i_no, int i_roomNo);
|
||||
BOOL isSwitch(int i_no, int i_roomNo) const;
|
||||
BOOL revSwitch(int i_no, int i_roomNo);
|
||||
void onItem(int i_no, int i_roomNo);
|
||||
BOOL isItem(int i_no, int i_roomNo) const;
|
||||
void onActor(int i_no, int i_roomNo);
|
||||
void offActor(int i_no, int i_roomNo);
|
||||
BOOL isActor(int i_no, int i_roomNo) const;
|
||||
int memory_to_card(char* card_ptr, int dataNum);
|
||||
int card_to_memory(char* card_ptr, int dataNum);
|
||||
int initdata_to_card(char* card_ptr, int dataNum);
|
||||
|
||||
dSv_save_c& getSavedata() { return mSavedata; }
|
||||
dSv_memory_c& getMemory() { return mMemory; }
|
||||
dSv_zone_c* getZones() { return mZone; }
|
||||
dSv_zone_c& getZone(int id) { return mZone[id]; }
|
||||
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
|
||||
dSv_event_c& getTmp() { return mTmp; }
|
||||
dSv_restart_c& getRestart() { return mRestart; }
|
||||
@@ -1035,14 +1074,27 @@ public:
|
||||
dSv_danBit_c& getDan() { return mDan; }
|
||||
s64 getStartTime() const { return mStartTime; }
|
||||
s64 getSaveTotalTime() const { return mSaveTotalTime; }
|
||||
void initDan(s8 param_0) { mDan.init(param_0); }
|
||||
void initDan(s8 i_stage) { mDan.init(i_stage); }
|
||||
u8 getDataNum() const { return mDataNum; }
|
||||
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
|
||||
|
||||
static const int MEMORY_SWITCH = 0x80;
|
||||
static const int DAN_SWITCH = 0x40;
|
||||
static const int ZONE_SWITCH = 0x20;
|
||||
static const int ONEZONE_SWITCH = 0x10;
|
||||
|
||||
static const int MEMORY_ITEM = 0x80;
|
||||
static const int DAN_ITEM = 0x20;
|
||||
static const int ZONE_ITEM = 0x20;
|
||||
static const int ONEZONE_ITEM = 0x10;
|
||||
|
||||
static const int ZONE_MAX = 0x20;
|
||||
|
||||
private:
|
||||
/* 0x000 */ dSv_save_c mSavedata;
|
||||
/* 0x958 */ dSv_memory_c mMemory;
|
||||
/* 0x978 */ dSv_danBit_c mDan;
|
||||
/* 0x9B4 */ dSv_zone_c mZone[32];
|
||||
/* 0x9B4 */ dSv_zone_c mZone[ZONE_MAX];
|
||||
/* 0xDB4 */ dSv_restart_c mRestart;
|
||||
/* 0xDD8 */ dSv_event_c mTmp;
|
||||
/* 0xED8 */ dSv_turnRestart_c mTurnRestart;
|
||||
|
||||
@@ -2,5 +2,217 @@
|
||||
#define D_SAVE_D_SAVE_HIO_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
class dSvBit_childTransformHIO_c {
|
||||
public:
|
||||
/* 8025C0A0 */ dSvBit_childTransformHIO_c();
|
||||
/* 8025C0D4 */ void init();
|
||||
|
||||
/* 8025C2E4 */ virtual ~dSvBit_childTransformHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool WF[4];
|
||||
/* 0x09 */ bool field_0x9[4];
|
||||
};
|
||||
|
||||
class dSvBit_childDarknessHIO_c {
|
||||
public:
|
||||
/* 8025C004 */ dSvBit_childDarknessHIO_c();
|
||||
/* 8025C038 */ void init();
|
||||
|
||||
/* 8025C32C */ virtual ~dSvBit_childDarknessHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool TW[6];
|
||||
/* 0x0B */ bool field_0x9[6];
|
||||
};
|
||||
|
||||
class dSvBit_childOtherHIO_c {
|
||||
public:
|
||||
/* 8025C13C */ dSvBit_childOtherHIO_c();
|
||||
/* 8025C178 */ void init();
|
||||
|
||||
/* 8025C29C */ virtual ~dSvBit_childOtherHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 mDropNum;
|
||||
/* 0x06 */ u8 field_0x6;
|
||||
/* 0x07 */ bool mLightVessel[4];
|
||||
/* 0x0B */ bool field_0xb[4];
|
||||
};
|
||||
|
||||
class dSvBit_childTbPerfectionHIO_c {
|
||||
public:
|
||||
/* 8025BF68 */ dSvBit_childTbPerfectionHIO_c();
|
||||
/* 8025BF9C */ void init();
|
||||
|
||||
/* 8025C374 */ virtual ~dSvBit_childTbPerfectionHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x40];
|
||||
/* 0x45 */ bool field_0x45[0x40];
|
||||
};
|
||||
|
||||
class dSvBit_childTreasureHIO_c {
|
||||
public:
|
||||
/* 8025C874 */ virtual ~dSvBit_childTreasureHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x08 */ dSvBit_childTbPerfectionHIO_c mPerfectSave;
|
||||
};
|
||||
|
||||
class dSvBit_childSwZoneHIO_c {
|
||||
public:
|
||||
/* 8025BCB0 */ dSvBit_childSwZoneHIO_c();
|
||||
/* 8025BCE4 */ void init();
|
||||
|
||||
/* 8025C524 */ virtual ~dSvBit_childSwZoneHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x20];
|
||||
/* 0x25 */ bool field_0x25[0x20];
|
||||
};
|
||||
|
||||
class dSvBit_childSwPerfectionHIO_c {
|
||||
public:
|
||||
/* 8025BB78 */ dSvBit_childSwPerfectionHIO_c();
|
||||
/* 8025BBAC */ void init();
|
||||
|
||||
/* 8025C5B4 */ virtual ~dSvBit_childSwPerfectionHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x80];
|
||||
/* 0x85 */ bool field_0x85[0x80];
|
||||
};
|
||||
|
||||
class dSvBit_childSwOneZoneHIO_c {
|
||||
public:
|
||||
/* 8025BD10 */ dSvBit_childSwOneZoneHIO_c();
|
||||
/* 8025BD44 */ void init();
|
||||
|
||||
/* 8025C4DC */ virtual ~dSvBit_childSwOneZoneHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x10];
|
||||
/* 0x15 */ bool field_0x15[0x10];
|
||||
};
|
||||
|
||||
class dSvBit_childSwDungeonHIO_c {
|
||||
public:
|
||||
/* 8025BC14 */ dSvBit_childSwDungeonHIO_c();
|
||||
/* 8025BC48 */ void init();
|
||||
|
||||
/* 8025C56C */ virtual ~dSvBit_childSwDungeonHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x40];
|
||||
/* 0x45 */ bool field_0x45[0x40];
|
||||
};
|
||||
|
||||
class dSvBit_childSwitchHIO_c {
|
||||
public:
|
||||
/* 8025C970 */ virtual ~dSvBit_childSwitchHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x004 */ u8 field_0x4;
|
||||
/* 0x008 */ dSvBit_childSwPerfectionHIO_c field_0x8;
|
||||
/* 0x110 */ dSvBit_childSwDungeonHIO_c field_0x110;
|
||||
/* 0x198 */ dSvBit_childSwZoneHIO_c field_0x198;
|
||||
/* 0x1E0 */ dSvBit_childSwOneZoneHIO_c field_0x1e0;
|
||||
};
|
||||
|
||||
class dSvBit_childItZoneHIO_c {
|
||||
public:
|
||||
/* 8025BEA8 */ dSvBit_childItZoneHIO_c();
|
||||
/* 8025BEDC */ void init();
|
||||
|
||||
/* 8025C404 */ virtual ~dSvBit_childItZoneHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x20];
|
||||
/* 0x25 */ bool field_0x25[0x20];
|
||||
};
|
||||
|
||||
class dSvBit_childItPerfectionHIO_c {
|
||||
public:
|
||||
/* 8025BD70 */ dSvBit_childItPerfectionHIO_c();
|
||||
/* 8025BDA4 */ void init();
|
||||
|
||||
/* 8025C494 */ virtual ~dSvBit_childItPerfectionHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x20];
|
||||
/* 0x25 */ bool field_0x25[0x20];
|
||||
};
|
||||
|
||||
class dSvBit_childItOneZoneHIO_c {
|
||||
public:
|
||||
/* 8025BF08 */ dSvBit_childItOneZoneHIO_c();
|
||||
/* 8025BF3C */ void init();
|
||||
|
||||
/* 8025C3BC */ virtual ~dSvBit_childItOneZoneHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x10];
|
||||
/* 0x15 */ bool field_0x15[0x10];
|
||||
};
|
||||
|
||||
class dSvBit_childItDungeonHIO_c {
|
||||
public:
|
||||
/* 8025BE0C */ dSvBit_childItDungeonHIO_c();
|
||||
/* 8025BE40 */ void init();
|
||||
|
||||
/* 8025C44C */ virtual ~dSvBit_childItDungeonHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ bool field_0x5[0x80];
|
||||
/* 0x85 */ bool field_0x85[0x80];
|
||||
};
|
||||
|
||||
class dSvBit_childItemHIO_c {
|
||||
public:
|
||||
/* 8025C8D4 */ virtual ~dSvBit_childItemHIO_c();
|
||||
|
||||
private:
|
||||
/* 0x004 */ u8 field_0x4;
|
||||
/* 0x008 */ dSvBit_childItPerfectionHIO_c mFullSave;
|
||||
/* 0x050 */ dSvBit_childItDungeonHIO_c mDungeonSave;
|
||||
/* 0x158 */ dSvBit_childItZoneHIO_c mZoneSave;
|
||||
/* 0x1A0 */ dSvBit_childItOneZoneHIO_c mOneZoneSave;
|
||||
};
|
||||
|
||||
class dSvBit_HIO_c {
|
||||
public:
|
||||
/* 8025C1F8 */ void init();
|
||||
|
||||
/* 8025C6FC */ virtual ~dSvBit_HIO_c();
|
||||
|
||||
private:
|
||||
/* 0x004 */ u8 field_0x4;
|
||||
/* 0x008 */ dSvBit_childSwitchHIO_c mSwitch;
|
||||
/* 0x210 */ dSvBit_childItemHIO_c mItem;
|
||||
/* 0x3D8 */ dSvBit_childTreasureHIO_c mTreasure;
|
||||
/* 0x468 */ dSvBit_childDarknessHIO_c mDarkness;
|
||||
/* 0x47C */ dSvBit_childTransformHIO_c mTransform;
|
||||
/* 0x48C */ dSvBit_childOtherHIO_c mOther;
|
||||
/* 0x49C */ bool mTransformFlag;
|
||||
/* 0x49D */ bool field_0x49d;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dSvBit_HIO_c) == 0x4A0);
|
||||
|
||||
#endif /* D_SAVE_D_SAVE_HIO_H */
|
||||
|
||||
@@ -912,6 +912,7 @@ void GXInitLightSpot(GXLightObj*, f32, GXSpotFn);
|
||||
void GXInvalidateTexAll(void);
|
||||
void GXLoadLightObjImm(GXLightObj*, GXLightID);
|
||||
void GXLoadPosMtxImm(Mtx, u32);
|
||||
void GXLoadNrmMtxImm(Mtx, u32);
|
||||
void GXLoadTexMtxImm(Mtx, u32, GXTexMtxType);
|
||||
void GXPixModeSync(void);
|
||||
void GXProject(f32, f32, f32, Mtx, f32*, f32*, f32*, f32*, f32*);
|
||||
|
||||
@@ -18,6 +18,7 @@ public:
|
||||
/* 0x224 */ leafdraw_method_class* pMthd;
|
||||
};
|
||||
|
||||
u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3);
|
||||
void fopCamM_Management(void);
|
||||
u32 fopCamM_GetParam(camera_class* pCamera);
|
||||
void fopCamM_Init(void);
|
||||
|
||||
@@ -10,5 +10,6 @@ void* fopKyM_CreateAppend(void);
|
||||
f32* createAppend(int param_1, cXyz* param_2, cXyz* param_3);
|
||||
void fopKyM_Delete(void* param_1);
|
||||
void fopKyM_Create(s16 param_1, fopKyMCreateFunc param_2, void* param_3);
|
||||
void fopKyM_fastCreate(s16 param_0, int param_1, cXyz* param_2, cXyz* param_3, fopKyMCreateFunc);
|
||||
|
||||
#endif
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
mResetData->mResetPrepare = 0;
|
||||
}
|
||||
static u8 getLogoScnFlag() { return mResetData->mLogoScnFlag; }
|
||||
static bool isReturnToMenu() { return mResetData->mReturnToMenu; }
|
||||
static BOOL isReturnToMenu() { return mResetData->mReturnToMenu; }
|
||||
static bool isShutdown() { return mResetData->mShutdown; }
|
||||
static int isReset() { return mResetData->mReset; }
|
||||
static int get3ButtonResetPort() { return mResetData->m3ButtonResetPort; }
|
||||
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
|
||||
extern JKRSolidHeap* g_mDoAud_audioHeap;
|
||||
|
||||
void mDoAud_resetProcess();
|
||||
bool mDoAud_resetRecover();
|
||||
void mDoAud_setSceneName(char const* spot, s32 room, s32 layer);
|
||||
s32 mDoAud_load1stDynamicWave();
|
||||
@@ -75,4 +76,8 @@ inline bool mDoAud_check1stDynamicWave() {
|
||||
return Z2AudioMgr::getInterface()->mSceneMgr.check1stDynamicWave();
|
||||
}
|
||||
|
||||
inline void mDoAud_bgmStop(u32 param_0) {
|
||||
Z2AudioMgr::getInterface()->mSeqMgr.bgmStop(param_0, 0);
|
||||
}
|
||||
|
||||
#endif /* M_DO_M_DO_AUDIO_H */
|
||||
|
||||
+46
-7
@@ -33,14 +33,14 @@ private:
|
||||
class mDoExt_btkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_btkAnm(void) { mBtkAnm = 0; }
|
||||
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
||||
/* 8000D63C */ int init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
||||
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); }
|
||||
void init(J3DModelData* data, J3DAnmTextureSRTKey* key, int param_2, int param_3, f32 param_4,
|
||||
s16 param_5, s16 param_6) {
|
||||
init(&data->getMaterialTable(), key, param_2, param_3, param_4, param_5, param_6);
|
||||
int init(J3DModelData* data, J3DAnmTextureSRTKey* key, int param_2, int param_3, f32 param_4,
|
||||
s16 param_5, s16 param_6) {
|
||||
return init(&data->getMaterialTable(), key, param_2, param_3, param_4, param_5, param_6);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -52,9 +52,17 @@ STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x18);
|
||||
class mDoExt_brkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_brkAnm(void) { mBrkAnm = 0; }
|
||||
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
||||
/* 8000D70C */ int init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
||||
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); }
|
||||
|
||||
int init(J3DModelData* data, J3DAnmTevRegKey* anmKey, int param_2, int param_3, f32 param_4,
|
||||
s16 param_5, s16 param_6) {
|
||||
return init(&data->getMaterialTable(), anmKey, param_2, param_3, param_4, param_5, param_6);
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x14 */ u32 mBrkAnm;
|
||||
}; // Size: 0x18
|
||||
@@ -64,9 +72,18 @@ STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18);
|
||||
class mDoExt_bpkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_bpkAnm(void) { mBpkAnm = 0; }
|
||||
/* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
|
||||
/* 8000D47C */ int init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
|
||||
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); }
|
||||
|
||||
int init(J3DModelData* data, J3DAnmColor* anmColor, int param_2, int param_3, f32 param_4,
|
||||
s16 param_5, s16 param_6) {
|
||||
return init(&data->getMaterialTable(), anmColor, param_2, param_3, param_4, param_5,
|
||||
param_6);
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x14 */ u32 mBpkAnm;
|
||||
}; // Size: 0x18
|
||||
@@ -76,11 +93,13 @@ STATIC_ASSERT(sizeof(mDoExt_bpkAnm) == 0x18);
|
||||
class mDoExt_bckAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_bckAnm(void) { mAnm = 0; }
|
||||
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D7DC */ int init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D990 */ void changeBckOnly(J3DAnmTransform*);
|
||||
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
||||
/* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
|
||||
private:
|
||||
/* 0x14 */ u32 mBckAnm;
|
||||
/* 0x18 */ u32 mAnm;
|
||||
@@ -88,6 +107,25 @@ private:
|
||||
|
||||
STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C);
|
||||
|
||||
class mDoExt_btpAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_btpAnm() { mpAnm = NULL; }
|
||||
/* 8000D54C */ int init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
|
||||
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
void entry(J3DModelData* data, s16 frame) { entry(&data->getMaterialTable(), frame); }
|
||||
|
||||
int init(J3DModelData* data, J3DAnmTexPattern* anmPattern, int param_2, int param_3,
|
||||
f32 param_4, s16 param_5, s16 param_6) {
|
||||
return init(&data->getMaterialTable(), anmPattern, param_2, param_3, param_4, param_5,
|
||||
param_6);
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x14 */ J3DAnmTexPattern* mpAnm;
|
||||
};
|
||||
|
||||
class J3DTransformInfo;
|
||||
|
||||
class mDoExt_McaMorfCallBack1_c {
|
||||
@@ -185,6 +223,7 @@ JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap**, u32, u32);
|
||||
u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* pHeap);
|
||||
JKRHeap* mDoExt_getCurrentHeap();
|
||||
void mDoExt_removeMesgFont();
|
||||
void mDoExt_modelUpdateDL(J3DModel*);
|
||||
|
||||
@@ -37,11 +37,13 @@ public:
|
||||
static MtxP get() { return now; }
|
||||
static void transS(f32 x, f32 y, f32 z) { PSMTXTrans(now, x, y, z); }
|
||||
static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); }
|
||||
static void multVec(const Vec* a, Vec* b) { PSMTXMultVec(now, a, b); }
|
||||
static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); }
|
||||
static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); }
|
||||
static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); }
|
||||
static void ZXYrotM(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotM(now, x, y, z); }
|
||||
static void YrotM(s16 y) { mDoMtx_YrotM(now, y); }
|
||||
static void YrotS(s16 y) { mDoMtx_YrotS(now, y); }
|
||||
|
||||
static Mtx now;
|
||||
static Mtx buffer[16];
|
||||
|
||||
Reference in New Issue
Block a user