d_a_nh 75% done (#49)

* d_a_nh 75% done

* More nh actions
This commit is contained in:
LagoLunatic
2023-09-17 14:58:28 -04:00
committed by GitHub
parent 65a63eea69
commit e806b15578
21 changed files with 497 additions and 97 deletions
@@ -3,6 +3,7 @@
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "dolphin/types.h"
#include "global.h"
class JUTNameTab;
@@ -70,4 +71,6 @@ private:
/* 0x44 */ JUTNameTab* mJointName;
}; // Size: 0x48
STATIC_ASSERT(sizeof(J3DJointTree) == 0x48);
#endif /* J3DJOINTTREE_H */
+1 -2
View File
@@ -43,7 +43,6 @@ public:
entryModelData(param_0, param_1, param_2);
}
void setBaseTRMtx(f32 (*)[4]);
void initialize();
s32 entryModelData(J3DModelData*, u32, u32);
s32 createShapePacket(J3DModelData*);
@@ -79,7 +78,7 @@ public:
bool isCpuSkinningOn() const { return (mFlags & J3DMdlFlag_SkinPosCpu) && (mFlags & J3DMdlFlag_SkinNrmCpu); }
Mtx& getBaseTRMtx() { return mBaseTransformMtx; }
void i_setBaseTRMtx(Mtx m) { MTXCopy(m, mBaseTransformMtx); }
void setBaseTRMtx(Mtx m) { MTXCopy(m, mBaseTransformMtx); }
u32 getMtxCalcMode() const { return mFlags & 0x03; }
J3DVertexBuffer* getVertexBuffer() const { return (J3DVertexBuffer*)&mVertexBuffer; }
J3DMatPacket* getMatPacket(u16 idx) const { return &mpMatPacket[idx]; }
@@ -6,6 +6,7 @@
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "JSystem/J3DGraphBase/J3DVertex.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
typedef struct _GXColor GXColor;
class JUTNameTab;
@@ -13,7 +13,9 @@ private:
/* 0x08 */ unsigned int mActorId;
public:
cBgS_PolyInfo() {}
cBgS_PolyInfo() {
ClearPi();
}
void ClearPi() {
mPolyIndex = -1;
mBgIndex = 0x100;
+2 -2
View File
@@ -2,6 +2,7 @@
#define C_LIB_H_
#include "SSystem/SComponent/c_xyz.h"
#include "SSystem/SComponent/c_math.h"
#include "dolphin/mtx/mtx.h"
inline bool cLib_IsZero(f32 value) {
@@ -29,8 +30,7 @@ int cLib_chasePosXZ(cXyz* o_value, cXyz const& target, f32 step);
int cLib_chaseAngleS(s16* o_value, s16 target, s16 step);
s16 cLib_targetAngleY(cXyz* lhs, cXyz* rhs);
s16 cLib_targetAngleY(const cXyz& lhs, const cXyz& rhs);
s16 cLib_targetAngleX(const cXyz*, const cXyz*);
s16 cLib_targetAngleX(cXyz*, cXyz*);
void cLib_offsetPos(cXyz* pDest, cXyz* pSrc, s16 angle, cXyz* vec);
s32 cLib_distanceAngleS(s16 x, s16 y);
+1 -1
View File
@@ -22,7 +22,7 @@ class cM3dGCir : public cM2dGCir {
public:
cM3dGCir(void);
virtual ~cM3dGCir(void);
virtual ~cM3dGCir(void) {}
void Set(f32, f32, f32, f32);
};
+4
View File
@@ -835,6 +835,10 @@ inline int dComIfGd_setRealShadow2(u32 id, s8 param_2, J3DModel* pModel, cXyz* p
int dComIfGd_setSimpleShadow2(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& i_floorPoly, s16 i_angle, f32 param_5, GXTexObj* i_tex);
inline void dComIfGd_setAlphaModel(unsigned char param_0, float(*param_1)[4], unsigned char param_2) {
g_dComIfG_gameInfo.drawlist.setAlphaModel(param_0, param_1, param_2);
}
/**
* === RESOURCE ===
*/
+10 -1
View File
@@ -165,7 +165,13 @@ public:
struct view_port_class;
struct view_class;
struct camera_class;
struct dDlst_alphaModel_c;
struct dDlst_alphaModel_c {
public:
dDlst_alphaModel_c();
void create(int);
void set(unsigned char, float(*)[4], unsigned char);
void draw(float(*)[4]);
};
class dDlst_list_c {
public:
@@ -191,6 +197,9 @@ public:
dKy_tevstr_c* pTevStr) {
return mShadowControl.setReal2(id, param_2, pModel, pPos, param_5, param_6, pTevStr);
}
void setAlphaModel(unsigned char param_0, float(*param_1)[4], unsigned char param_2) {
mpAlphaModel0->set(param_0, param_1, param_2);
}
static void offWipe() { mWipe = false; }
+3 -3
View File
@@ -164,9 +164,9 @@ struct actor_attention_types {
void setFlag(u32 flags) { mFlags |= flags; }
/* 0x00 */ u8 mDistances[8];
/* 0x0C */ cXyz mPosition;
/* 0x18 */ u32 mFlags;
}; // Size = 0x1C
/* 0x08 */ cXyz mPosition;
/* 0x14 */ u32 mFlags;
}; // Size = 0x18
class dJntCol_c;
+1 -1
View File
@@ -6,10 +6,10 @@
#include "f_pc/f_pc_layer_tag.h"
#include "f_pc/f_pc_line_tag.h"
#include "f_pc/f_pc_priority.h"
#include "f_pc/f_pc_profile.h"
typedef struct create_request create_request;
typedef struct process_method_class process_method_class;
typedef struct process_profile_definition process_profile_definition;
typedef struct profile_method_class profile_method_class;
typedef struct base_process_class {
+7 -9
View File
@@ -18,7 +18,7 @@ public:
mDoExt_baseAnm() { mpFrameCtrl = NULL; }
virtual ~mDoExt_baseAnm() {}
int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF);
int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF, bool);
int play();
J3DFrameCtrl* getFrameCtrl() { return mpFrameCtrl; }
@@ -71,21 +71,19 @@ class J3DTevColorAnm;
class J3DTevKColorAnm;
class mDoExt_brkAnm : public mDoExt_baseAnm {
public:
mDoExt_brkAnm() { mpAnm = NULL; }
mDoExt_brkAnm() {
mpCRegAnm = NULL;
mpKRegAnm = NULL;
}
/* 8000D70C */ int init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay,
int i_attribute, f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
/* 8000D7A8 */ void entry(J3DMaterialTable* i_matTable, f32 i_frame);
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
void entry(J3DModelData* i_modelData, f32 i_frame) {
entry(&i_modelData->getMaterialTable(), i_frame);
}
void entry(J3DModelData* i_modelData, f32 i_frame);
int init(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int i_anmPlay, int i_attribute,
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry) {
return init(&i_modelData->getMaterialTable(), i_brk, i_anmPlay, i_attribute, i_rate,
i_start, i_end, i_modify, i_entry);
}
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
int remove(J3DModelData* i_modelData) { return i_modelData->removeTevRegAnimator(mpAnm); }
void entryFrame() { entryFrame(getFrame()); }
+9
View File
@@ -11,7 +11,9 @@ public:
class JORReflexible : public JOREventListener {
public:
#ifdef DEBUG
virtual ~JORReflexible() {}
#endif
};
class mDoHIO_child_c {
@@ -44,6 +46,13 @@ public:
virtual ~mDoHIO_root_c() {}
void update();
s8 mDoHIO_createChild(const char* name, JORReflexible* hio) {
return m_subroot.createChild(name, hio);
}
void mDoHIO_deleteChild(s8 childID) {
m_subroot.deleteChild(childID);
}
/* 0x0 */ mDoHIO_subRoot_c m_subroot;
};