k_wmark / k_wpillar OK, fop actor enums / debug building (#1946)

* d_k_wmark / d_k_wpillar OK

* make debug buildable / add assert functionality

* add more fop actor enums

* remove asm
This commit is contained in:
TakaRikka
2023-09-28 12:01:42 -07:00
committed by GitHub
parent 673e69386a
commit 89ed2b8a26
206 changed files with 1612 additions and 2472 deletions
+81 -9
View File
@@ -24,12 +24,84 @@ struct actor_process_profile_definition2 {
/* 0x30 */ u32 field_0x30;
};
enum {
ACTOR_TYPE_ENEMY = 2,
enum fopAc_Status_e {
fopAcStts_NOEXEC_e = 0x00000080,
fopAcStts_CULL_e = 0x00000100,
fopAcStts_FREEZE_e = 0x00000400,
fopAcStts_CARRY_e = 0x00002000,
fopAcStts_NOPAUSE_e = 0x00020000,
fopAcStts_NODRAW_e = 0x01000000,
fopAcStts_BOSS_e = 0x04000000,
};
enum fopAc_Group_e {
/* 0 */ fopAc_ACTOR_e,
/* 1 */ fopAc_PLAYER_e,
/* 2 */ fopAc_ENEMY_e,
/* 3 */ fopAc_ENV_e, // is this correct?
/* 4 */ fopAc_NPC_e,
};
enum fopAc_Condition_e {
fopAcCnd_NOEXEC_e = 0x02,
fopAcCnd_NODRAW_e = 0x04,
fopAcCnd_INIT_e = 0x08,
};
enum fopAc_Cull_e {
fopAc_CULLBOX_0_e,
fopAc_CULLBOX_1_e,
fopAc_CULLBOX_2_e,
fopAc_CULLBOX_3_e,
fopAc_CULLBOX_4_e,
fopAc_CULLBOX_5_e,
fopAc_CULLBOX_6_e,
fopAc_CULLBOX_7_e,
fopAc_CULLBOX_8_e,
fopAc_CULLBOX_9_e,
fopAc_CULLBOX_10_e,
fopAc_CULLBOX_11_e,
fopAc_CULLBOX_12_e,
fopAc_CULLBOX_13_e,
fopAc_CULLBOX_CUSTOM_e,
fopAc_CULLSPHERE_0_e,
fopAc_CULLSPHERE_1_e,
fopAc_CULLSPHERE_2_e,
fopAc_CULLSPHERE_3_e,
fopAc_CULLSPHERE_4_e,
fopAc_CULLSPHERE_5_e,
fopAc_CULLSPHERE_6_e,
fopAc_CULLSPHERE_7_e,
fopAc_CULLSPHERE_8_e,
fopAc_CULLSPHERE_9_e,
fopAc_CULLSPHERE_10_e,
fopAc_CULLSPHERE_11_e,
fopAc_CULLSPHERE_12_e,
fopAc_CULLSPHERE_13_e,
fopAc_CULLSPHERE_CUSTOM_e,
};
class JKRSolidHeap;
enum dEvt_Command_e {
dEvtCmd_NONE_e,
dEvtCmd_INTALK_e,
dEvtCmd_INDEMO_e,
dEvtCmd_INDOOR_e,
dEvtCmd_INGETITEM_e,
dEvtCmd_INCATCH_e = 6,
dEvtCmd_DUMMY = 0xFFFF,
};
enum dEvt_Condition_e {
dEvtCnd_NONE_e = 0x0000,
dEvtCnd_CANTALK_e = 0x0001,
dEvtCnd_CANDOOR_e = 0x0004,
dEvtCnd_CANGETITEM_e = 0x0008,
dEvtCnd_CANTALKITEM_e = 0x0020,
dEvtCnd_DUMMY = 0x8000,
};
class dEvt_info_c {
public:
dEvt_info_c();
@@ -41,7 +113,7 @@ public:
void offCondition(u16);
bool checkCommandCatch();
BOOL checkCommandDoor();
BOOL checkCommandDemoAccrpt() { return mCommand == 2; }
BOOL checkCommandDemoAccrpt() { return mCommand == dEvtCmd_INDEMO_e; }
void setCommand(u16 command) { mCommand = command; }
void setMapToolId(u8 id) { mMapToolId = id; }
@@ -58,11 +130,11 @@ public:
void i_onCondition(u16 cond) { mCondition |= cond; }
void i_offCondition(u16 cond) { mCondition &= ~cond; }
bool checkCommandTalk() { return mCommand == 1; }
bool checkCommandItem() { return mCommand == 4; }
BOOL i_checkCommandDoor() { return mCommand == 3; }
bool i_checkCommandDemoAccrpt() { return mCommand == 2; }
bool i_checkCommandCatch() { return mCommand == 6; }
bool checkCommandTalk() { return mCommand == dEvtCmd_INTALK_e; }
bool checkCommandItem() { return mCommand == dEvtCmd_INGETITEM_e; }
BOOL i_checkCommandDoor() { return mCommand == dEvtCmd_INDOOR_e; }
bool i_checkCommandDemoAccrpt() { return mCommand == dEvtCmd_INDEMO_e; }
bool i_checkCommandCatch() { return mCommand == dEvtCmd_INCATCH_e; }
void suspendProc(void* actor) {
if (field_0x10 != NULL) {
@@ -81,7 +153,7 @@ public:
}; // Size = 0x18
struct actor_place {
/* 807E2468 */ //void operator=(actor_place const&);
/* 807E2468 */ // void operator=(actor_place const&);
/* 0x00 */ cXyz pos;
/* 0x0C */ csXyz angle;
+7 -7
View File
@@ -7,9 +7,9 @@
#include "f_pc/f_pc_searcher.h"
#define fopAcM_SetupActor(ptr,ClassName) \
if (!fopAcM_CheckCondition(ptr, 8)) { \
if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \
new (ptr) ClassName(); \
fopAcM_OnCondition(ptr, 8); \
fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \
}
class J3DModelData; // placeholder
@@ -77,16 +77,16 @@ public:
class dBgS_GndChk;
class fopAcM_gc_c {
public:
static dBgS_GndChk* getGroundCheck() { return (dBgS_GndChk*)&mGndCheck; }
static bool gndCheck(const cXyz*);
static u8 mGndCheck[84]; // this is dBgS_GndChk but all static data in the TU probably needs to be setup first (otherwise causes a reordering problem with the __sinit function)
static f32 mGroundY;
// strange issue where f_op_actor_mng.h can't find the dComIfG_Bgsp() inline even when you include the header
// static bool getTriPla(cM3dGPla* pPlane) {
// return dComIfG_Bgsp().GetTriPla(mGndCheck,pPlane);
// }
// this avoids having to include d_bg_s.h here
static inline bool getTriPla(cM3dGPla* pPlane);
static inline int getRoomId();
static inline int getPolyColor();
static dBgS_GndChk* getGroundCheck() { return (dBgS_GndChk*)&mGndCheck; }
static f32 getGroundY() { return mGroundY; }
};
+1
View File
@@ -3,6 +3,7 @@
#include "SSystem/SComponent/c_xyz.h"
#include "f_pc/f_pc_manager.h"
#include "f_op/f_op_kankyo.h"
struct fopKyM_prm_class {
/* 0x00 */ cXyz mPos;