mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-04 00:38:59 -04:00
J3duclip, fop_actor_mng and related stuff (#131)
* J3DUClipper sinit * sincosTable_ etc * decompile JMATrigonometric sinit * f_op_actor_mng * move f_op_actor_mng and parts of mDo_ext * J3DSys sinit * f_op_scene_req * failed matching attempt for decodeSZS__9JKRDecompFPUcPUcUlUl * mX -> x * fix mCull and fopAcM_prm_class members * fix a few function parameters * move missing NON_MATCHING * remove some unneeded data * turns out that data was not unused * remove unused asm * readd asm deleted by accident
This commit is contained in:
@@ -34,8 +34,16 @@ public:
|
||||
/* 0x4EC */ cXyz mScale;
|
||||
/* 0x4F8 */ cXyz mSpeed;
|
||||
/* 0x504 */ Mtx* mCullMtx;
|
||||
/* 0x508 */ cXyz mCullMin;
|
||||
/* 0x514 */ cXyz mCullMax;
|
||||
union {
|
||||
struct {
|
||||
/* 0x508 */ cXyz mMin;
|
||||
/* 0x514 */ cXyz mMax;
|
||||
} mBox;
|
||||
struct {
|
||||
/* 0x508 */ cXyz mCenter;
|
||||
/* 0x514 */ f32 mRadius;
|
||||
} mSphere;
|
||||
} mCull;
|
||||
/* 0x520 */ u8 unk_0x520[0xC];
|
||||
/* 0x52C */ f32 mSpeedF;
|
||||
/* 0x530 */ f32 mGravity;
|
||||
@@ -50,4 +58,4 @@ public:
|
||||
const csXyz& getAngle() const { return mCurrent.mAngle; }
|
||||
}; // Size: unknown
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define F_OP_ACTOR_MNG_H_
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_pla.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
@@ -13,38 +14,36 @@
|
||||
#include "f_pc/f_pc_searcher.h"
|
||||
#include "f_pc/f_pc_stdcreate_req.h"
|
||||
|
||||
class J3DModelData; // placeholder
|
||||
|
||||
struct fopAcM_prm_class {
|
||||
/* 0x00 */ u32 unk_0x00;
|
||||
/* 0x04 */ cXyz unk_0x04;
|
||||
/* 0x10 */ csXyz unk_0x10;
|
||||
/* 0x16 */ u16 unk_0x16;
|
||||
/* 0x18 */ u8 unk_0x18;
|
||||
/* 0x19 */ u8 unk_0x19;
|
||||
/* 0x1A */ u8 unk_0x1A;
|
||||
/* 0x1B */ u8 unk_0x1B;
|
||||
/* 0x1C */ s32 unk_0x1C;
|
||||
/* 0x20 */ s8 unk_0x20;
|
||||
/* 0x21 */ s8 unk_0x21;
|
||||
/* 0x22 */ u8 unk_0x22;
|
||||
/* 0x23 */ u8 unk_0x23;
|
||||
/* 0x00 */ u32 mParameter; // single U32 Parameter
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ csXyz mAngle; // rotation
|
||||
/* 0x16 */ u16 mEnemyNo;
|
||||
/* 0x18 */ u8 mScale[3];
|
||||
/* 0x1B */ u8 mGbaName; // from WW, maybe a different parameter here
|
||||
/* 0x1C */ s32 mParentPId; // parent process ID
|
||||
/* 0x20 */ s8 mSubtype;
|
||||
/* 0x21 */ s8 mRoomNo;
|
||||
};
|
||||
|
||||
class fopAcM_lc_c {
|
||||
public:
|
||||
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
|
||||
|
||||
static u8 mLineCheck[112];
|
||||
};
|
||||
|
||||
class fopAcM_rc_c {
|
||||
public:
|
||||
static bool roofCheck(const cXyz*);
|
||||
static u8 mRoofCheck[80];
|
||||
static f32 mRoofY;
|
||||
};
|
||||
|
||||
class fopAcM_gc_c {
|
||||
public:
|
||||
static bool gndCheck(const cXyz*);
|
||||
|
||||
static u8 mGndCheck[84];
|
||||
static f32 mGroundY;
|
||||
};
|
||||
@@ -52,7 +51,6 @@ public:
|
||||
class fopAcM_wt_c {
|
||||
public:
|
||||
static bool waterCheck(const cXyz*);
|
||||
|
||||
static u8 mWaterCheck[84 + 4 /* padding */];
|
||||
static f32 mWaterY[1 + 1 /* padding */];
|
||||
};
|
||||
@@ -145,7 +143,7 @@ s32 fopAcM_getItemEventPartner(const fopAc_ac_c*);
|
||||
s32 fopAcM_getEventPartner(const fopAc_ac_c*);
|
||||
s32 fopAcM_createItemForPresentDemo(const cXyz*, int, u8, int, int, const csXyz*, const cXyz*);
|
||||
s32 fopAcM_createItemForTrBoxDemo(const cXyz*, int, int, int, const csXyz*, const cXyz*);
|
||||
s32 fopAcM_getItemNoFromTableNo(u8);
|
||||
// s32 fopAcM_getItemNoFromTableNo(u8);
|
||||
s32 fopAcM_createItemFromEnemyID(u8, const cXyz*, int, int, const csXyz*, const cXyz*, f32*, f32*);
|
||||
s32 fopAcM_createItemFromTable(const cXyz*, int, int, int, const csXyz*, int, const cXyz*, f32*,
|
||||
f32*, bool);
|
||||
@@ -172,11 +170,11 @@ s32 fopAcM_effSmokeSet1(u32*, u32*, const cXyz*, const csXyz*, f32, const dKy_te
|
||||
s32 fopAcM_effHamonSet(u32*, const cXyz*, f32, f32);
|
||||
s32 fopAcM_riverStream(cXyz*, s16*, f32*, f32);
|
||||
s32 fopAcM_carryOffRevise(fopAc_ac_c*);
|
||||
void vectle_calc(const DOUBLE_POS*, cXyz*);
|
||||
void get_vectle_calc(const cXyz*, const cXyz*, cXyz*);
|
||||
// void vectle_calc(const DOUBLE_POS*, cXyz*);
|
||||
// void get_vectle_calc(const cXyz*, const cXyz*, cXyz*);
|
||||
void fopAcM_setEffectMtx(const fopAc_ac_c*, const J3DModelData*);
|
||||
const char* fopAcM_getProcNameString(const fopAc_ac_c*);
|
||||
s32 fopAcM_findObjectCB(const fopAc_ac_c*, void*);
|
||||
static const char* fopAcM_getProcNameString(const fopAc_ac_c*);
|
||||
// s32 fopAcM_findObjectCB(const fopAc_ac_c*, void*);
|
||||
s32 fopAcM_searchFromName(const char*, u32, u32);
|
||||
s32 fopAcM_findObject4EventCB(fopAc_ac_c*, void*);
|
||||
s32 fopAcM_searchFromName4Event(const char*, s16);
|
||||
@@ -290,4 +288,4 @@ void fopAcM_GetID__FPCv(void); // mostly inlined
|
||||
void fopAcM_GetParam__FPCv(void); // mostly inlined
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -14,12 +14,12 @@ void fopScnRq_ReRequest(void);
|
||||
class scene_request_class {
|
||||
public:
|
||||
node_create_request mCrtReq;
|
||||
u32 mFadeRequest;
|
||||
u32 mFadeRequest; // TODO: type is wrong
|
||||
request_of_phase_process_class mReqPhsProcCls;
|
||||
u8 field_0x70[4];
|
||||
};
|
||||
|
||||
scene_request_class* fopScnRq_phase_ClearOverlap(scene_request_class* param_1);
|
||||
// cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_1);
|
||||
s32 fopScnRq_Request(int, scene_class*, s16, void*, s16, u16);
|
||||
s32 fopScnRq_ReRequest(unsigned int, s16, void*);
|
||||
void fopScnRq_Handler(void);
|
||||
|
||||
Reference in New Issue
Block a user