summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2024-09-14 10:48:38 +0300
committerGitHub <noreply@github.com>2024-09-14 00:48:38 -0700
commitf2ac35d73896f8419319a67ab464b209c2e06b9b (patch)
tree8d734684db24dcd78385965d92729ca1a8475ab3 /include
parentee0c0f12acc4c9c6cc63d3c0c943a3b691c5d742 (diff)
J3DModelLoaderCalcSize + J2DScreen work (#2198)
* All literals functions in J2DScreen were matched * Import J3DModelLoaderCalcSize work * d_a_obj_rfHole OK * Minor fixes for daVrbox2
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/J3DGraphLoader/J3DModelLoader.h63
-rw-r--r--include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h47
2 files changed, 96 insertions, 14 deletions
diff --git a/include/JSystem/J3DGraphLoader/J3DModelLoader.h b/include/JSystem/J3DGraphLoader/J3DModelLoader.h
index 21ec5cd163..581340cd03 100644
--- a/include/JSystem/J3DGraphLoader/J3DModelLoader.h
+++ b/include/JSystem/J3DGraphLoader/J3DModelLoader.h
@@ -199,6 +199,46 @@ struct J3DTextureBlock : public J3DModelBlock {
/* 0x10 */ void* mpNameTable;
};
+enum J3DModelLoaderFlagTypes {
+ J3DMLF_None = 0x00000000,
+
+ J3DMLF_MtxSoftImageCalc = 0x00000001,
+ J3DMLF_MtxMayaCalc = 0x00000002,
+ J3DMLF_MtxBasicCalc = 0x00000004,
+ J3DMLF_04 = 0x00000008,
+ J3DMLF_MtxTypeMask = J3DMLF_MtxSoftImageCalc | J3DMLF_MtxMayaCalc | J3DMLF_MtxBasicCalc |
+ J3DMLF_04, // 0 - 2 (0 = Basic, 1 = SoftImage, 2 = Maya)
+
+ J3DMLF_UseImmediateMtx = 0x00000010,
+ J3DMLF_UsePostTexMtx = 0x00000020,
+ J3DMLF_07 = 0x00000040,
+ J3DMLF_08 = 0x00000080,
+ J3DMLF_NoMatrixTransform = 0x00000100,
+ J3DMLF_10 = 0x00000200,
+ J3DMLF_11 = 0x00000400,
+ J3DMLF_12 = 0x00000800,
+ J3DMLF_13 = 0x00001000,
+ J3DMLF_DoBdlMaterialCalc = 0x00002000,
+ J3DMLF_15 = 0x00004000,
+ J3DMLF_16 = 0x00008000,
+ J3DMLF_TevNumShift = 0x00010000,
+ J3DMLF_18 = 0x00020000,
+ J3DMLF_UseSingleSharedDL = 0x00040000,
+ J3DMLF_20 = 0x00080000,
+ J3DMLF_21 = 0x00100000,
+ J3DMLF_UseUniqueMaterials = 0x00200000,
+ J3DMLF_23 = 0x00400000,
+ J3DMLF_24 = 0x00800000,
+ J3DMLF_Material_UseIndirect = 0x01000000,
+ J3DMLF_26 = 0x02000000,
+ J3DMLF_27 = 0x04000000,
+ J3DMLF_Material_TexGen_Block4 = 0x08000000,
+ J3DMLF_Material_PE_Full = 0x10000000,
+ J3DMLF_Material_PE_FogOff = 0x20000000,
+ J3DMLF_Material_Color_LightOn = 0x40000000,
+ J3DMLF_Material_Color_AmbientOn = 0x80000000
+};
+
/**
* @ingroup jsystem-j3d
*
@@ -228,7 +268,24 @@ public:
/* 80337010 */ u32 calcSizePatchedMaterial(J3DMaterialBlock const*, u32);
/* 803370A0 */ u32 calcSizeMaterialDL(J3DMaterialDLBlock const*, u32);
- // virtuals
+ // Remove when J3DModelLoader.cc is ok
+ #ifndef NON_VIRTUAL_J3DModelLoader
+ /* 803347E0 */ virtual J3DModelData* load(void const*, u32);
+ /* 80334ABC */ virtual J3DMaterialTable* loadMaterialTable(void const*);
+ /* 80334C20 */ virtual J3DModelData* loadBinaryDisplayList(void const*, u32);
+ /* 803367D4 */ virtual u32 calcLoadSize(void const*, u32);
+ /* 803369A0 */ virtual u32 calcLoadMaterialTableSize(void const*);
+ /* 80336A98 */ virtual u32 calcLoadBinaryDisplayListSize(void const*, u32);
+ /* 80336794 */ virtual u16 countMaterialNum(void const*);
+ /* 80334EE0 */ virtual void setupBBoardInfo();
+ /* 80336450 */ virtual ~J3DModelLoader();
+ /* 8033649C */ virtual void readMaterial(J3DMaterialBlock const*, u32);
+ /* 80336498 */ virtual void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
+ /* 803364A4 */ virtual void readMaterialTable(J3DMaterialBlock const*, u32);
+ /* 803364A0 */ virtual void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
+ /* 803364A8 */ virtual u32 calcSizeMaterial(J3DMaterialBlock const*, u32);
+ /* 803364B0 */ virtual u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
+ #else
/* 803347E0 */ J3DModelData* load(void const*, u32);
/* 80334ABC */ J3DMaterialTable* loadMaterialTable(void const*);
/* 80334C20 */ J3DModelData* loadBinaryDisplayList(void const*, u32);
@@ -244,8 +301,10 @@ public:
/* 803364A0 */ void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
/* 803364A8 */ u32 calcSizeMaterial(J3DMaterialBlock const*, u32);
/* 803364B0 */ u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
-
+
/* 0x00 */ void* _vtable;
+ #endif
+
/* 0x04 */ J3DModelData* mpModelData;
/* 0x08 */ J3DMaterialTable* mpMaterialTable;
/* 0x0C */ J3DShapeBlock const* mpShapeBlock;
diff --git a/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h b/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h
index ddd9319c3f..341c474720 100644
--- a/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h
+++ b/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h
@@ -2,6 +2,7 @@
#define D_A_OBJ_RFHOLE_H
#include "f_op/f_op_actor_mng.h"
+#include "d/bg/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
@@ -11,14 +12,23 @@
* @details
*
*/
-class daRfHole_c : public fopAc_ac_c {
+class daRfHole_c : public dBgS_MoveBgActor {
public:
+ enum Mode {
+ MODE_WAIT,
+ MODE_BREAK,
+ MODE_BREAK_EFF,
+ MODE_END,
+ };
+
+ typedef void (daRfHole_c::*ModeFunc)();
+
/* 80CB8F04 */ void setBaseMtx();
- /* 80CB8F8C */ void CreateHeap();
- /* 80CB8FF8 */ void create();
- /* 80CB9148 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
- /* 80CB9194 */ void playerAreaCheck();
- /* 80CB940C */ void Execute(f32 (**)[3][4]);
+ /* 80CB8F8C */ int CreateHeap();
+ /* 80CB8FF8 */ int create();
+ /* 80CB9148 */ static void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80CB9194 */ int playerAreaCheck();
+ /* 80CB940C */ int Execute(f32 (**)[3][4]);
/* 80CB9464 */ void holeProc();
/* 80CB9520 */ void init_modeWait();
/* 80CB952C */ void modeWait();
@@ -29,20 +39,33 @@ public:
/* 80CB973C */ void init_modeEnd();
/* 80CB9748 */ void modeEnd();
/* 80CB9768 */ void setBreakEffect();
- /* 80CB9878 */ void Draw();
- /* 80CB991C */ void Delete();
+ /* 80CB9878 */ int Draw();
+ /* 80CB991C */ int Delete();
private:
- /* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
+ /* 0x5A0 */ request_of_phase_process_class mPhase;
+ /* 0x5A8 */ J3DModel* mModel;
+ /* 0x5AC */ u8 mMode;
+ /* 0x5AD */ u8 field_0x5ad;
+ /* 0x5AE */ u8 field_0x5ae;
+ /* 0x5AF */ u8 field_0x5af;
+ /* 0x5B0 */ s8 mRoofSoundOn;
+ /* 0x5B1 */ u8 field_0x5b1[0x5b4 - 0x5b1];
};
STATIC_ASSERT(sizeof(daRfHole_c) == 0x5b4);
-class daRfHole_HIO_c {
+class daRfHole_HIO_c : public mDoHIO_entry_c {
public:
/* 80CB8E6C */ daRfHole_HIO_c();
- /* 80CB99D8 */ ~daRfHole_HIO_c();
-};
+ /* 80CB99D8 */ virtual ~daRfHole_HIO_c() {}
+ /* 0x04 */ f32 field_0x04;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0c;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ u8 field_0x14;
+ /* 0x15 */ u8 field_0x15;
+};
#endif /* D_A_OBJ_RFHOLE_H */