Skip to content

Commit e0b1fe9

Browse files
authored
ChkBit comments and enum work (#2571)
* Jagar cleanup * saru work * e_fm work * gob enum added * gob cleanup * gob anm enums * dComIfGs_isEventBit comments added * More bit work and besu enum work * Maybe fixed the issue?
1 parent 9fbbec4 commit e0b1fe9

File tree

114 files changed

+2673
-1146
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+2673
-1146
lines changed

include/d/actor/d_a_midna.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ class daMidna_c : public fopAc_ac_c {
363363
}
364364

365365
static bool checkMidnaTired() {
366+
/* dSv_event_flag_c::F_0250 - Cutscene - [cutscene: 21] reunion with Zelda / Midna revived (Hyrule Castle barrier appears) */
366367
return dComIfGs_isTransformLV(3) && !dComIfGs_isEventBit(0x1E08);
367368
}
368369

include/d/actor/d_a_npc_ash.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,10 @@ class daNpcAsh_c : public daNpcF_c {
125125
/* 8095CC8C */ BOOL drawDbgInfo();
126126

127127
s16 getMessageNo() { return shape_angle.x; }
128-
bool isMap() { return !(daNpcF_chkEvtBit(0x10c) || !daNpcF_chkEvtBit(0x108)); }
128+
/* dSv_event_flag_c::F_0268 - City in the Sky - City in the Sky clear */
129+
bool isMap() { return !(daNpcF_chkEvtBit(0x10c)
130+
/* dSv_event_flag_c::F_0264 - Cutscene - Get master sword */
131+
|| !daNpcF_chkEvtBit(0x108)); }
129132
inline void setExpressionTalkAfter() { setExpression(7, -1.0f); }
130133
inline void setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner);
131134
inline void searchActors();

include/d/actor/d_a_npc_besu.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,9 @@ class daNpc_Besu_c : public daNpcT_c {
115115
static cutFunc mCutList[15];
116116

117117
private:
118-
/* 0x0E40 */ mDoExt_McaMorfSO* mpBesuMorf;
118+
/* 0x0E40 */ mDoExt_McaMorfSO* mpCupModelMorf;
119119
/* 0x0E44 */ u8 field_0xe44[0x0E48 - 0xE44];
120-
/* 0x0E48 */ J3DModel* mpModel[1];
120+
/* 0x0E48 */ J3DModel* mpClothModel[1];
121121
/* 0x0E4C */ dCcD_Cyl mCyl1;
122122
/* 0x0F88 */ dCcD_Cyl mCyl2;
123123
/* 0x10C4 */ u8 mType;

include/d/actor/d_a_npc_cdn3.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ class daNpcCdn3_c : public daNpcCd2_c {
211211
rv = 0;
212212
break;
213213
}
214+
/* dSv_event_flag_c::F_0281 - Shop - Malo Mart opens in Castle Town */
214215
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[281]) && rv == 9) {
215216
rv = 0xb;
216217
}
@@ -244,6 +245,7 @@ class daNpcCdn3_c : public daNpcCd2_c {
244245
rv = 0;
245246
break;
246247
}
248+
/* dSv_event_flag_c::F_0281 - Shop - Malo Mart opens in Castle Town */
247249
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[281]) && rv == 10) {
248250
rv = 12;
249251
}

include/d/actor/d_a_npc_jagar.h

