d_lib progress, d_a_rd documentation progress

This commit is contained in:
LagoLunatic
2023-11-22 19:31:49 -05:00
parent 469f243030
commit 0495b56636
5 changed files with 418 additions and 187 deletions
+49 -13
View File
@@ -17,10 +17,10 @@ public:
/* 0x2D */ u8 m2D[0x30 - 0x2D];
/* 0x30 */ f32 m30;
/* 0x34 */ f32 m34;
/* 0x38 */ f32 m38;
/* 0x38 */ f32 mCryRadius;
/* 0x3C */ f32 mAttackRadius;
/* 0x40 */ s16 m40;
/* 0x42 */ s16 m42;
/* 0x42 */ s16 mCrySpreadAngle;
/* 0x44 */ s16 mAttackSpreadAngle;
/* 0x46 */ s16 m46;
/* 0x48 */ s16 m48;
@@ -36,7 +36,7 @@ public:
/* 0x60 */ f32 m60;
/* 0x64 */ f32 m64;
/* 0x68 */ f32 m68;
/* 0x6C */ f32 m6C;
/* 0x6C */ f32 mReturnWalkSpeed;
/* 0x70 */ f32 m70;
/* 0x74 */ f32 m74;
/* 0x78 */ s16 m78;
@@ -67,6 +67,42 @@ public:
MODE_NULL,
};
enum BckIdx {
BckIdx_TACHIP = 0x0,
BckIdx_SUWARIP = 0x1,
BckIdx_WALK2ATACK = 0x2,
BckIdx_ATACK = 0x3,
BckIdx_ATACK2WALK = 0x4,
BckIdx_WALK = 0x5,
BckIdx_DAMAGE = 0x6,
BckIdx_DEAD = 0x7,
BckIdx_TATSU = 0x8,
BckIdx_SUWARU = 0x9,
BckIdx_KANOKEP = 0xA,
BckIdx_BEAM_HIT = 0xB,
BckIdx_BEAM = 0xC,
BckIdx_BEAM_END = 0xD,
};
enum AnmPrm {
AnmPrm_TACHIP0 = 0x0,
AnmPrm_TACHIP1 = 0x1,
AnmPrm_SUWARIP = 0x2,
AnmPrm_WALK2ATACK = 0x3,
AnmPrm_ATACK = 0x4,
AnmPrm_ATACK2WALK = 0x5,
AnmPrm_WALK = 0x6,
AnmPrm_DAMAGE = 0x7,
AnmPrm_DEAD = 0x8,
AnmPrm_TATSU = 0x9,
AnmPrm_SUWARU = 0xA,
AnmPrm_KANOKEP = 0xB,
AnmPrm_BEAM_HIT = 0xC,
AnmPrm_BEAM = 0xD,
AnmPrm_BEAM_END = 0xE,
AnmPrm_NULL,
};
typedef void (daRd_c::*ModeFunc)();
static const u32 m_heapsize;
@@ -74,7 +110,7 @@ public:
static const dCcD_SrcCyl m_cyl_src;
daRd_c() {}
bool isAnm(s8 idx) { return m6D9 == idx; }
bool isAnm(s8 idx) { return mAnmPrmIdx == idx; }
bool isIkari() { return mbIkari; }
void modeProcInit(int newMode) { modeProc(PROC_INIT, newMode); }
void offIkari() { mbIkari = false; }
@@ -132,9 +168,9 @@ public:
/* 0x2AC */ int mMode;
/* 0x2B0 */ u8 m2B0[0x2B4 - 0x2B0];
/* 0x2B4 */ int m2B4;
/* 0x2B4 */ int mWhichIdleAnm;
/* 0x2B8 */ int mAreaRadius;
/* 0x2BC */ int m2BC;
/* 0x2BC */ int mChecksSwitch;
/* 0x2C0 */ int mSwNo;
/* 0x2C4 */ u8 m2C4;
/* 0x2C5 */ u8 mHitType; // TODO enum
@@ -143,8 +179,8 @@ public:
/* 0x2D0 */ mDoExt_McaMorf* mpMorf;
/* 0x2D4 */ mDoExt_btkAnm mBtkAnm;
/* 0x2E8 */ mDoExt_brkAnm mBrkAnm;
/* 0x300 */ cXyz m300;
/* 0x30C */ s16 m30C;
/* 0x300 */ cXyz mSpawnPos;
/* 0x30C */ s16 mSpawnAngle;
/* 0x30E */ u8 m30E[0x310 - 0x30E];
/* 0x310 */ int mTimer1;
/* 0x314 */ int mTimer2;
@@ -157,10 +193,10 @@ public:
/* 0x690 */ s32 mShadowId;
/* 0x694 */ mDoExt_invisibleModel mInvisModel;
/* 0x69C */ dNpc_JntCtrl_c mJntCtrl;
/* 0x6D0 */ u32 m6D0;
/* 0x6D0 */ u32 mCorpseID;
/* 0x6D4 */ int m6D4;
/* 0x6D8 */ s8 m6D8;
/* 0x6D9 */ s8 m6D9;
/* 0x6D8 */ s8 mBckIdx;
/* 0x6D9 */ s8 mAnmPrmIdx;
/* 0x6DA */ s8 m6DA;
/* 0x6DB */ s8 m6DB;
/* 0x6DC */ s8 m6DC;
@@ -168,14 +204,14 @@ public:
/* 0x6E0 */ enemyice mEnemyIce;
/* 0xA98 */ enemyfire mEnemyFire;
/* 0xCC0 */ JntHit_c* mpJntHit;
/* 0xCC4 */ cXyz mAttPos;
/* 0xCC4 */ cXyz mTargetPos;
/* 0xCD0 */ cXyz mRdEyePos;
/* 0xCDC */ s16 mMaxHeadTurnVel;
/* 0xCDE */ u8 mCDE[0xCE0 - 0xCDE];
/* 0xCE0 */ int mCE0;
/* 0xCE4 */ int mCE4;
/* 0xCE8 */ Mtx mCE8;
/* 0xD18 */ s16 mD18;
/* 0xD18 */ s16 mHeadAngle;
/* 0xD1A */ s16 mD1A;
/* 0xD1C */ s16 mD1C;
/* 0xD1E */ s16 mD1E;
+26 -24
View File
@@ -10,6 +10,8 @@
#include "m_Do/m_Do_ext.h"
#include "d/d_path.h"
extern Quaternion ZeroQuat;
class STControl {
public:
STControl(s16, s16, s16, s16, f32, f32, s16, s16);
@@ -17,48 +19,47 @@ public:
void init();
void Xinit();
void Yinit();
void getValueStick();
void getAngleStick();
virtual f32 getValueStick();
virtual s16 getAngleStick();
bool checkTrigger();
bool checkLeftTrigger();
bool checkRightTrigger();
bool checkUpTrigger();
bool checkDownTrigger();
/* 0x00 */ void* vtbl;
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ u8 field_0x0c;
/* 0x0D */ u8 field_0x0d;
/* 0x0E */ u16 field_0x0e;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x0E */ s16 field_0x0e;
/* 0x10 */ s16 field_0x10;
/* 0x12 */ s16 field_0x12;
/* 0x14 */ s16 field_0x14;
/* 0x16 */ s16 field_0x16;
/* 0x18 */ u16 field_0x18;
/* 0x1A */ u16 field_0x1a;
/* 0x1C */ u16 field_0x1c;
/* 0x1E */ u16 field_0x1e;
/* 0x20 */ u16 field_0x20;
/* 0x22 */ u16 field_0x22;
/* 0x18 */ s16 field_0x18;
/* 0x1A */ s16 field_0x1a;
/* 0x1C */ s16 field_0x1c;
/* 0x1E */ s16 field_0x1e;
/* 0x20 */ s16 field_0x20;
/* 0x22 */ s16 field_0x22;
/* 0x24 */ s16 field_0x24;
/* 0x26 */ s16 field_0x26;
};
class CSTControl {
class CSTControl : public STControl {
public:
void getValueStick();
void getAngleStick();
virtual f32 getValueStick();
virtual s16 getAngleStick();
};
class dLib_anm_prm_c {
public:
/* 0x00 */ s8 field_0x00;
/* 0x01 */ s8 field_0x01;
/* 0x00 */ s8 mBckIdx;
/* 0x01 */ s8 mNextPrmIdx;
/* 0x02 */ s16 field_0x02;
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ u32 loopMode;
/* 0x04 */ f32 mMorf;
/* 0x08 */ f32 mPlaySpeed;
/* 0x0C */ int mLoopMode;
};
class dLib_circle_path_c {
@@ -76,14 +77,15 @@ class dLib_wave_c;
class dLib_anm_idx_c;
void dLib_setCirclePath(dLib_circle_path_c*);
void dLib_getWaterY(cXyz&, dBgS_ObjAcch&);
f32 dLib_getWaterY(cXyz& pos, dBgS_ObjAcch& acch);
void dLib_waveRot(Vec*, f32, dLib_wave_c*);
void dLib_debugDrawAxis(Mtx&, f32);
void dLib_debugDrawFan(cXyz&, s16, s16, f32, const GXColor&);
void dLib_debugDrawAxis(Mtx& mtx, f32 length);
void dLib_debugDrawFan(cXyz& center, s16 angleY, s16 fanSpreadAngle, f32 radius, const GXColor& color);
bool dLib_brkInit(J3DModelData*, mDoExt_brkAnm*, const char*, int);
bool dLib_btkInit(J3DModelData*, mDoExt_btkAnm*, const char*, int);
void dLib_setAnm(const char*, mDoExt_McaMorf*, s8*, s8*, s8*, const dLib_anm_idx_c*, const dLib_anm_prm_c*, bool);
void dLib_bcks_setAnm(const char*, mDoExt_McaMorf*, s8*, s8*, s8*, const int*, const dLib_anm_prm_c*, bool);
void dLib_bcks_setAnm(const char* arcName, mDoExt_McaMorf* morf, s8* pBckIdx, s8* pPrmIdx,
s8* param_5, const int* bcksTbl, const dLib_anm_prm_c* anmPrmTbl, bool param_8);
void dLib_scaleAnime(f32* o_value, f32* p_targets, int targetNum, int* p_targetIdx, f32 scale, f32 maxStep, f32 minStep);
void dLib_getPosFromMtx(f32(*)[4], cXyz*);
bool dLib_pathInfo(dPath**, u8);