summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2023-11-14 03:16:27 -0500
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2023-11-14 03:16:27 -0500
commit20aa2a94f074532bfe66cd58815b646aecdf0959 (patch)
treeba953ba3bae1e944c3897ded999dcebb2837be3e /include
parentc338d6eee4b2df2ed00cd13028296d18b53db8ae (diff)
d_a_rd work
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_rd.h34
-rw-r--r--include/d/d_jnt_hit.h3
-rw-r--r--include/d/d_lib.h39
-rw-r--r--include/d/d_material.h12
-rw-r--r--include/d/d_npc.h37
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);