Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions include/d/actor/d_a_midna.h
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@ class daMidna_c : public fopAc_ac_c {
}

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

Expand Down
5 changes: 4 additions & 1 deletion include/d/actor/d_a_npc_ash.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,10 @@ class daNpcAsh_c : public daNpcF_c {
/* 8095CC8C */ BOOL drawDbgInfo();

s16 getMessageNo() { return shape_angle.x; }
bool isMap() { return !(daNpcF_chkEvtBit(0x10c) || !daNpcF_chkEvtBit(0x108)); }
/* dSv_event_flag_c::F_0268 - City in the Sky - City in the Sky clear */
bool isMap() { return !(daNpcF_chkEvtBit(0x10c)
/* dSv_event_flag_c::F_0264 - Cutscene - Get master sword */
|| !daNpcF_chkEvtBit(0x108)); }
inline void setExpressionTalkAfter() { setExpression(7, -1.0f); }
inline void setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner);
inline void searchActors();
Expand Down
4 changes: 2 additions & 2 deletions include/d/actor/d_a_npc_besu.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@ class daNpc_Besu_c : public daNpcT_c {
static cutFunc mCutList[15];

private:
/* 0x0E40 */ mDoExt_McaMorfSO* mpBesuMorf;
/* 0x0E40 */ mDoExt_McaMorfSO* mpCupModelMorf;
/* 0x0E44 */ u8 field_0xe44[0x0E48 - 0xE44];
/* 0x0E48 */ J3DModel* mpModel[1];
/* 0x0E48 */ J3DModel* mpClothModel[1];
/* 0x0E4C */ dCcD_Cyl mCyl1;
/* 0x0F88 */ dCcD_Cyl mCyl2;
/* 0x10C4 */ u8 mType;
Expand Down
2 changes: 2 additions & 0 deletions include/d/actor/d_a_npc_cdn3.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ class daNpcCdn3_c : public daNpcCd2_c {
rv = 0;
break;
}
/* dSv_event_flag_c::F_0281 - Shop - Malo Mart opens in Castle Town */
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[281]) && rv == 9) {
rv = 0xb;
}
Expand Down Expand Up @@ -244,6 +245,7 @@ class daNpcCdn3_c : public daNpcCd2_c {
rv = 0;
break;
}
/* dSv_event_flag_c::F_0281 - Shop - Malo Mart opens in Castle Town */
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[281]) && rv == 10) {
rv = 12;
}
Expand Down
78 changes: 47 additions & 31 deletions include/d/actor/d_a_npc_jagar.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,29 +67,6 @@ class daNpc_Jagar_Param_c {

class daNpc_Jagar_c : public daNpcT_c {
public:
enum JAGAR2_RES_FILE_ID {
/* BCK */
/* 0x05 */ BCK_JAGA_F_SURPRISE = 5,
/* 0x06 */ BCK_JAGA_F_SURPRISE_WAIT,
/* 0x07 */ BCK_JAGA_F_WORRY_TALK,
/* 0x08 */ BCK_JAGA_RUN_A,
/* 0x09 */ BCK_JAGA_SURPRISE,
/* 0x0A */ BCK_JAGA_SURPRISE_WAIT,
/* 0x0B */ BCK_JAGA_UNADUKI,
/* 0x0C */ BCK_JAGA_WORRY_TALK,
/* 0x0D */ BCK_JAGA_WORRY_WAIT,
/* 0x0E */ BCK_JAGA_WORRY_WALK,

/* BTP */
/* 0x11 */ BTP_JAGA_BLINK = 0x11,
/* 0x12 */ BTP_JAGA_F_SURPRISE,
/* 0x13 */ BTP_JAGA_F_SURPRISE_WAIT,
/* 0x14 */ BTP_JAGA_F_WORRY_TALK,

/* EVT */
/* 0x17 */ EVT_EVENT_LIST = 0x17,
};

typedef int (daNpc_Jagar_c::*cutFunc)(int);
typedef int (daNpc_Jagar_c::*actionFunc)(void*);

Expand All @@ -100,6 +77,45 @@ class daNpc_Jagar_c : public daNpcT_c {
TYPE_3,
};

enum Joint {
/* 0x00 */ JNT_CENTER,
/* 0x01 */ JNT_BACKBONE1,
/* 0x02 */ JNT_BACKBONE2,
/* 0x03 */ JNT_NECK,
/* 0x04 */ JNT_HEAD,
/* 0x05 */ JNT_CHIN,
/* 0x06 */ JNT_MAYU_L,
/* 0x07 */ JNT_MAYU_R,
/* 0x08 */ JNT_MOUTH,
/* 0x09 */ JNT_SHOULDERL,
/* 0x0A */ JNT_ARML1,
/* 0x0B */ JNT_ARML2_1,
/* 0x0C */ JNT_HANDL_1,
/* 0x0D */ JNT_FINGERL,
/* 0x0E */ JNT_SHOULDERR,
/* 0x0F */ JNT_ARMR1,
/* 0x10 */ JNT_ARMR2_1,
/* 0x11 */ JNT_HANDR_1,
/* 0x12 */ JNT_FINGERR,
/* 0x13 */ JNT_WAIST,
/* 0x14 */ JNT_LEGL1,
/* 0x15 */ JNT_LEGL2,
/* 0x16 */ JNT_FOOTL,
/* 0x17 */ JNT_SKIRTL,
/* 0x18 */ JNT_LEGR1,
/* 0x19 */ JNT_LEGR2,
/* 0x1A */ JNT_FOOTR,
/* 0x1B */ JNT_SKIRTR,
/* 0x1C */ JNT_SKIRT1,
/* 0x1D */ JNT_SKIRT2,
};

enum Material {
/* 0x1 */ MAT_JAGA_EYEBALL = 0x1,
/* 0x2 */ MAT_JAGA_FACE_M,
/* 0x3 */ MAT_JAGA_M,
};

/* 80A1470C */ ~daNpc_Jagar_c();
/* 80A14858 */ int create();
/* 80A14B20 */ int CreateHeap();
Expand Down Expand Up @@ -146,14 +162,14 @@ class daNpc_Jagar_c : public daNpcT_c {
daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{}
/* 80A1A274 */ u16 getEyeballMaterialNo() { return 1; }
/* 80A1A27C */ s32 getHeadJointNo() { return 4; }
/* 80A1A284 */ s32 getNeckJointNo() { return 3; }
/* 80A1A28C */ s32 getBackboneJointNo() { return 1; }
/* 80A1A294 */ BOOL checkChangeJoint(int param_1) { return param_1 == 4; }
/* 80A1A2A4 */ BOOL checkRemoveJoint(int param_1) { return param_1 == 8; }
/* 80A1A2B4 */ s32 getFootLJointNo() { return 22; }
/* 80A1A2BC */ s32 getFootRJointNo() { return 26; }
/* 80A1A274 */ u16 getEyeballMaterialNo() { return MAT_JAGA_EYEBALL; }
/* 80A1A27C */ s32 getHeadJointNo() { return JNT_HEAD; }
/* 80A1A284 */ s32 getNeckJointNo() { return JNT_NECK; }
/* 80A1A28C */ s32 getBackboneJointNo() { return JNT_BACKBONE1; }
/* 80A1A294 */ BOOL checkChangeJoint(int param_1) { return param_1 == JNT_HEAD; }
/* 80A1A2A4 */ BOOL checkRemoveJoint(int param_1) { return param_1 == JNT_MOUTH; }
/* 80A1A2B4 */ s32 getFootLJointNo() { return JNT_FOOTL; }
/* 80A1A2BC */ s32 getFootRJointNo() { return JNT_FOOTR; }

int getFlowNodeNo() {
u16 nodeNo = home.angle.x;
Expand Down
69 changes: 67 additions & 2 deletions include/d/actor/d_a_npc_ks.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,71 @@
*/
class npc_ks_class {
public:
enum Npc_ks_RES_File_ID {
/* BCK */
/* 0x05 */ BCK_SARU_BAKUCHU = 0x5,
/* 0x06 */ BCK_SARU_BIKKURI,
/* 0x07 */ BCK_SARU_CALL,
/* 0x08 */ BCK_SARU_CALLBACK,
/* 0x09 */ BCK_SARU_CALLBACK_K,
/* 0x0A */ BCK_SARU_CALL_K,
/* 0x0B */ BCK_SARU_CLAP_WAIT,
/* 0x0C */ BCK_SARU_CLIMB,
/* 0x0D */ BCK_SARU_FALL,
/* 0x0E */ BCK_SARU_FIRE_K,
/* 0x0F */ BCK_SARU_GODOWN,
/* 0x10 */ BCK_SARU_HANGCALL,
/* 0x11 */ BCK_SARU_HANGWAIT_A,
/* 0x12 */ BCK_SARU_HANGWAIT_B,
/* 0x13 */ BCK_SARU_HANGWAIT_C,
/* 0x14 */ BCK_SARU_HELP,
/* 0x15 */ BCK_SARU_HELP_B,
/* 0x16 */ BCK_SARU_HELP_C,
/* 0x17 */ BCK_SARU_HOLDING,
/* 0x18 */ BCK_SARU_HUNGING,
/* 0x19 */ BCK_SARU_INDICATE,
/* 0x1A */ BCK_SARU_JUMPRUN,
/* 0x1B */ BCK_SARU_JUMPRUN_K,
/* 0x1C */ BCK_SARU_JUMPWALK,
/* 0x1D */ BCK_SARU_JUMPWALK_K,
/* 0x1E */ BCK_SARU_JUMP_ATTN,
/* 0x1F */ BCK_SARU_JUMP_L,
/* 0x20 */ BCK_SARU_JUMP_S,
/* 0x21 */ BCK_SARU_JUMP_T,
/* 0x22 */ BCK_SARU_KAGO_JUMP,
/* 0x23 */ BCK_SARU_LAND,
/* 0x24 */ BCK_SARU_RECOVER,
/* 0x25 */ BCK_SARU_RELIEF,
/* 0x26 */ BCK_SARU_ROTATE,
/* 0x27 */ BCK_SARU_SCARED,
/* 0x28 */ BCK_SARU_SCAREDLOOK_K,
/* 0x29 */ BCK_SARU_SCARED_B,
/* 0x2A */ BCK_SARU_SCARED_K,
/* 0x2B */ BCK_SARU_SCARED_LOOK,
/* 0x2C */ BCK_SARU_SHAKE_K,
/* 0x2D */ BCK_SARU_STOPCALL,
/* 0x2E */ BCK_SARU_SURPRISE_K,
/* 0x2F */ BCK_SARU_SWIM,
/* 0x30 */ BCK_SARU_SWINGPOSE,
/* 0x31 */ BCK_SARU_TO_ROTATE,
/* 0x32 */ BCK_SARU_WAITSTAND,
/* 0x33 */ BCK_SARU_WAIT_A,
/* 0x34 */ BCK_SARU_WAIT_A_K,
/* 0x35 */ BCK_SARU_WAIT_B,
/* 0x36 */ BCK_SARU_WAIT_C,
/* 0x37 */ BCK_SARU_WALKCLAP,
/* 0x38 */ BCK_SARU_YOROKOBI,

/* BMDR */
/* 0x3B */ BMDR_SARU = 0x3B,
/* 0x3C */ BMDR_SARU_BARA,
/* 0x3D */ BMDR_SARU_STICK,

/* BTP */
/* 0x40 */ BTP_SARU = 0x40,
/* 0x41 */ BTP_SARU_RELIEF,
};

/* 0x000 */ fopEn_enemy_c actor;
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ u8 mRoomMonkeyID;
Expand Down Expand Up @@ -124,8 +189,8 @@ class npc_ks_class {
/* 0xBE4 */ u32 field_0xbe4[4];
/* 0xBF4 */ u32 field_0xbf4;
/* 0xBF8 */ u8 field_0xbf8[0xbfc - 0xbf8];
/* 0xBFC */ J3DModel* field_0xbfc;
/* 0xC00 */ J3DModel* field_0xc00;
/* 0xBFC */ J3DModel* mpRoseModel;
/* 0xC00 */ J3DModel* mpStickModel;
/* 0xC04 */ cXyz field_0xc04;
/* 0xC10 */ f32 field_0xc10;
/* 0xC14 */ s16 field_0xc14;
Expand Down
96 changes: 43 additions & 53 deletions include/d/actor/d_a_npc_saru.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,60 +12,26 @@
*
*/

struct daNpc_Saru_HIO_c
#ifdef DEBUG
class daNpc_Saru_HIO_c : public mDoHIO_entry_c {

};
: public mDoHIO_entry_c
#endif
{
public:
/* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ s16 scared_time; // 怯える時間 - Scared Time
/* 0x8E */ s16 field_0x8e;
};

class daNpc_Saru_Param_c {
class daNpc_Saru_Param_c : public JORReflexible {
public:
/* 80AC448C */ virtual ~daNpc_Saru_Param_c() {};
/* 80AC448C */ virtual ~daNpc_Saru_Param_c() {}

struct Data {
/* 0x00 */ f32 field_0x00;
/* 0x04 */ f32 mGravity;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0c;
/* 0x10 */ f32 mWeight;
/* 0x14 */ f32 mCylH;
/* 0x18 */ f32 mWallH;
/* 0x1C */ f32 mWallR;
/* 0x20 */ f32 mBodyDownAngle;
/* 0x24 */ f32 mBodyUpAngle;
/* 0x28 */ f32 mBodyRightAngle;
/* 0x2C */ f32 mBodyLeftAngle;
/* 0x30 */ f32 mHeadDownAngle;
/* 0x34 */ f32 mHeadUpAngle;
/* 0x38 */ f32 mHeadRightAngle;
/* 0x3C */ f32 mHeadLeftAngle;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 mMorfFrames;
/* 0x48 */ s16 field_0x48;
/* 0x4A */ s16 field_0x4a;
/* 0x4C */ s16 field_0x4c;
/* 0x4E */ s16 field_0x4e;
/* 0x50 */ f32 mAttnFovy;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5c;
/* 0x60 */ s16 field_0x60;
/* 0x62 */ s16 field_0x62;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x78 */ f32 field_0x78;
/* 0x7C */ f32 field_0x7c;
/* 0x80 */ f32 field_0x80;
/* 0x84 */ f32 field_0x84;
/* 0x88 */ f32 field_0x88;
/* 0x8C */ s16 field_0x8c;
/* 0x8E */ s16 field_0x8e;
};
#ifdef DEBUG
void genMessage(JORMContext*);
#endif

static const Data m;
static const daNpc_Saru_HIO_c m;
};

class daNpc_Saru_c : public daNpcT_c {
Expand All @@ -80,6 +46,31 @@ class daNpc_Saru_c : public daNpcT_c {
TYPE_3,
};

enum Joint {
/* 0x00 */ JNT_CENTER,
/* 0x01 */ JNT_BACKBONE_1,
/* 0x02 */ JNT_BACKBONE_2,
/* 0x03 */ JNT_NECK,
/* 0x04 */ JNT_HEAD,
/* 0x05 */ JNT_CHIN,
/* 0x06 */ JNT_MOUTH,
/* 0x07 */ JNT_SHOULDER_L,
/* 0x08 */ JNT_ARM_L_1,
/* 0x09 */ JNT_ARM_L_2,
/* 0x0A */ JNT_HAND_L,
/* 0x0B */ JNT_SHOULDER_R,
/* 0x0C */ JNT_ARM_R_1,
/* 0x0D */ JNT_ARM_R_2,
/* 0x0E */ JNT_HAND_R,
/* 0x0F */ JNT_WAIST,
/* 0x10 */ JNT_LEG_L_1,
/* 0x11 */ JNT_LEG_L_2,
/* 0x12 */ JNT_FOOT_L,
/* 0x13 */ JNT_LEG_R_1,
/* 0x14 */ JNT_LEG_R_2,
/* 0x15 */ JNT_FOOR_R,
};

/* 80AC042C */ ~daNpc_Saru_c();
/* 80AC0578 */ int create();
/* 80AC082C */ int CreateHeap();
Expand Down Expand Up @@ -120,9 +111,9 @@ class daNpc_Saru_c : public daNpcT_c {
daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{}
/* 80AC4474 */ s32 getHeadJointNo();
/* 80AC447C */ s32 getNeckJointNo();
/* 80AC4484 */ s32 getBackboneJointNo();
/* 80AC4474 */ s32 getHeadJointNo() { return JNT_HEAD; }
/* 80AC447C */ s32 getNeckJointNo() { return JNT_NECK; }
/* 80AC4484 */ s32 getBackboneJointNo() { return JNT_BACKBONE_1; }

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

static char* mCutNameList[4];
static cutFunc mCutList[4];

private:
#ifdef DEBUG
/* 0xE90 */ daNpc_Saru_HIO_c* field_0xe90;
#endif
/* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
/* 0xE44 */ J3DModel* field_0xe44[2];
/* 0xE44 */ J3DModel* mpRoseModels[2];
/* 0xE4C */ dCcD_Cyl field_0xe4c;
/* 0xF88 */ u8 mType;
/* 0xF8C */ daNpcT_ActorMngr_c mActrMngr[1];
Expand Down
4 changes: 3 additions & 1 deletion include/d/actor/d_a_npc_shad.h
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,9 @@ class daNpcShad_c : public daNpcF_c {
if (mActorMngr[4].getActorP() == NULL) {
mActorMngr[4].entry(getEvtAreaTagP(17, 0));
}
} else if (mMode == 1 && daNpcF_chkEvtBit(0x12E) && mActorMngr[4].getActorP() == NULL) {
} else if (mMode == 1
/* dSv_event_flag_c::F_0302 - Kakariko Village - Saw cutscene of Shad casting spells underneat Kakariko Village */
&& daNpcF_chkEvtBit(0x12E) && mActorMngr[4].getActorP() == NULL) {
mActorMngr[4].entry(getEvtAreaTagP(18, 0));
}
}
Expand Down
2 changes: 2 additions & 0 deletions include/d/actor/d_a_obj_mirror_6pole.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ class daObjMirror6Pole_c : public fopAc_ac_c {

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

Expand Down
2 changes: 2 additions & 0 deletions include/d/actor/d_a_obj_mirror_sand.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ class daObjMirrorSand_c : public fopAc_ac_c {

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

Expand Down
Loading