d_a_npc_md

This commit is contained in:
LagoLunatic
2024-02-25 18:50:02 -05:00
parent 2763919899
commit f835d2b98f
11 changed files with 208 additions and 101 deletions
+37 -34
View File
@@ -201,9 +201,11 @@ public:
class daNpc_Md_c : public daPy_npc_c {
public:
enum ActionStatus {
ACTION_STARTING = 0,
ACTION_ONGOING = 1,
ACTION_ENDING = -1,
ACTION_STARTING = 0,
ACTION_ONGOING_1 = 1,
ACTION_ONGOING_2 = 2,
ACTION_ONGOING_3 = 3,
ACTION_ENDING = -1,
};
typedef BOOL (daNpc_Md_c::*ActionFunc)(void*);
@@ -223,28 +225,34 @@ public:
void noCarryAction() { cLib_onBit(m30F0, 0x800UL); }
void offNoCarryAction() { cLib_offBit(m30F0, 0x800UL); }
bool isNoCarryAction() { return cLib_checkBit(m30F0, 0x800UL); }
void onShipRide() { cLib_onBit(m30F0, 0x1000UL); }
void offShipRide() { cLib_offBit(m30F0, 0x1000UL); }
bool isShipRide() { return cLib_checkBit(m30F0, 0x1000UL); }
void onLightHit() { cLib_onBit(m30F0, 0x2000UL); }
void offLightHit() { cLib_offBit(m30F0, 0x2000UL); }
bool isLightHit() { return cLib_checkBit(m30F0, 0x2000UL); }
void onLightBodyHit() { cLib_onBit(m30F0, 0x8000UL); }
void offLightBodyHit() { cLib_offBit(m30F0, 0x8000UL); }
bool isLightBodyHit() { return cLib_checkBit(m30F0, 0x8000UL); }
bool isOldLightBodyHit() { return cLib_checkBit(m30F0, 0x8000UL); }
void onDefaultTalkXY() { cLib_onBit(m30F0, 0x10000UL); }
void offDefaultTalkXY() { cLib_offBit(m30F0, 0x10000UL); }
bool isDefaultTalkXY() { return cLib_checkBit(m30F0, 0x10000UL); }
void setTypeEdaichi() { m3138 = 4; }
void setTypeM_Dai() { m3138 = 5; }
void setTypeM_DaiB() { m3138 = 6; }
void setTypeShipRide() { m3138 = 7; }
void isTypeAdanmae() {}
void isTypeAtorizk() {}
void isTypeM_Dra09() {}
void isTypeSea() {}
bool isTypeEdaichi() { return m3138 == 4; }
bool isTypeM_Dai() { return m3138 == 5; }
bool isTypeM_DaiB() { return m3138 == 6; }
bool isTypeShipRide() { return m3138 == 7; }
void setOldLightBodyHit() {} // 0x20000?
void setTypeEdaichi() { mType = 4; }
void setTypeM_Dai() { mType = 5; }
void setTypeM_DaiB() { mType = 6; }
void setTypeShipRide() { mType = 7; }
bool isTypeAtorizk() { return mType == 0; }
bool isTypeAdanmae() { return mType == 1; }
bool isTypeM_Dra09() { return mType == 2; }
bool isTypeSea() { return mType == 3; }
bool isTypeEdaichi() { return mType == 4; }
bool isTypeM_Dai() { return mType == 5; }
bool isTypeM_DaiB() { return mType == 6; }
bool isTypeShipRide() { return mType == 7; }
s16 getHead_x() { return mJntCtrl.getHead_x(); }
s16 getHead_y() { return mJntCtrl.getHead_y(); }
@@ -284,34 +292,22 @@ public:
}
}
void getFlyingTimer() {}
void setFlyingTimer(s16) {}
void calcFlyingTimer() {}
void checkBitEffectStatus(u8) {}
void checkStatus(u32) {}
void setStatus(u32) {}
void clearJntAng() {}
void clearStatus() {}
void clearStatus(u32) {}
void getFlyingTimer() {}
void getTalkType() {}
void isLightBodyHit() {}
void isMirror() {}
void isShipRide() {}
void offFlying() {}
void offMirror() {}
void offPlayerRoom() {}
void offShipRide() {}
void onFlying() {}
void onMirror() {}
void onPlayerRoom() {}
void onShipRide() {}
void setTalkType(u8) {}
void setBitEffectStatus(u8) {}
void setBitStatus(u32) {}
void setEffectStatus(u8) {}
void setFlyingTimer(s16) {}
void setOldLightBodyHit() {}
void setPiyo2TalkCNT(u8) {}
void setRunRate(f32) {}
void setStatus(u32) {}
void setTalkType(u8) {}
daNpc_Md_c() {}
~daNpc_Md_c();
@@ -322,9 +318,9 @@ public:
BOOL createHeap();
BOOL setAction(ActionFunc*, ActionFunc, void*);
void npcAction(void*);
void setNpcAction(ActionFunc, void*);
void setNpcAction(ActionFunc, void* = NULL);
void playerAction(void*);
void setPlayerAction(ActionFunc, void*);
void setPlayerAction(ActionFunc, void* = NULL);
s16 getStickAngY(int);
int calcStickPos(s16, cXyz*);
BOOL flyCheck();
@@ -475,11 +471,18 @@ public:
static bool m_playerRoom;
static bool isFlying() { return m_flying; }
static void onFlying() { m_flying = true; }
static void offFlying() { m_flying = false; }
static bool isMirror() { return m_mirror; }
static void onMirror() { m_mirror = true; }
static void offMirror() { m_mirror = false; }
static bool isSeaTalk() { return m_seaTalk; }
static void onSeaTalk() { m_seaTalk = true; }
static void offSeaTalk() { m_seaTalk = false; }
static s16 getMaxFlyingTimer();
static bool isPlayerRoom() { return m_playerRoom; }
static void onPlayerRoom() { m_playerRoom = true; }
static void offPlayerRoom() { m_playerRoom = false; }
public:
/* 0x04EC */ request_of_phase_process_class mPhs;
@@ -553,7 +556,7 @@ public:
/* 0x3135 */ u8 m3135[0x3136 - 0x3135];
/* 0x3136 */ u8 m3136;
/* 0x3137 */ u8 m3137;
/* 0x3138 */ u8 m3138;
/* 0x3138 */ u8 mType;
/* 0x3139 */ s8 mCurEvent;
/* 0x313A */ u8 m313A;
/* 0x313B */ u8 m313B[0x313C - 0x313B];
+5 -1
View File
@@ -1656,7 +1656,11 @@ public:
onNoResetFlg0(daPyFlg0_SHIP_DROP);
m3550 = param_1;
}
void checkCarryActionNow() const {}
bool checkCarryActionNow() const {
return mCurProc == daPyProc_GRAB_PUT_e ||
mCurProc == daPyProc_GRAB_UP_e ||
mCurProc == daPyProc_GRAB_THROW_e;
}
bool checkNoControll() const { return dComIfGp_getPlayer(0) != this; }
void clearDamageWait() {}
void exchangeGrabActor(fopAc_ac_c*) {}
+4 -2
View File
@@ -624,6 +624,10 @@ inline void fopAcM_monsSeStart(fopAc_ac_c* actor, u32 i_seNum, u32 param_2) {
mDoAud_monsSeStart(i_seNum, &actor->mEyePos, fopAcM_GetID(actor), 0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
}
inline void fopAcM_monsSeStart(fopAc_ac_c* actor, u32 i_seNum, Vec* i_sePos, u32 param_2) {
mDoAud_monsSeStart(i_seNum, i_sePos, fopAcM_GetID(actor), param_2);
}
void fopDwTg_ToDrawQ(create_tag_class*, int);
void fopDwTg_DrawQTo(create_tag_class*);
@@ -635,8 +639,6 @@ inline void fopAcM_offDraw(fopAc_ac_c* actor) {
fopDwTg_DrawQTo(&actor->mDwTg);
}
inline void fopAcM_monsSeStart(fopAc_ac_c*, unsigned long, Vec*, unsigned long) {}
inline void fopAcM_getNameString(fopAc_ac_c*, char*) {}
inline void fopAcM_orderOtherEvent(fopAc_ac_c* ac, char* event, u16 flag) {
fopAcM_orderOtherEvent2(ac, event, flag);
}
+4
View File
@@ -158,6 +158,10 @@ inline void mDoAud_monsSeInit() {
mDoAud_zelAudio_c::getInterface()->monsSeInit();
}
inline void mDoAud_monsSeStart(u32 i_seNum, Vec* param_1, u32 param_2, u32 param_3) {
mDoAud_zelAudio_c::getInterface()->monsSeStart(i_seNum, param_1, param_2, param_3, 0);
}
inline void mDoAud_monsSeStart(u32 i_seNum, Vec* param_1, u32 param_2, u32 param_3, s8 i_reverb) {
mDoAud_zelAudio_c::getInterface()->monsSeStart(i_seNum, param_1, param_2, param_3, i_reverb);
}