diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2023-11-14 03:16:27 -0500 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2023-11-14 03:16:27 -0500 |
| commit | 20aa2a94f074532bfe66cd58815b646aecdf0959 (patch) | |
| tree | ba953ba3bae1e944c3897ded999dcebb2837be3e /include | |
| parent | c338d6eee4b2df2ed00cd13028296d18b53db8ae (diff) | |
d_a_rd work
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_rd.h | 34 | ||||
| -rw-r--r-- | include/d/d_jnt_hit.h | 3 | ||||
| -rw-r--r-- | include/d/d_lib.h | 39 | ||||
| -rw-r--r-- | include/d/d_material.h | 12 | ||||
| -rw-r--r-- | include/d/d_npc.h | 37 |
5 files changed, 95 insertions, 30 deletions
diff --git a/include/d/actor/d_a_rd.h b/include/d/actor/d_a_rd.h index fbe9866f..c25feee0 100644 --- a/include/d/actor/d_a_rd.h +++ b/include/d/actor/d_a_rd.h @@ -51,6 +51,21 @@ public: PROC_EXEC = 1 }; + enum Mode { + MODE_WAIT = 0x0, + MODE_DAMAGE = 0x1, + MODE_PARALYSIS = 0x2, + MODE_DEATH = 0x3, + MODE_MOVE = 0x4, + MODE_CRY = 0x5, + MODE_CRY_WAIT = 0x6, + MODE_ATTACK = 0x7, + MODE_RETURN = 0x8, + MODE_SILENT_PRAY = 0x9, + MODE_SW_WAIT = 0xA, + MODE_KANOKE = 0xB, + }; + typedef void (daRd_c::*ModeFunc)(); static const u32 m_heapsize; @@ -69,8 +84,8 @@ public: BOOL _nodeHeadControl(J3DNode*, J3DModel*); BOOL _createHeap(); bool createArrowHeap(); - void checkPlayerInAttack(); - void checkPlayerInCry(); + bool checkPlayerInAttack(); + bool checkPlayerInCry(); void lookBack(); void checkTgHit(); void setCollision(); @@ -127,7 +142,9 @@ public: /* 0x2D0 */ mDoExt_McaMorf* mpMorf; /* 0x2D4 */ mDoExt_btkAnm mBtkAnm; /* 0x2E8 */ mDoExt_brkAnm mBrkAnm; - /* 0x300 */ u8 m300[0x310 - 0x300]; + /* 0x300 */ cXyz m300; + /* 0x30C */ s16 m30C; + /* 0x30E */ u8 m30E[0x310 - 0x30E]; /* 0x310 */ int m310; /* 0x314 */ int m314; /* 0x318 */ int m318; @@ -141,9 +158,9 @@ public: /* 0x69C */ dNpc_JntCtrl_c mJntCtrl; /* 0x6D0 */ u32 m6D0; /* 0x6D4 */ int m6D4; - /* 0x6D8 */ u8 m6D8; - /* 0x6D9 */ u8 m6D9; - /* 0x6DA */ u8 m6DA; + /* 0x6D8 */ s8 m6D8; + /* 0x6D9 */ s8 m6D9; + /* 0x6DA */ s8 m6DA; /* 0x6DB */ u8 m6DB; /* 0x6DC */ u8 m6DC; /* 0x6DD */ u8 m6DD[0x6E0 - 0x6DD]; @@ -163,7 +180,10 @@ public: /* 0xD1E */ s16 mD1E; /* 0xD20 */ u8 mD20[0xD34 - 0xD20]; /* 0xD34 */ bool mbIkari; - /* 0xD35 */ u8 mD35[0xD44 - 0xD35]; + /* 0xD35 */ u8 mD35[0xD38 - 0xD35]; + /* 0xD38 */ f32 mD38; + /* 0xD3C */ int mD3C; + /* 0xD40 */ int mD40; }; #endif /* D_A_RD_H */ diff --git a/include/d/d_jnt_hit.h b/include/d/d_jnt_hit.h index 847bf8e2..03ae8ef7 100644 --- a/include/d/d_jnt_hit.h +++ b/include/d/d_jnt_hit.h @@ -80,7 +80,8 @@ public: /* 0x1C */ f32 m1C; /* 0x20 */ f32 m20; /* 0x24 */ f32 m24; -}; + /* 0x28 */ u8 m28[0x2C - 0x28]; +}; // Size: 0x2C JntHit_c* JntHit_create(J3DModel* model, __jnt_hit_data_c* jntHitData, s16 hitDataCount); diff --git a/include/d/d_lib.h b/include/d/d_lib.h index 5f0054fe..b32edf6d 100644 --- a/include/d/d_lib.h +++ b/include/d/d_lib.h @@ -3,8 +3,12 @@ #include "dolphin/types.h" #include "SSystem/SComponent/c_xyz.h" - -class mDoExt_McaMorf; +#include "dolphin/mtx/mtx.h" +#include "d/d_bg_s_acch.h" +#include "dolphin/gx/GXStruct.h" +#include "JSystem/J3DGraphAnimator/J3DModelData.h" +#include "m_Do/m_Do_ext.h" +#include "d/d_path.h" class STControl { public: @@ -41,6 +45,12 @@ public: /* 0x26 */ s16 field_0x26; }; +class CSTControl { +public: + void getValueStick(); + void getAngleStick(); +}; + class dLib_anm_prm_c { public: /* 0x00 */ s8 field_0x00; @@ -51,9 +61,30 @@ public: /* 0x0C */ u32 loopMode; }; -void dLib_bcks_setAnm(const char*, mDoExt_McaMorf*, s8*, s8*, s8*, const int*, const dLib_anm_prm_c*, bool); -bool dLib_checkPlayerInCircle(cXyz, f32, f32); +class dLib_circle_path_c; +class dLib_wave_c; +class dLib_anm_idx_c; +void dLib_setCirclePath(dLib_circle_path_c*); +void dLib_getWaterY(cXyz&, dBgS_ObjAcch&); +void dLib_waveRot(Vec*, f32, dLib_wave_c*); +void dLib_debugDrawAxis(Mtx&, f32); +void dLib_debugDrawFan(cXyz&, s16, s16, f32, const GXColor&); +void dLib_brkInit(J3DModelData*, mDoExt_brkAnm*, const char*, int); +void 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_scaleAnime(f32*, f32*, int, int*, f32, f32, f32); +void dLib_getPosFromMtx(f32(*)[4], cXyz*); +void dLib_pathInfo(dPath**, u8); +void dLib_pathMove(cXyz*, s8*, dPath*, f32, int (*)(cXyz*, cXyz*, cXyz*, void*), void*); void dLib_setNextStageBySclsNum(u8, s8); +void dLib_setFirstMsg(u16, u32, u32); +bool dLib_checkPlayerInCircle(cXyz, f32, f32); +bool dLib_checkActorInCircle(cXyz, fopAc_ac_c*, f32, f32); +bool dLib_checkActorInFan(cXyz, fopAc_ac_c*, s16, s16, f32, f32); +void dLib_getIplDaysFromSaveTime(); +void dLib_get_QuatFromTriangle(cXyz*, cXyz*, cXyz*); +void dLib_calc_QuatFromTriangle(Quaternion*, f32, cXyz*, cXyz*, cXyz*); #endif /* D_LIB_H */ diff --git a/include/d/d_material.h b/include/d/d_material.h index 038902cd..6e5687b6 100644 --- a/include/d/d_material.h +++ b/include/d/d_material.h @@ -1,9 +1,17 @@ #ifndef D_MATERIAL_H #define D_MATERIAL_H +#include "dolphin/types.h" + +class J3DMaterialTable; +class J3DAnmTextureSRTKey; +class mDoExt_McaMorf; +class mDoExt_invisibleModel; + class dMat_ice_c { public: void play(); + void entryDL(mDoExt_McaMorf*, s8, mDoExt_invisibleModel*); }; class dMat_control_c { @@ -11,6 +19,10 @@ public: static void icePlay() { mIce->play(); } static void create(J3DMaterialTable*, J3DAnmTextureSRTKey*); + static void iceEntryDL(mDoExt_McaMorf* morf, s8 param_2, mDoExt_invisibleModel* invisModel) { + mIce->entryDL(morf, param_2, invisModel); + } + static dMat_ice_c* mIce; }; diff --git a/include/d/d_npc.h b/include/d/d_npc.h index ed26cf10..1dc62cbd 100644 --- a/include/d/d_npc.h +++ b/include/d/d_npc.h @@ -34,13 +34,14 @@ public: }; class dNpc_JntCtrl_c { +public: /* 0x00 */ s16 mAngles[2][2]; // /* 0x00 */ s16 mHeadUpDownRot; // /* 0x02 */ s16 mHeadLeftRightRot; // /* 0x04 */ s16 mBackboneUpDownRot; // /* 0x06 */ s16 mBackboneLeftRightRot; - /* 0x08 */ u8 mHeadJntNum; - /* 0x09 */ u8 mBackboneJntNum; + /* 0x08 */ s8 mHeadJntNum; + /* 0x09 */ s8 mBackboneJntNum; /* 0x0A */ bool field_0x0A; /* 0x0B */ u8 field_0x0B; /* 0x0C */ u8 field_0x0C; @@ -68,24 +69,24 @@ public: field_0x0B = 0; } - void clrTrn() {} - void getBackboneJntNum() {} - void getBackbone_x() {} - void getBackbone_y() {} - void getHeadJntNum() {} - void getHead_x() {} - void getHead_y() {} - void offBackBoneLock() {} - void offHeadLock() {} - void onBackBoneLock() {} + s8 getHeadJntNum() { return mHeadJntNum; } + s8 getBackboneJntNum() { return mBackboneJntNum; } + void setHeadJntNum(s8 jnt) { mHeadJntNum = jnt; } + void setBackboneJntNum(s8 jnt) { mBackboneJntNum = jnt; } + int getHead_x() { return mAngles[0][0]; } + int getHead_y() { return mAngles[0][1]; } + int getBackbone_x() { return mAngles[1][0]; } + int getBackbone_y() { return mAngles[1][1]; } + void setHead_x(s16 angle) { mAngles[0][0] = angle; } + void setHead_y(s16 angle) { mAngles[0][1] = angle; } + void setBackBone_x(s16 angle) { mAngles[1][0] = angle; } + void setBackBone_y(s16 angle) { mAngles[1][1] = angle; } void onHeadLock() {} - void setBackBone_x(s16) {} - void setBackBone_y(s16) {} - void setBackboneJntNum(s8) {} - void setHeadJntNum(s8) {} - void setHead_x(s16) {} - void setHead_y(s16) {} + void onBackBoneLock() {} + void offHeadLock() {} + void offBackBoneLock() {} void setTrn() {} + void clrTrn() {} void trnChk() {} bool angCalcS(s16*, s16, s16, s16); |
