|
2 | 2 | #define A_NPC_D_A_NPC_CD_H |
3 | 3 |
|
4 | 4 | #include "Z2AudioLib/Z2Creature.h" |
5 | | -#include "d/d_com_inf_game.h" |
| 5 | +#include "d/actor/d_a_npc.h" |
| 6 | + |
| 7 | +class daNpcCd_c : public fopAc_ac_c { |
| 8 | +public: |
| 9 | + /* 8015605C */ int NpcCreate(int); |
| 10 | + /* 801561E8 */ J3DModel* ObjCreate(int); |
| 11 | + /* 80156228 */ BOOL isM_(); |
| 12 | + /* 80156248 */ J3DAnmTransform* getAnmP(int, int); |
| 13 | + /* 801563C8 */ int setAttention(int); |
| 14 | + /* 80156B4C */ int loadResrc(int, int); |
| 15 | + /* 80156C50 */ int removeResrc(int, int); |
| 16 | + /* 80156D1C */ void setEnvTevCol(); |
| 17 | + /* 80156D78 */ void setRoomNo(); |
| 18 | + /* 80156DBC */ void animation(); |
| 19 | + /* 80156E20 */ void setAnm(J3DAnmTransformKey*, f32, f32, int, int, int); |
| 20 | + /* 80156E8C */ int drawObj(int, J3DModel*, f32); |
| 21 | + /* 80156F74 */ int drawNpc(); |
| 22 | + /* 80157084 */ int jntNodeCB(J3DJoint*, J3DModel*); |
| 23 | + /* 8015736C */ void setHitodamaParticle(); |
| 24 | + /* 80157524 */ J3DModelData* getNpcMdlDataP(int); |
| 25 | + /* 80157588 */ J3DModelData* getObjMdlDataP(int); |
| 26 | + /* 80AA8694 */ virtual ~daNpcCd_c(); |
| 27 | + |
| 28 | + static dCcD_SrcCyl const m_cylDat; |
| 29 | + |
| 30 | + /* 0x56C */ request_of_phase_process_class mPhase1; |
| 31 | + /* 0x574 */ request_of_phase_process_class mPhase2; |
| 32 | + /* 0x57C */ request_of_phase_process_class mPhase3; |
| 33 | + /* 0x584 */ request_of_phase_process_class mPhase4; |
| 34 | + /* 0x58C */ mDoExt_McaMorfSO* mpMorf; |
| 35 | + /* 0x590 */ Z2CreatureCitizen mCreature; |
| 36 | + /* 0x634 */ dBgS_ObjAcch mAcch; |
| 37 | + /* 0x80C */ dBgS_AcchCir mAcchCir; |
| 38 | + /* 0x84C */ dCcD_Stts mStts; |
| 39 | + /* 0x888 */ dCcD_Cyl mCyl; |
| 40 | + /* 0x9C4 */ int field_0x9c4; |
| 41 | + /* 0x9C8 */ int field_0x9c8; |
| 42 | + /* 0x9CC */ int mHitodamaEmitters[2]; |
| 43 | + /* 0x9D4 */ int field_0x9d4; |
| 44 | + /* 0x9D8 */ cXyz field_0x9d8; |
| 45 | + /* 0x9E4 */ s16 field_0x9e4; |
| 46 | + /* 0x9E6 */ s16 field_0x9e6; |
| 47 | + /* 0x9E8 */ bool mIsDarkWorld; |
| 48 | +}; |
| 49 | + |
| 50 | +STATIC_ASSERT(sizeof(daNpcCd_c) == 0x9EC); |
| 51 | + |
6 | 52 |
|
7 | 53 | struct daNpcCd_HIO_Jnt_c : public JORReflexible { |
8 | 54 | /* 80157810 */ virtual ~daNpcCd_HIO_Jnt_c() {} |
9 | 55 | /* 801578B0 */ daNpcCd_HIO_Jnt_c() {} |
10 | 56 |
|
| 57 | +#ifdef DEBUG |
11 | 58 | void genMessage(JORMContext*); |
| 59 | +#endif |
12 | 60 |
|
13 | | - /* 0x04 */ cXyz jntT; |
14 | | - /* 0x10 */ csXyz jntR; |
| 61 | + /* 0x04 */ Vec jntT; |
| 62 | + /* 0x10 */ SVec jntR; |
15 | 63 | }; |
16 | 64 |
|
17 | | -struct daNpcCd_HIO_Child_c { |
| 65 | +struct daNpcCd_HIO_Child_c : public JORReflexible { |
18 | 66 | /* 801577A0 */ virtual ~daNpcCd_HIO_Child_c() {} |
19 | 67 | /* 80157858 */ daNpcCd_HIO_Child_c() {} |
20 | 68 |
|
| 69 | +#ifdef DEBUG |
| 70 | + void genMessage(JORMContext*); |
| 71 | +#endif |
| 72 | + |
21 | 73 | /* 0x004 */ daNpcCd_HIO_Jnt_c field_0x4[12]; |
22 | | - /* 0x128 */ s16 mAtn; |
| 74 | + /* 0x128 */ s16 field_0x128[0x0E]; |
| 75 | + /* 0x136 */ s16 mAtn; |
| 76 | + /* 0x156 */ s16 field_0x146[0x10]; |
23 | 77 | }; |
24 | 78 |
|
25 | | -struct daNpcCd_HIO_c : public fOpAcm_HIO_entry_c { |
| 79 | +STATIC_ASSERT(sizeof(daNpcCd_HIO_Child_c) == 0x164); |
| 80 | + |
| 81 | +class daNpcCd_HIO_c : public fOpAcm_HIO_entry_c { |
| 82 | +public: |
26 | 83 | /* 80157600 */ daNpcCd_HIO_c(); |
27 | 84 | /* 801577A0 */ virtual ~daNpcCd_HIO_c() {} |
28 | 85 |
|
| 86 | +#ifdef DEBUG |
29 | 87 | void genMessage(JORMContext*); |
| 88 | +#endif |
30 | 89 |
|
31 | 90 | /* 0x0004 */ daNpcCd_HIO_Child_c field_0x0004[16]; |
32 | 91 | /* 0x1648 */ daNpcCd_HIO_Child_c field_0x1648[14]; |
33 | 92 | }; |
34 | 93 |
|
35 | | -extern daNpcCd_HIO_c l_Cd_HIO; |
| 94 | +STATIC_ASSERT(sizeof(daNpcCd_HIO_c) == 0x29BC); |
36 | 95 |
|
37 | | -inline s16 HIO_atnOfs(int param_1) { |
| 96 | +extern daNpcCd_HIO_c l_Cd_HIO; |
| 97 | +inline f32 HIO_atnOfs(int param_1) { |
38 | 98 | s16 rv; |
39 | 99 | if (param_1 < 16) { |
40 | 100 | rv = l_Cd_HIO.field_0x0004[param_1].mAtn; |
41 | 101 | } else { |
42 | | - rv = l_Cd_HIO.field_0x0004[param_1 - 16].mAtn; |
| 102 | + rv = l_Cd_HIO.field_0x1648[param_1 - 16].mAtn; |
43 | 103 | } |
44 | 104 | return rv; |
45 | 105 | } |
@@ -104,47 +164,4 @@ static inline f32 HIO_jntTZ(int param_1, int param_2) { |
104 | 164 | return 10.0f * rv; |
105 | 165 | } |
106 | 166 |
|
107 | | -class daNpcCd_c : public fopAc_ac_c { |
108 | | -public: |
109 | | - /* 8015605C */ int NpcCreate(int); |
110 | | - /* 801561E8 */ J3DModel* ObjCreate(int); |
111 | | - /* 80156228 */ BOOL isM_(); |
112 | | - /* 80156248 */ J3DAnmTransform* getAnmP(int, int); |
113 | | - /* 801563C8 */ int setAttention(int); |
114 | | - /* 80156B4C */ int loadResrc(int, int); |
115 | | - /* 80156C50 */ int removeResrc(int, int); |
116 | | - /* 80156D1C */ void setEnvTevCol(); |
117 | | - /* 80156D78 */ void setRoomNo(); |
118 | | - /* 80156DBC */ void animation(); |
119 | | - /* 80156E20 */ void setAnm(J3DAnmTransformKey*, f32, f32, int, int, int); |
120 | | - /* 80156E8C */ int drawObj(int, J3DModel*, f32); |
121 | | - /* 80156F74 */ int drawNpc(); |
122 | | - /* 80157084 */ int jntNodeCB(J3DJoint*, J3DModel*); |
123 | | - /* 8015736C */ void setHitodamaParticle(); |
124 | | - /* 80157524 */ J3DModelData* getNpcMdlDataP(int); |
125 | | - /* 80157588 */ J3DModelData* getObjMdlDataP(int); |
126 | | - /* 80AA8694 */ virtual ~daNpcCd_c(); |
127 | | - |
128 | | - static dCcD_SrcCyl const m_cylDat; |
129 | | - |
130 | | - /* 0x56C */ request_of_phase_process_class mPhase1; |
131 | | - /* 0x574 */ request_of_phase_process_class mPhase2; |
132 | | - /* 0x57C */ request_of_phase_process_class mPhase3; |
133 | | - /* 0x584 */ request_of_phase_process_class mPhase4; |
134 | | - /* 0x58C */ mDoExt_McaMorfSO* mpMorf; |
135 | | - /* 0x590 */ Z2CreatureCitizen mCreature; |
136 | | - /* 0x634 */ dBgS_ObjAcch mAcch; |
137 | | - /* 0x80C */ dBgS_AcchCir mAcchCir; |
138 | | - /* 0x84C */ dCcD_Stts mStts; |
139 | | - /* 0x888 */ dCcD_Cyl mCyl; |
140 | | - /* 0x9C4 */ int field_0x9c4; |
141 | | - /* 0x9C8 */ int field_0x9c8; |
142 | | - /* 0x9CC */ int mHitodamaEmitters[2]; |
143 | | - /* 0x9D4 */ int field_0x9d4; |
144 | | - /* 0x9D8 */ cXyz field_0x9d8; |
145 | | - /* 0x9E4 */ s16 field_0x9e4; |
146 | | - /* 0x9E6 */ s16 field_0x9e6; |
147 | | - /* 0x9E8 */ bool mIsDarkWorld; |
148 | | -}; |
149 | | - |
150 | 167 | #endif /* A_NPC_D_A_NPC_CD_H */ |
0 commit comments