d_stage / d_lib (#136)

* d_lib move

* move / work on d_stage

* add mDoExt funcs to header

* d_kyeff/kyeff2, d_bg_s_poly_pass_chk

* use array_size in d_stage
This commit is contained in:
TakaRikka
2021-06-18 09:33:51 -04:00
committed by GitHub
parent 8c2a3ae7ea
commit ba5ad31b54
185 changed files with 1626 additions and 4873 deletions
+1 -1
View File
@@ -306,7 +306,7 @@ public:
/* 8009D87C */ bool getE3Zhint();
/* 8009D884 */ char* getAlinkArcName();
/* 8009DA60 */ bool checkStageName(char const*);
/* 8009DA60 */ static bool checkStageName(char const*);
/* 8009DA98 */ void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
/* 8009DB64 */ void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*);
/* 8009DC6C */ void setMatrixWorldAxisRot(f32 (*)[4], s16, s16, s16, int, cXyz const*);
+3 -4
View File
@@ -5,15 +5,14 @@
class cBgS_PolyPassChk {
public:
~cBgS_PolyPassChk();
void* vtable;
virtual ~cBgS_PolyPassChk();
};
class dBgS_PolyPassChk : public cBgS_PolyPassChk {
public:
dBgS_PolyPassChk();
~dBgS_PolyPassChk();
virtual void temp(); // temp to build OK, remove later
virtual ~dBgS_PolyPassChk();
bool ChkArrow() { return mArrow; }
bool ChkBomb() { return mBomb; }
+5
View File
@@ -3,4 +3,9 @@
#include "dolphin/types.h"
class dKyeff_c {
public:
bool execute();
};
#endif /* D_D_KYEFF_H */
+5
View File
@@ -3,4 +3,9 @@
#include "dolphin/types.h"
class dKyeff2_c {
public:
bool execute();
};
#endif /* D_D_KYEFF2_H */
+50
View File
@@ -3,4 +3,54 @@
#include "dolphin/types.h"
struct STControl {
/* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16);
/* 80032088 */ void setWaitParm(s16, s16, s16, s16, f32, f32, s16, s16);
/* 800320AC */ void init();
/* 800320FC */ void Xinit();
/* 8003212C */ void Yinit();
/* 8003215C */ virtual f32 getValueStick();
/* 8003216C */ virtual s16 getAngleStick();
/* 8003219C */ void checkTrigger();
/* 8003242C */ bool checkLeftTrigger();
/* 800324A8 */ bool checkRightTrigger();
/* 80032524 */ bool checkUpTrigger();
/* 800325A0 */ bool checkDownTrigger();
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ u8 field_0x0c;
/* 0x0D */ u8 field_0x0d;
/* 0x0E */ s16 field_0x0e;
/* 0x10 */ s16 field_0x10;
/* 0x12 */ s16 field_0x12;
/* 0x14 */ s16 field_0x14;
/* 0x16 */ s16 field_0x16;
/* 0x18 */ s16 mXwaitTimer;
/* 0x1A */ s16 mYwaitTimer;
/* 0x1C */ s16 field_0x1c;
/* 0x1E */ s16 field_0x1e;
/* 0x20 */ s16 field_0x20;
/* 0x22 */ s16 field_0x22;
/* 0x24 */ s16 field_0x24;
/* 0x26 */ s16 field_0x26;
/* 0x28 */ s16 mFirstWaitTime;
/* 0x2A */ s16 field_0x2a;
/* 0x2C */ s16 field_0x2c;
}; // Size = 0x30
struct CSTControl : public STControl {
virtual f32 getValueStick();
virtual s16 getAngleStick();
};
struct dLib_time_c {
/* 80032804 */ void getTime();
/* 80032880 */ void stopTime();
/* 800328BC */ void startTime();
static u8 m_diffTime[4];
static u8 m_stopTime[4];
};
#endif /* D_D_LIB_H */
+97 -17
View File
@@ -1,6 +1,7 @@
#ifndef D_D_STAGE_H
#define D_D_STAGE_H
#include "JSystem/JKernel/JKRExpHeap.h"
#include "d/save/d_save.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
@@ -12,10 +13,18 @@ struct stage_vrbox_info_class {};
struct stage_tresure_class {};
struct stage_tgsc_data_class {
class stage_tgsc_data_class {
public:
/* 8002847C */ ~stage_tgsc_data_class();
/* 800284B8 */ stage_tgsc_data_class();
};
private:
/* 0x00 */ u32 field_0x00;
/* 0x04 */ u32 field_0x04;
/* 0x08 */ u8 field_0x08[0x18]; // fopAcM_prmBase_class
/* 0x20 */ u16 field_0x20;
/* 0x22 */ u8 field_0x22;
}; // Size = 0x24
struct stage_tgsc_class {};
@@ -43,7 +52,9 @@ struct stage_camera2_data_class {};
struct stage_arrow_class {};
struct stage_actor_data_class {};
struct stage_actor_data_class {
/* 0x00 */ const char* mName;
};
struct stage_actor_class {};
@@ -75,6 +86,15 @@ struct dStage_DMap_c {};
struct dStage_MapEventInfo_c {};
class dStage_dt_c {
public:
void setRoomNo(s8 roomNo) { mRoomNo = roomNo; }
s8 getRoomNo() { return mRoomNo; }
private:
/* 0x04 */ s8 mRoomNo;
};
class dStage_stageDt_c {
public:
stage_camera_class* getCamera(void) const;
@@ -346,13 +366,16 @@ private:
int mVrboxcolNumInfo;
}; // Size: 0x6C
#pragma pack(push, 1)
class dStage_roomControl_c {
public:
struct roomDzs_c {
class roomDzs_c {
public:
/* 80024A34 */ void create(u8);
/* 80024ABC */ void remove();
/* 80024B44 */ void add(u8, u8);
/* 0x00 */ u8 m_num;
/* 0x04 */ JKRHeap* m_dzs;
};
void init(void);
@@ -360,31 +383,29 @@ public:
/* 80024338 */ void initZone();
/* 80024384 */ void getStatusRoomDt(int);
/* 800243B0 */ void getMemoryBlock(int);
/* 800243E8 */ void setStayNo(int);
/* 80024424 */ void setNextStayNo(int);
/* 800243E8 */ static void setStayNo(int);
/* 80024424 */ static void setNextStayNo(int);
/* 800244E8 */ void checkRoomDisp(int) const;
/* 8002451C */ void loadRoom(int, u8*, bool);
/* 8002471C */ void zoneCountCheck(int) const;
/* 80024844 */ void createMemoryBlock(int, u32);
/* 80024844 */ static JKRExpHeap* createMemoryBlock(int, u32);
/* 800248A8 */ void destroyMemoryBlock();
/* 8002490C */ void setArcBank(int, char const*);
/* 80024940 */ void getArcBank(int);
/* 80024954 */ void resetArchiveBank(int);
/* 80024DB0 */ void SetTimePass(int);
/* 80024DB0 */ static void SetTimePass(int);
static u8 mMemoryBlock[76];
static JKRExpHeap* mMemoryBlock[19];
static u8 mArcBank[320];
static u8 mStatus[65792];
static u8 mDemoArcName[10 + 2 /* padding */];
static u8 mProcID[4];
static u32 mProcID;
static u8 mArcBankName[4];
static u8 mArcBankData[4];
static u8 m_roomDzs[8];
static roomDzs_c m_roomDzs;
private:
u8 field_0x0[164];
};
#pragma pack(pop)
#pragma pack(push, 1)
class dStage_nextStage_c {
@@ -441,12 +462,71 @@ public:
}; // Size: 0x404
// unknown name
struct objectNameInfo {
struct dStage_objectNameInf {
char mName[8];
s16 mProcTypeID;
s8 unkA;
s16 mProcName;
s8 mSubtype;
}; // Size: 0xC
typedef void (*dStage_Func)(dStage_dt_c*, void*, int, void*);
struct FuncTable {
char identifier[8];
dStage_Func function;
};
const char* dStage_getName2(s16, s8);
dStage_objectNameInf* dStage_searchName(const char*);
static void dStage_stageKeepTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_filiInfo2Init(dStage_dt_c*, void*, int, void*);
static void dStage_mapPathInitCommonLayer(dStage_dt_c*, void*, int, void*);
static void dStage_mapPathInit(dStage_dt_c*, void*, int, void*);
static void dStage_memaInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_mecoInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_stagInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_soundInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_lgtvInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_envrInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_pselectInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_paletteInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_vrboxcolInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_roomDrtgInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_actorInit(dStage_dt_c*, void*, int, void*);
static void dStage_layerTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_elstInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_rppnInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_rpatInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_multInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_playerInit(dStage_dt_c*, void*, int, void*);
static void dStage_cameraInit(dStage_dt_c*, void*, int, void*);
static void dStage_actorInit_always(dStage_dt_c*, void*, int, void*);
static void dStage_roomReadInit(dStage_dt_c*, void*, int, void*);
static void dStage_arrowInit(dStage_dt_c*, void*, int, void*);
static void dStage_vrboxInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_sclsInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_plightInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_ppntInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_pathInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_filiInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_stageDrtgInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_floorInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_dmapInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_stEventInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_soundInfoInitCL(dStage_dt_c*, void*, int, void*);
static void dStage_RoomCameraInit(dStage_dt_c*, void*, int, void*);
static void dStage_lbnkInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_actorCommonLayerInit(dStage_dt_c*, void*, int, void*);
static void dStage_roomTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_tgscCommonLayerInit(dStage_dt_c*, void*, int, void*);
static void dStage_mapEventInfoInit(dStage_dt_c*, void*, int, void*);
static void dStage_fieldMapTresureInit(dStage_dt_c*, void*, int, void*);
static void dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*);
static void dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) {
return param_0 & 0x3f;
}
#endif /* D_D_STAGE_H */
+7
View File
@@ -3,4 +3,11 @@
#include "dolphin/types.h"
void dKyw_wether_draw();
void dKyw_wether_delete();
void dKyw_wether_move_draw2();
void dKyw_wether_draw2();
void dKyw_wether_delete2();
void dKyw_wether_init2();
#endif /* D_KANKYO_D_KANKYO_WETHER_H */
+7
View File
@@ -16,6 +16,13 @@
class J3DModelData; // placeholder
struct fopAcM_prmBase_class {
/* 0x00 */ u32 field_0x00;
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ csXyz field_0x10;
/* 0x16 */ u16 field_0x16;
}; // Size = 0x18
struct fopAcM_prm_class {
/* 0x00 */ u32 mParameter; // single U32 Parameter
/* 0x04 */ cXyz mPos;
+4
View File
@@ -48,8 +48,12 @@ public:
static u32 getHoldX(u32 pad) { return getHold(pad) & CButton::X; }
static f32 getStickX(u32 pad) { return getCpadInfo(pad).mMainStickPosX; }
static f32 getStickY(u32 pad) { return getCpadInfo(pad).mMainStickPosY; }
static f32 getStickValue(u32 pad) { return getCpadInfo(pad).mMainStickValue; }
static s16 getStickAngle(u32 pad) { return getCpadInfo(pad).mMainStickAngle; }
static f32 getSubStickX(u32 pad) { return getCpadInfo(pad).mCStickPosX; }
static f32 getSubStickY(u32 pad) { return getCpadInfo(pad).mCStickPosY; }
static f32 getSubStickValue(u32 pad) { return getCpadInfo(pad).mCStickValue; }
static s16 getSubStickAngle(u32 pad) { return getCpadInfo(pad).mCStickAngle; }
static f32 getAnalogR(u32 pad) { return getCpadInfo(pad).mTriggerRight; }
static f32 getAnalogL(u32 pad) { return getCpadInfo(pad).mTriggerLeft; }
+2
View File
@@ -135,5 +135,7 @@ void mDoExt_restoreCurrentHeap();
JKRHeap* mDoExt_getGameHeap();
void mDoExt_destroySolidHeap(JKRSolidHeap*);
JKRHeap* mDoExt_setCurrentHeap(JKRHeap*);
JKRExpHeap* mDoExt_getArchiveHeap();
void mDoExt_destroyExpHeap(JKRExpHeap*);
#endif /* M_DO_M_DO_EXT_H */