Lines changed: 47 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -67,29 +67,6 @@ class daNpc_Jagar_Param_c {
6767

6868
class daNpc_Jagar_c : public daNpcT_c {
6969
public:
70-
enum JAGAR2_RES_FILE_ID {
71-
/* BCK */
72-
/* 0x05 */ BCK_JAGA_F_SURPRISE = 5,
73-
/* 0x06 */ BCK_JAGA_F_SURPRISE_WAIT,
74-
/* 0x07 */ BCK_JAGA_F_WORRY_TALK,
75-
/* 0x08 */ BCK_JAGA_RUN_A,
76-
/* 0x09 */ BCK_JAGA_SURPRISE,
77-
/* 0x0A */ BCK_JAGA_SURPRISE_WAIT,
78-
/* 0x0B */ BCK_JAGA_UNADUKI,
79-
/* 0x0C */ BCK_JAGA_WORRY_TALK,
80-
/* 0x0D */ BCK_JAGA_WORRY_WAIT,
81-
/* 0x0E */ BCK_JAGA_WORRY_WALK,
82-
83-
/* BTP */
84-
/* 0x11 */ BTP_JAGA_BLINK = 0x11,
85-
/* 0x12 */ BTP_JAGA_F_SURPRISE,
86-
/* 0x13 */ BTP_JAGA_F_SURPRISE_WAIT,
87-
/* 0x14 */ BTP_JAGA_F_WORRY_TALK,
88-
89-
/* EVT */
90-
/* 0x17 */ EVT_EVENT_LIST = 0x17,
91-
};
92-
9370
typedef int (daNpc_Jagar_c::*cutFunc)(int);
9471
typedef int (daNpc_Jagar_c::*actionFunc)(void*);
9572

@@ -100,6 +77,45 @@ class daNpc_Jagar_c : public daNpcT_c {
10077
TYPE_3,
10178
};
10279

80+
enum Joint {
81+
/* 0x00 */ JNT_CENTER,
82+
/* 0x01 */ JNT_BACKBONE1,
83+
/* 0x02 */ JNT_BACKBONE2,
84+
/* 0x03 */ JNT_NECK,
85+
/* 0x04 */ JNT_HEAD,
86+
/* 0x05 */ JNT_CHIN,
87+
/* 0x06 */ JNT_MAYU_L,
88+
/* 0x07 */ JNT_MAYU_R,
89+
/* 0x08 */ JNT_MOUTH,
90+
/* 0x09 */ JNT_SHOULDERL,
91+
/* 0x0A */ JNT_ARML1,
92+
/* 0x0B */ JNT_ARML2_1,
93+
/* 0x0C */ JNT_HANDL_1,
94+
/* 0x0D */ JNT_FINGERL,
95+
/* 0x0E */ JNT_SHOULDERR,
96+
/* 0x0F */ JNT_ARMR1,
97+
/* 0x10 */ JNT_ARMR2_1,
98+
/* 0x11 */ JNT_HANDR_1,
99+
/* 0x12 */ JNT_FINGERR,
100+
/* 0x13 */ JNT_WAIST,
101+
/* 0x14 */ JNT_LEGL1,
102+
/* 0x15 */ JNT_LEGL2,
103+
/* 0x16 */ JNT_FOOTL,
104+
/* 0x17 */ JNT_SKIRTL,
105+
/* 0x18 */ JNT_LEGR1,
106+
/* 0x19 */ JNT_LEGR2,
107+
/* 0x1A */ JNT_FOOTR,
108+
/* 0x1B */ JNT_SKIRTR,
109+
/* 0x1C */ JNT_SKIRT1,
110+
/* 0x1D */ JNT_SKIRT2,
111+
};
112+
113+
enum Material {
114+
/* 0x1 */ MAT_JAGA_EYEBALL = 0x1,
115+
/* 0x2 */ MAT_JAGA_FACE_M,
116+
/* 0x3 */ MAT_JAGA_M,
117+
};
118+
103119
/* 80A1470C */ ~daNpc_Jagar_c();
104120
/* 80A14858 */ int create();
105121
/* 80A14B20 */ int CreateHeap();
@@ -146,14 +162,14 @@ class daNpc_Jagar_c : public daNpcT_c {
146162
daNpcT_evtData_c const* param_7, char** param_8) :
147163
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
148164
{}
149-
/* 80A1A274 */ u16 getEyeballMaterialNo() { return 1; }
150-
/* 80A1A27C */ s32 getHeadJointNo() { return 4; }
151-
/* 80A1A284 */ s32 getNeckJointNo() { return 3; }
152-
/* 80A1A28C */ s32 getBackboneJointNo() { return 1; }
153-
/* 80A1A294 */ BOOL checkChangeJoint(int param_1) { return param_1 == 4; }
154-
/* 80A1A2A4 */ BOOL checkRemoveJoint(int param_1) { return param_1 == 8; }
155-
/* 80A1A2B4 */ s32 getFootLJointNo() { return 22; }
156-
/* 80A1A2BC */ s32 getFootRJointNo() { return 26; }
165+
/* 80A1A274 */ u16 getEyeballMaterialNo() { return MAT_JAGA_EYEBALL; }
166+
/* 80A1A27C */ s32 getHeadJointNo() { return JNT_HEAD; }
167+
/* 80A1A284 */ s32 getNeckJointNo() { return JNT_NECK; }
168+
/* 80A1A28C */ s32 getBackboneJointNo() { return JNT_BACKBONE1; }
169+
/* 80A1A294 */ BOOL checkChangeJoint(int param_1) { return param_1 == JNT_HEAD; }
170+
/* 80A1A2A4 */ BOOL checkRemoveJoint(int param_1) { return param_1 == JNT_MOUTH; }
171+
/* 80A1A2B4 */ s32 getFootLJointNo() { return JNT_FOOTL; }
172+
/* 80A1A2BC */ s32 getFootRJointNo() { return JNT_FOOTR; }
157173

158174
int getFlowNodeNo() {
159175
u16 nodeNo = home.angle.x;

include/d/actor/d_a_npc_ks.h

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,71 @@
1616
*/
1717
class npc_ks_class {
1818
public:
19+
enum Npc_ks_RES_File_ID {
20+
/* BCK */
21+
/* 0x05 */ BCK_SARU_BAKUCHU = 0x5,
22+
/* 0x06 */ BCK_SARU_BIKKURI,
23+
/* 0x07 */ BCK_SARU_CALL,
24+
/* 0x08 */ BCK_SARU_CALLBACK,
25+
/* 0x09 */ BCK_SARU_CALLBACK_K,
26+
/* 0x0A */ BCK_SARU_CALL_K,
27+
/* 0x0B */ BCK_SARU_CLAP_WAIT,
28+
/* 0x0C */ BCK_SARU_CLIMB,
29+
/* 0x0D */ BCK_SARU_FALL,
30+
/* 0x0E */ BCK_SARU_FIRE_K,
31+
/* 0x0F */ BCK_SARU_GODOWN,
32+
/* 0x10 */ BCK_SARU_HANGCALL,
33+
/* 0x11 */ BCK_SARU_HANGWAIT_A,
34+
/* 0x12 */ BCK_SARU_HANGWAIT_B,
35+
/* 0x13 */ BCK_SARU_HANGWAIT_C,
36+
/* 0x14 */ BCK_SARU_HELP,
37+
/* 0x15 */ BCK_SARU_HELP_B,
38+
/* 0x16 */ BCK_SARU_HELP_C,
39+
/* 0x17 */ BCK_SARU_HOLDING,
40+
/* 0x18 */ BCK_SARU_HUNGING,
41+
/* 0x19 */ BCK_SARU_INDICATE,
42+
/* 0x1A */ BCK_SARU_JUMPRUN,
43+
/* 0x1B */ BCK_SARU_JUMPRUN_K,
44+
/* 0x1C */ BCK_SARU_JUMPWALK,
45+
/* 0x1D */ BCK_SARU_JUMPWALK_K,
46+
/* 0x1E */ BCK_SARU_JUMP_ATTN,
47+
/* 0x1F */ BCK_SARU_JUMP_L,
48+
/* 0x20 */ BCK_SARU_JUMP_S,
49+
/* 0x21 */ BCK_SARU_JUMP_T,
50+
/* 0x22 */ BCK_SARU_KAGO_JUMP,
51+
/* 0x23 */ BCK_SARU_LAND,
52+
/* 0x24 */ BCK_SARU_RECOVER,
53+
/* 0x25 */ BCK_SARU_RELIEF,
54+
/* 0x26 */ BCK_SARU_ROTATE,
55+
/* 0x27 */ BCK_SARU_SCARED,
56+
/* 0x28 */ BCK_SARU_SCAREDLOOK_K,
57+
/* 0x29 */ BCK_SARU_SCARED_B,
58+
/* 0x2A */ BCK_SARU_SCARED_K,
59+
/* 0x2B */ BCK_SARU_SCARED_LOOK,
60+
/* 0x2C */ BCK_SARU_SHAKE_K,
61+
/* 0x2D */ BCK_SARU_STOPCALL,
62+
/* 0x2E */ BCK_SARU_SURPRISE_K,
63+
/* 0x2F */ BCK_SARU_SWIM,
64+
/* 0x30 */ BCK_SARU_SWINGPOSE,
65+
/* 0x31 */ BCK_SARU_TO_ROTATE,
66+
/* 0x32 */ BCK_SARU_WAITSTAND,
67+
/* 0x33 */ BCK_SARU_WAIT_A,
68+
/* 0x34 */ BCK_SARU_WAIT_A_K,
69+
/* 0x35 */ BCK_SARU_WAIT_B,
70+
/* 0x36 */ BCK_SARU_WAIT_C,
71+
/* 0x37 */ BCK_SARU_WALKCLAP,
72+
/* 0x38 */ BCK_SARU_YOROKOBI,
73+
74+
/* BMDR */
75+
/* 0x3B */ BMDR_SARU = 0x3B,
76+
/* 0x3C */ BMDR_SARU_BARA,
77+
/* 0x3D */ BMDR_SARU_STICK,
78+
79+
/* BTP */
80+
/* 0x40 */ BTP_SARU = 0x40,
81+
/* 0x41 */ BTP_SARU_RELIEF,
82+
};
83+
1984
/* 0x000 */ fopEn_enemy_c actor;
2085
/* 0x5AC */ request_of_phase_process_class mPhase;
2186
/* 0x5B4 */ u8 mRoomMonkeyID;
@@ -124,8 +189,8 @@ class npc_ks_class {
124189
/* 0xBE4 */ u32 field_0xbe4[4];
125190
/* 0xBF4 */ u32 field_0xbf4;
126191
/* 0xBF8 */ u8 field_0xbf8[0xbfc - 0xbf8];
127-
/* 0xBFC */ J3DModel* field_0xbfc;
128-
/* 0xC00 */ J3DModel* field_0xc00;
192+
/* 0xBFC */ J3DModel* mpRoseModel;
193+
/* 0xC00 */ J3DModel* mpStickModel;
129194
/* 0xC04 */ cXyz field_0xc04;
130195
/* 0xC10 */ f32 field_0xc10;
131196
/* 0xC14 */ s16 field_0xc14;

include/d/actor/d_a_npc_saru.h

Lines changed: 43 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -12,60 +12,26 @@
1212
*
1313
*/
1414

15+
struct daNpc_Saru_HIO_c
1516
#ifdef DEBUG
16-
class daNpc_Saru_HIO_c : public mDoHIO_entry_c {
17-
18-
};
17+
: public mDoHIO_entry_c
1918
#endif
19+
{
20+
public:
21+
/* 0x00 */ daNpcT_HIOParam common;
22+
/* 0x8C */ s16 scared_time; // 怯える時間 - Scared Time
23+
/* 0x8E */ s16 field_0x8e;
24+
};
2025

21-
class daNpc_Saru_Param_c {
26+
class daNpc_Saru_Param_c : public JORReflexible {
2227
public:
23-
/* 80AC448C */ virtual ~daNpc_Saru_Param_c() {};
28+
/* 80AC448C */ virtual ~daNpc_Saru_Param_c() {}
2429

25-
struct Data {
26-
/* 0x00 */ f32 field_0x00;
27-
/* 0x04 */ f32 mGravity;
28-
/* 0x08 */ f32 field_0x08;
29-
/* 0x0C */ f32 field_0x0c;
30-
/* 0x10 */ f32 mWeight;
31-
/* 0x14 */ f32 mCylH;
32-
/* 0x18 */ f32 mWallH;
33-
/* 0x1C */ f32 mWallR;
34-
/* 0x20 */ f32 mBodyDownAngle;
35-
/* 0x24 */ f32 mBodyUpAngle;
36-
/* 0x28 */ f32 mBodyRightAngle;
37-
/* 0x2C */ f32 mBodyLeftAngle;
38-
/* 0x30 */ f32 mHeadDownAngle;
39-
/* 0x34 */ f32 mHeadUpAngle;
40-
/* 0x38 */ f32 mHeadRightAngle;
41-
/* 0x3C */ f32 mHeadLeftAngle;
42-
/* 0x40 */ f32 field_0x40;
43-
/* 0x44 */ f32 mMorfFrames;
44-
/* 0x48 */ s16 field_0x48;
45-
/* 0x4A */ s16 field_0x4a;
46-
/* 0x4C */ s16 field_0x4c;
47-
/* 0x4E */ s16 field_0x4e;
48-
/* 0x50 */ f32 mAttnFovy;
49-
/* 0x54 */ f32 field_0x54;
50-
/* 0x58 */ f32 field_0x58;
51-
/* 0x5C */ f32 field_0x5c;
52-
/* 0x60 */ s16 field_0x60;
53-
/* 0x62 */ s16 field_0x62;
54-
/* 0x64 */ f32 field_0x64;
55-
/* 0x68 */ f32 field_0x68;
56-
/* 0x6C */ f32 field_0x6c;
57-
/* 0x70 */ f32 field_0x70;
58-
/* 0x74 */ f32 field_0x74;
59-
/* 0x78 */ f32 field_0x78;
60-
/* 0x7C */ f32 field_0x7c;
61-
/* 0x80 */ f32 field_0x80;
62-
/* 0x84 */ f32 field_0x84;
63-
/* 0x88 */ f32 field_0x88;
64-
/* 0x8C */ s16 field_0x8c;
65-
/* 0x8E */ s16 field_0x8e;
66-
};
30+
#ifdef DEBUG
31+
void genMessage(JORMContext*);
32+
#endif
6733

68-
static const Data m;
34+
static const daNpc_Saru_HIO_c m;
6935
};
7036

7137
class daNpc_Saru_c : public daNpcT_c {
@@ -80,6 +46,31 @@ class daNpc_Saru_c : public daNpcT_c {
8046
TYPE_3,
8147
};
8248

49+
enum Joint {
50+
/* 0x00 */ JNT_CENTER,
51+
/* 0x01 */ JNT_BACKBONE_1,
52+
/* 0x02 */ JNT_BACKBONE_2,
53+
/* 0x03 */ JNT_NECK,
54+
/* 0x04 */ JNT_HEAD,
55+
/* 0x05 */ JNT_CHIN,
56+
/* 0x06 */ JNT_MOUTH,
57+
/* 0x07 */ JNT_SHOULDER_L,
58+
/* 0x08 */ JNT_ARM_L_1,
59+
/* 0x09 */ JNT_ARM_L_2,
60+
/* 0x0A */ JNT_HAND_L,
61+
/* 0x0B */ JNT_SHOULDER_R,
62+
/* 0x0C */ JNT_ARM_R_1,
63+
/* 0x0D */ JNT_ARM_R_2,
64+
/* 0x0E */ JNT_HAND_R,
65+
/* 0x0F */ JNT_WAIST,
66+
/* 0x10 */ JNT_LEG_L_1,
67+
/* 0x11 */ JNT_LEG_L_2,
68+
/* 0x12 */ JNT_FOOT_L,
69+
/* 0x13 */ JNT_LEG_R_1,
70+
/* 0x14 */ JNT_LEG_R_2,
71+
/* 0x15 */ JNT_FOOR_R,
72+
};
73+
8374
/* 80AC042C */ ~daNpc_Saru_c();
8475
/* 80AC0578 */ int create();
8576
/* 80AC082C */ int CreateHeap();
@@ -120,9 +111,9 @@ class daNpc_Saru_c : public daNpcT_c {
120111
daNpcT_evtData_c const* param_7, char** param_8) :
121112
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
122113
{}
123-
/* 80AC4474 */ s32 getHeadJointNo();
124-
/* 80AC447C */ s32 getNeckJointNo();
125-
/* 80AC4484 */ s32 getBackboneJointNo();
114+
/* 80AC4474 */ s32 getHeadJointNo() { return JNT_HEAD; }
115+
/* 80AC447C */ s32 getNeckJointNo() { return JNT_NECK; }
116+
/* 80AC4484 */ s32 getBackboneJointNo() { return JNT_BACKBONE_1; }
126117

127118
u32 getFlowNodeNo() {
128119
u16 rv = home.angle.x;
@@ -137,13 +128,12 @@ class daNpc_Saru_c : public daNpcT_c {
137128

138129
static char* mCutNameList[4];
139130
static cutFunc mCutList[4];
140-
141131
private:
142132
#ifdef DEBUG
143133
/* 0xE90 */ daNpc_Saru_HIO_c* field_0xe90;
144134
#endif
145135
/* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
146-
/* 0xE44 */ J3DModel* field_0xe44[2];
136+
/* 0xE44 */ J3DModel* mpRoseModels[2];
147137
/* 0xE4C */ dCcD_Cyl field_0xe4c;
148138
/* 0xF88 */ u8 mType;
149139
/* 0xF8C */ daNpcT_ActorMngr_c mActrMngr[1];

include/d/actor/d_a_npc_shad.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,9 @@ class daNpcShad_c : public daNpcF_c {
218218
if (mActorMngr[4].getActorP() == NULL) {
219219
mActorMngr[4].entry(getEvtAreaTagP(17, 0));
220220
}
221-
} else if (mMode == 1 && daNpcF_chkEvtBit(0x12E) && mActorMngr[4].getActorP() == NULL) {
221+
} else if (mMode == 1
222+
/* dSv_event_flag_c::F_0302 - Kakariko Village - Saw cutscene of Shad casting spells underneat Kakariko Village */
223+
&& daNpcF_chkEvtBit(0x12E) && mActorMngr[4].getActorP() == NULL) {
222224
mActorMngr[4].entry(getEvtAreaTagP(18, 0));
223225
}
224226
}

include/d/actor/d_a_obj_mirror_6pole.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ class daObjMirror6Pole_c : public fopAc_ac_c {
4444

4545
bool isSwitch() {
4646
return fopAcM_isSwitch(this, getSwitchNo()) ||
47+
/* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */
4748
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) ||
49+
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
4850
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]);
4951
}
5052

include/d/actor/d_a_obj_mirror_sand.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ class daObjMirrorSand_c : public fopAc_ac_c {
3131

3232
bool isSwitch() {
3333
return fopAcM_isSwitch(this, getSwitchNo()) ||
34+
/* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */
3435
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) ||
36+
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
3537
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]);
3638
}
3739

0 commit comments

Comments
 (0)