mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-21 14:07:29 -04:00
Fill out fopNpc_npc_c (#48)
* Fill out fopNpc_npc_c Start filling out the members * More Matches Still should/will get more cleanup
This commit is contained in:
@@ -39,7 +39,6 @@ public:
|
||||
u8 getWEvlpMixMtxNum(u16 idx) const { return mWEvlpMixMtxNum[idx]; }
|
||||
u16 * getWEvlpMixIndex() const { return mWEvlpMixIndex; }
|
||||
f32 * getWEvlpMixWeight() const { return mWEvlpMixWeight; }
|
||||
u16 * getWEvlpImportantMtxIndex() const { return mWEvlpImportantMtxIdx; }
|
||||
u16 getDrawFullWgtMtxNum() const { return mDrawMtxData.mDrawFullWgtMtxNum; }
|
||||
u16 getJointNum() const { return mJointNum; }
|
||||
u16 getDrawMtxNum() const { return mDrawMtxData.mEntryNum; }
|
||||
@@ -61,12 +60,11 @@ private:
|
||||
/* 0x14 */ J3DMtxCalc* mBasicMtxCalc;
|
||||
/* 0x18 */ u16 mJointNum;
|
||||
/* 0x1C */ J3DJoint** mJointNodePointer;
|
||||
/* 0x1E */ u16 mWEvlpMtxNum;
|
||||
/* 0x20 */ u8* mWEvlpMixMtxNum;
|
||||
/* 0x24 */ u16* mWEvlpMixIndex;
|
||||
/* 0x28 */ f32* mWEvlpMixWeight;
|
||||
/* 0x2C */ Mtx* mInvJointMtx;
|
||||
/* 0x30 */ u16* mWEvlpImportantMtxIdx;
|
||||
/* 0x20 */ u16 mWEvlpMtxNum;
|
||||
/* 0x24 */ u8* mWEvlpMixMtxNum;
|
||||
/* 0x28 */ u16* mWEvlpMixIndex;
|
||||
/* 0x2C */ f32* mWEvlpMixWeight;
|
||||
/* 0x30 */ Mtx* mInvJointMtx;
|
||||
/* 0x34 */ J3DDrawMtxData mDrawMtxData;
|
||||
/* 0x40 */ u32 field_0x40;
|
||||
/* 0x44 */ JUTNameTab* mJointName;
|
||||
|
||||
@@ -28,8 +28,8 @@ int cLib_chasePos(cXyz* o_value, cXyz const& target, f32 step);
|
||||
int cLib_chasePosXZ(cXyz* o_value, cXyz const& target, f32 step);
|
||||
int cLib_chaseAngleS(s16* o_value, s16 target, s16 step);
|
||||
|
||||
s16 cLib_targetAngleY(const Vec* lhs, const Vec* rhs);
|
||||
s16 cLib_targetAngleY(const Vec& lhs, const Vec& rhs);
|
||||
s16 cLib_targetAngleY(cXyz* lhs, cXyz* rhs);
|
||||
s16 cLib_targetAngleY(const cXyz& lhs, const cXyz& rhs);
|
||||
s16 cLib_targetAngleX(const cXyz*, const cXyz*);
|
||||
|
||||
void cLib_offsetPos(cXyz* pDest, cXyz* pSrc, s16 angle, cXyz* vec);
|
||||
|
||||
@@ -38,6 +38,8 @@ public:
|
||||
void setDemoMode(u32 mode) { mDemoMode = mode; }
|
||||
u32 getDemoMode() const { return mDemoMode; }
|
||||
int getParam1() const { return mParam1; }
|
||||
void setTimer(s16 time) { mTimer = time; }
|
||||
void decTimer() { mTimer--; }
|
||||
void setOriginalDemoType() { setDemoType(3); }
|
||||
void setSpecialDemoType() { setDemoType(5); }
|
||||
void setSystemDemoType() { setDemoType(2); }
|
||||
@@ -104,7 +106,7 @@ public:
|
||||
virtual void setTactZev(unsigned int, int, char*);
|
||||
virtual void onDekuSpReturnFlg(u8);
|
||||
virtual void checkComboCutTurn() const;
|
||||
virtual void getBaseAnimeFrameRate();
|
||||
virtual f32 getBaseAnimeFrameRate();
|
||||
virtual void getBaseAnimeFrame();
|
||||
virtual void getItemID() const;
|
||||
virtual void getThrowBoomerangID() const;
|
||||
@@ -130,7 +132,7 @@ public:
|
||||
void getLeftHandPos() const;
|
||||
void getRopeJumpLand() const;
|
||||
void checkRopeForceEnd() const;
|
||||
void getHeadTopPos() const;
|
||||
cXyz getHeadTopPos() const;
|
||||
void changePlayer(fopAc_ac_c*);
|
||||
void objWindHitCheck(dCcD_Cyl*);
|
||||
void setDoButtonQuake();
|
||||
|
||||
@@ -366,10 +366,22 @@ inline void dComIfGs_init() {
|
||||
g_dComIfG_gameInfo.save.init();
|
||||
}
|
||||
|
||||
inline dSv_player_bag_item_c* dComIfGs_getpBagItem() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getpBagItem();
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_checkReserveItem(u8 i_itemNo) {
|
||||
return dComIfGs_getpBagItem()->checkReserveItem(i_itemNo);
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getSelectEquip(int param_0) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getSelectEquip(param_0);
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getWalletSize() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getWalletSize();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getItem(int param_0) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getItem().getItem(param_0);
|
||||
}
|
||||
@@ -386,6 +398,10 @@ inline u8 dComIfGs_getReserve(int i_idx) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getReserve(i_idx);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isGetItemReserve(int i_No) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().isReserve(i_No);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isGetCollectMap(int i_itemNo) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getMap().isGetMap(i_itemNo - 1);
|
||||
}
|
||||
@@ -422,6 +438,10 @@ inline BOOL dComIfGs_isEventBit(u16 id) {
|
||||
return g_dComIfG_gameInfo.save.getEvent().isEventBit(id);
|
||||
}
|
||||
|
||||
inline void dComIfGs_onEventBit(u16 id) {
|
||||
g_dComIfG_gameInfo.save.getEvent().onEventBit(id);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setRestartRoomParam(u32 i_param) {
|
||||
g_dComIfG_gameInfo.save.getRestart().setRoomParam(i_param);
|
||||
}
|
||||
@@ -454,6 +474,8 @@ inline void dComIfGs_onSaveTbox(int i_stageNo, int i_no) {
|
||||
g_dComIfG_gameInfo.save.getSavedata().getSave(i_stageNo).getBit().onTbox(i_no);
|
||||
}
|
||||
|
||||
BOOL dComIfGs_isStageBossEnemy(int i_stageNo);
|
||||
|
||||
inline BOOL dComIfGs_isStageBossEnemy() {
|
||||
return g_dComIfG_gameInfo.save.getMemory().getBit().isStageBossEnemy();
|
||||
}
|
||||
@@ -716,6 +738,14 @@ inline BOOL dComIfGp_checkCameraAttentionStatus(int idx, u32 flag) {
|
||||
/**
|
||||
* === EVENT ===*/
|
||||
|
||||
inline u8 dComIfGp_event_getTalkXYBtn(void) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().getTalkXYBtn();
|
||||
}
|
||||
|
||||
inline bool dComIfGp_event_chkTalkXY(void) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().chkTalkXY();
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_onEventFlag(s16 flag) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().onEventFlag(flag);
|
||||
}
|
||||
@@ -724,6 +754,10 @@ inline void dComIfGp_event_offEventFlag(s16 flag) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().offEventFlag(flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_setItemPartnerId(u32 id) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().setPtI_Id(id);
|
||||
}
|
||||
|
||||
inline dEvent_manager_c& dComIfGp_getEventManager() {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager();
|
||||
}
|
||||
@@ -732,8 +766,48 @@ inline u32 dComIfGp_evmng_getEventIdx(char* pName, u8 evNo) {
|
||||
return dComIfGp_getEventManager().getEventIdx(pName, evNo);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_evmng_getMyStaffId(char* pName, fopAc_ac_c* pActor, s32 param_3) {
|
||||
return dComIfGp_getEventManager().getMyStaffId(pName, pActor, param_3);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_evmng_getMyActIdx(int staffIdx, const char* const* pActions, int actionCount, int force, int param_5) {
|
||||
return dComIfGp_getEventManager().getMyActIdx(staffIdx, pActions, actionCount, force, param_5);
|
||||
}
|
||||
|
||||
inline f32* dComIfGp_evmng_getMyFloatP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<f32*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 0)); //type 0 is float
|
||||
}
|
||||
|
||||
inline Vec* dComIfGp_evmng_getMyVec3dP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<Vec*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 1)); //type 1 is vec3f
|
||||
}
|
||||
|
||||
inline u32* dComIfGp_evmng_getMyIntegerP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<u32*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 3)); //type 3 is int
|
||||
}
|
||||
|
||||
inline char* dComIfGp_evmng_getMyStringP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<char*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 4)); //type 4 is string
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_endCheck(s16 eventID) {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager().endCheck(eventID);
|
||||
return dComIfGp_getEventManager().endCheck(eventID);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_ChkPresentEnd() {
|
||||
return dComIfGp_getEventManager().ChkPresentEnd();
|
||||
}
|
||||
|
||||
inline void dComIfGp_evmng_CancelPresent() {
|
||||
return dComIfGp_getEventManager().CancelPresent();
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_getIsAddvance(s32 staffIdx) {
|
||||
return dComIfGp_getEventManager().getIsAddvance(staffIdx);
|
||||
}
|
||||
|
||||
inline void dComIfGp_evmng_cutEnd(s32 staffIdx) {
|
||||
return dComIfGp_getEventManager().cutEnd(staffIdx);
|
||||
}
|
||||
|
||||
inline void dComIfGp_evmng_execute() {
|
||||
@@ -759,6 +833,8 @@ inline int dComIfGd_setRealShadow2(u32 id, s8 param_2, J3DModel* pModel, cXyz* p
|
||||
pTevStr);
|
||||
}
|
||||
|
||||
int dComIfGd_setSimpleShadow2(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& i_floorPoly, s16 i_angle, f32 param_5, GXTexObj* i_tex);
|
||||
|
||||
/**
|
||||
* === RESOURCE ===
|
||||
*/
|
||||
|
||||
+4
-1
@@ -58,6 +58,9 @@ public:
|
||||
void getTactFreeMStick(int);
|
||||
void getTactFreeCStick(int);
|
||||
void giveItemCut(u8);
|
||||
u8 getTalkXYBtn() { return mTalkButton; }
|
||||
bool chkTalkXY() { return mTalkButton == 1 || mTalkButton == 2 || mTalkButton == 3; }
|
||||
void setPtI_Id(u32 id) { mPtItem = id; }
|
||||
|
||||
inline u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
inline void onEventFlag(u16 flag) { mEventFlag |= flag; }
|
||||
@@ -71,7 +74,7 @@ public:
|
||||
/* 0xC4 */ u32 mPt1;
|
||||
/* 0xC8 */ u32 mPt2;
|
||||
/* 0xCC */ int mPtTalk;
|
||||
/* 0xD0 */ int mPtItem;
|
||||
/* 0xD0 */ u32 mPtItem;
|
||||
/* 0xD4 */ u8 mCurStaffId;
|
||||
/* 0xD5 */ u8 field_0xD5[0xD6 - 0xD5];
|
||||
/* 0xD6 */ s16 field_0xd6;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "d/d_event_data.h"
|
||||
#include "MSL_C/string.h"
|
||||
|
||||
class fopAc_ac_c;
|
||||
|
||||
@@ -39,14 +40,14 @@ public:
|
||||
void startCheck(s16);
|
||||
void startCheckOld(const char*);
|
||||
BOOL endCheck(s16);
|
||||
void endCheckOld(const char*);
|
||||
void getMyStaffId(const char*, fopAc_ac_c*, int);
|
||||
void getIsAddvance(int);
|
||||
void getMyActIdx(int, const char* const*, int, int, int);
|
||||
BOOL endCheckOld(const char*);
|
||||
int getMyStaffId(const char*, fopAc_ac_c*, int);
|
||||
BOOL getIsAddvance(int);
|
||||
int getMyActIdx(int, const char* const*, int, int, int);
|
||||
void getMyActName(int);
|
||||
void getMyNowCutName(int);
|
||||
void getMyDataP(int, const char*, int);
|
||||
void getMySubstanceP(int, const char*, int);
|
||||
void* getMySubstanceP(int, const char*, int);
|
||||
void getMySubstanceNum(int, const char*);
|
||||
void cutEnd(int);
|
||||
void getEventPrio(s16);
|
||||
@@ -60,7 +61,7 @@ public:
|
||||
void specialCast(const char*, int);
|
||||
void setPrmStaff(void*, int);
|
||||
void getToolId(u8, int);
|
||||
void ChkPresentEnd();
|
||||
BOOL ChkPresentEnd();
|
||||
void CancelPresent();
|
||||
void checkStartDemo();
|
||||
|
||||
@@ -71,4 +72,8 @@ public:
|
||||
/* 0x03C */ dEvDtFlag_c mFlag;
|
||||
};
|
||||
|
||||
inline int dEvmng_strcmp(const char* s1, const char* s2) {
|
||||
return strcmp(s1, s2);
|
||||
}
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_MANAGER_H */
|
||||
+184
-2
@@ -1,6 +1,155 @@
|
||||
#ifndef D_NPC_H
|
||||
#define D_NPC_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_msg.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_path.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
class fopNpc_npc_c;
|
||||
|
||||
class dNpc_JntCtrl_c {
|
||||
/* 0x00 */ s16 mHeadUpDownRot;
|
||||
/* 0x02 */ s16 mHeadLeftRightRot;
|
||||
/* 0x04 */ s16 mBackboneUpDownRot;
|
||||
/* 0x06 */ s16 mBackboneLeftRightRot;
|
||||
/* 0x08 */ u8 mHeadJntNum;
|
||||
/* 0x09 */ u8 mBackboneJntNum;
|
||||
/* 0x0A */ bool field_0x0A;
|
||||
/* 0x0B */ u8 field_0x0B;
|
||||
/* 0x0C */ u8 field_0x0C;
|
||||
/* 0x0D */ u8 field_0x0D;
|
||||
/* 0x0E */ s16 field_0x0E;
|
||||
/* 0x10 */ s16 mMinHeadRot;
|
||||
/* 0x12 */ s16 field_0x12;
|
||||
/* 0x14 */ s16 mMinSpineRot;
|
||||
/* 0x16 */ s16 field_0x16;
|
||||
/* 0x18 */ s16 mMaxHeadRot;
|
||||
/* 0x1A */ s16 field_0x1A;
|
||||
/* 0x1C */ s16 mMaxSpineRot;
|
||||
/* 0x1E */ s16 field_0x1E;
|
||||
/* 0x20 */ s16 field_0x20;
|
||||
/* 0x22 */ s16 field_0x22;
|
||||
/* 0x24 */ s16 field_0x24;
|
||||
/* 0x26 */ u8 pad_0x26[0x32 - 0x26];
|
||||
/* 0x32 */ s16 field_0x32;
|
||||
|
||||
public:
|
||||
bool angCalcS(s16*, s16, s16, s16);
|
||||
void limitter(s16*, s16, s16);
|
||||
void follow(s16*, s16, s16, int);
|
||||
void move(s16, int);
|
||||
void lookAtTarget(s16*, cXyz*, cXyz, s16, s16, bool);
|
||||
void setParam(s16, s16, s16, s16, s16, s16, s16, s16, s16);
|
||||
|
||||
s16 chkLim(s16, int, int);
|
||||
void turn_fromBackbone2Head(s16, s16*, s16*, bool);
|
||||
void turn_fromHead2Backbone(s16, s16*, s16*);
|
||||
s16 follow_current(s16*, s16);
|
||||
void lookAtTarget_2(s16*, cXyz*, cXyz, s16, s16, bool);
|
||||
};
|
||||
|
||||
class dNpc_EventCut_c {
|
||||
/* 0x00 */ char* mpEvtStaffName;
|
||||
/* 0x04 */ s32 mEvtStaffId;
|
||||
/* 0x08 */ fopAc_ac_c* mpActor;
|
||||
/* 0x0C */ fopNpc_npc_c* mpTalkActor;
|
||||
/* 0x10 */ s32 mCurActIdx;
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ int mTimer;
|
||||
/* 0x1C */ char* mpActorName;
|
||||
/* 0x20 */ u32 field_0x20;
|
||||
/* 0x24 */ s32 mSetID;
|
||||
/* 0x28 */ cXyz mOffsetPos;
|
||||
/* 0x34 */ cXyz mTargetActorPos;
|
||||
/* 0x40 */ fopAc_ac_c* mpTargetActor;
|
||||
/* 0x44 */ s16 field_0x44;
|
||||
/* 0x48 */ f32 mSpeed;
|
||||
/* 0x4C */ f32 pDelDistance;
|
||||
/* 0x50 */ s16 mAddAngle;
|
||||
/* 0x52 */ u8 field_0x52;
|
||||
/* 0x54 */ cXyz mPos;
|
||||
/* 0x60 */ u8 mbAttention;
|
||||
/* 0x61 */ u8 mbNoTurn;
|
||||
/* 0x62 */ s16 mTurnSpeed;
|
||||
/* 0x64 */ u32 mTurnType;
|
||||
/* 0x68 */ u8* field_0x68;
|
||||
|
||||
public:
|
||||
void setActorInfo(char*, fopAc_ac_c*);
|
||||
void setActorInfo2(char*, fopNpc_npc_c*);
|
||||
|
||||
bool cutProc();
|
||||
void cutWaitStart();
|
||||
void cutWaitProc();
|
||||
void cutTurnToActorStart();
|
||||
void cutTurnToActorProc();
|
||||
void cutMoveToActorStart();
|
||||
void cutMoveToActorProc();
|
||||
void cutTurnToPosStart();
|
||||
void cutTurnToPosProc();
|
||||
void cutMoveToPosStart();
|
||||
void cutMoveToPosProc();
|
||||
void cutTalkMsgStart();
|
||||
void cutContinueTalkStart();
|
||||
void cutTalkMsgProc();
|
||||
|
||||
static fopAc_ac_c* findActorCallBack(fopAc_ac_c*, void*);
|
||||
};
|
||||
|
||||
class dNpc_PathRun_c {
|
||||
public:
|
||||
bool setInfDrct(dPath* pPath);
|
||||
bool setInf(u8 pathIdx, s8 roomNo, u8 forwards);
|
||||
dPath* nextPath(s8 roomNo);
|
||||
cXyz getPoint(u8 pointIdx);
|
||||
void chkPointPass(cXyz, bool);
|
||||
bool incIdx();
|
||||
bool incIdxLoop();
|
||||
bool incIdxAuto();
|
||||
bool decIdx();
|
||||
bool decIdxLoop();
|
||||
bool decIdxAuto();
|
||||
bool nextIdx();
|
||||
bool nextIdxAuto();
|
||||
s32 absIdx(u8, u8);
|
||||
u8 maxPoint();
|
||||
u8 pointArg(u8 idx);
|
||||
bool setNearPathIndx(cXyz*, f32);
|
||||
f32 setNearPathIndxMk(cXyz*);
|
||||
bool setNearPathIndxMk2(cXyz*, u8, u8);
|
||||
bool chkInside(cXyz*);
|
||||
|
||||
/* 0x00 */ dPath* mPath;
|
||||
/* 0x04 */ u8 field_0x04;
|
||||
/* 0x05 */ u8 mCurrPointIndex;
|
||||
/* 0x06 */ u8 mbGoingForwards;
|
||||
/* 0x07 */ u8 field_0x07;
|
||||
};
|
||||
|
||||
class dNpc_HeadAnm_c {
|
||||
public:
|
||||
void swing_vertical_init(s16 param_1, s16 param_2, s16 param_3, int param_4);
|
||||
void swing_vertical();
|
||||
void swing_horizone_init(s16 param_1, s16 param_2, s16 param_3, int param_4);
|
||||
void swing_horizone();
|
||||
void move();
|
||||
|
||||
typedef void (dNpc_HeadAnm_c::*swing_func)(void);
|
||||
|
||||
/* 0x00 */ s16 field_0x00;
|
||||
/* 0x02 */ s16 field_0x02;
|
||||
/* 0x04 */ u32 field_0x04;
|
||||
/* 0x08 */ swing_func mFunc;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ s16 field_0x1C;
|
||||
/* 0x1E */ s16 field_0x1E;
|
||||
/* 0x20 */ s16 field_0x20;
|
||||
};
|
||||
|
||||
enum dNpc_MessageStatus_e {
|
||||
dNpcMsgStts_MSG_PREPARING_e = 0x01,
|
||||
dNpcMsgStts_BOX_OPENING_e = 0x02,
|
||||
@@ -9,10 +158,43 @@ enum dNpc_MessageStatus_e {
|
||||
|
||||
dNpcMsgStts_MSG_CONTINUES_e = 0x0F,
|
||||
dNpcMsgStts_MSG_ENDS_e = 0x10,
|
||||
|
||||
|
||||
dNpcMsgStts_BOX_CLOSING_e = 0x11,
|
||||
dNpcMsgStts_BOX_CLOSED_e = 0x12,
|
||||
dNpcMsgStts_MSG_DESTROYED_e = 0x13,
|
||||
};
|
||||
|
||||
#endif // D_NPC_H
|
||||
class fopNpc_npc_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x290 */ dNpc_JntCtrl_c mJntCtrl;
|
||||
/* 0x2C4 */ dNpc_EventCut_c mEventCtrl;
|
||||
/* 0x330 */ mDoExt_McaMorf* mpMcaMorf;
|
||||
/* 0x334 */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x4F8 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x538 */ dCcD_Stts mStts;
|
||||
/* 0x574 */ dCcD_Cyl mCyl;
|
||||
/* 0x6A4 */ u32 mCurrMsgID;
|
||||
/* 0x6A8 */ u32 mEndMsgID;
|
||||
/* 0x6AC */ s32 mCurrMsgBsPcId;
|
||||
/* 0x6B0 */ msg_class* mpCurrMsg;
|
||||
/* 0x6B4 */ u8 pad_0x6B4[0x6C0 - 0x6B4];
|
||||
|
||||
virtual u32 next_msgStatus(u32*) { return 0x10; }
|
||||
virtual u32 getMsg() { return 1; }
|
||||
virtual void anmAtr(u16) {}
|
||||
|
||||
void setCollision(float radius, float height);
|
||||
u16 talk(int);
|
||||
};
|
||||
|
||||
bool dNpc_setAnmIDRes(mDoExt_McaMorf* pMorf, int loopMode, float morf, float speed, int animResId, int soundResId, const char* arcName);
|
||||
bool dNpc_setAnmFNDirect(mDoExt_McaMorf* pMorf, int loopMode, f32 morf, f32 speed, char* animFilename, char* soundFilename, const char* arcName);
|
||||
bool dNpc_setAnm(mDoExt_McaMorf* pMorf, int loopMode, f32 morf, f32 speed, int animFileidx, int soundFileIdx, const char* arcName);
|
||||
void dNpc_setShadowModel(J3DModel*, J3DModelData*, J3DModel*);
|
||||
cXyz dNpc_playerEyePos(f32);
|
||||
void dNpc_calc_DisXZ_AngY(cXyz, cXyz, float*, short*);
|
||||
bool dNpc_chkArasoi();
|
||||
BOOL dNpc_chkLetterPassed();
|
||||
bool dNpc_setAnm_2(mDoExt_McaMorf* pMorf, int loopMode, f32 morf, f32 speed, int animFileidx, int soundFileIdx, const char* arcName);
|
||||
|
||||
#endif /* D_NPC_H */
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ struct dPath {
|
||||
|
||||
dPath__Point* dPath_GetPnt(dPath*, int);
|
||||
dPath* dPath_GetRoomPath(int, int);
|
||||
void dPath_GetNextRoomPath(dPath*, int);
|
||||
dPath* dPath_GetNextRoomPath(dPath*, int);
|
||||
void dPath_GetPolyRoomPathVec(cBgS_PolyInfo&, cXyz*, int*);
|
||||
|
||||
#endif /* D_PATH_H */
|
||||
|
||||
+6
-5
@@ -10,6 +10,7 @@ public:
|
||||
|
||||
u8 getSelectItemIndex(int i_no) const { return mSelectItem[i_no]; }
|
||||
u8 getSelectEquip(int i_no) const { return mSelectEquip[i_no]; }
|
||||
u8 getWalletSize() const { return mWalletSize; }
|
||||
|
||||
/* 0x00 */ u16 mMaxLife;
|
||||
/* 0x02 */ u16 mLife;
|
||||
@@ -141,8 +142,8 @@ public:
|
||||
/* 8005A7C0 */ void setReserveItemEmpty(u8);
|
||||
/* 8005A79C */ void setReserveItemEmpty();
|
||||
/* 8005A7E4 */ void setReserveItem(u8);
|
||||
/* 8005A854 */ u8 checkReserveItemEmpty();
|
||||
/* 8005A878 */ u8 checkReserveItem(u8);
|
||||
/* 8005A854 */ bool checkReserveItemEmpty();
|
||||
/* 8005A878 */ bool checkReserveItem(u8);
|
||||
|
||||
u8 getBeast(int i_idx) const { return mBeast[i_idx]; }
|
||||
u8 getBait(int i_idx) const { return mBait[i_idx]; }
|
||||
@@ -159,11 +160,11 @@ class dSv_player_get_bag_item_c {
|
||||
public:
|
||||
/* 8005A8B8 */ void init();
|
||||
/* 8005A8CC */ void onBeast(u8);
|
||||
/* 8005A960 */ bool isBeast(u8);
|
||||
/* 8005A960 */ BOOL isBeast(u8);
|
||||
/* 8005A9F8 */ void onBait(u8);
|
||||
/* 8005AA8C */ bool isBait(u8);
|
||||
/* 8005AA8C */ BOOL isBait(u8);
|
||||
/* 8005AB24 */ void onReserve(u8);
|
||||
/* 8005ABB4 */ bool isReserve(u8);
|
||||
/* 8005ABB4 */ BOOL isReserve(u8);
|
||||
|
||||
/* 0x0 */ u32 mReserveFlags;
|
||||
/* 0x4 */ u8 mBeastFlags;
|
||||
|
||||
@@ -113,11 +113,6 @@ public:
|
||||
void setEventName(char*);
|
||||
char* getEventName();
|
||||
void beforeProc();
|
||||
void onCondition(u16);
|
||||
void offCondition(u16);
|
||||
bool checkCommandCatch();
|
||||
BOOL checkCommandDoor();
|
||||
BOOL checkCommandDemoAccrpt() { return mCommand == 2; }
|
||||
|
||||
void setCommand(u16 command) { mCommand = command; }
|
||||
void setMapToolId(u8 id) { mMapToolId = id; }
|
||||
@@ -131,14 +126,14 @@ public:
|
||||
void setIdx(u8 i_idx) { mIndex = i_idx; }
|
||||
char* getArchiveName() { return mArchiveName; }
|
||||
BOOL chkCondition(u16 condition) { return (mCondition & condition) == condition; }
|
||||
void i_onCondition(u16 cond) { mCondition |= cond; }
|
||||
void i_offCondition(u16 cond) { mCondition &= ~cond; }
|
||||
void onCondition(u16 cond) { mCondition |= cond; }
|
||||
void offCondition(u16 cond) { mCondition &= ~cond; }
|
||||
|
||||
bool checkCommandTalk() { return mCommand == 1; }
|
||||
bool checkCommandItem() { return mCommand == 4; }
|
||||
BOOL i_checkCommandDoor() { return mCommand == 3; }
|
||||
bool i_checkCommandDemoAccrpt() { return mCommand == 2; }
|
||||
bool i_checkCommandCatch() { return mCommand == 6; }
|
||||
BOOL checkCommandDoor() { return mCommand == 3; }
|
||||
bool checkCommandDemoAccrpt() { return mCommand == 2; }
|
||||
bool checkCommandCatch() { return mCommand == 6; }
|
||||
|
||||
void suspendProc(void* actor) {
|
||||
if (field_0x10 != NULL) {
|
||||
|
||||
@@ -416,11 +416,12 @@ s32 fopAcM_cullingCheck(fopAc_ac_c*);
|
||||
void* event_second_actor(u16);
|
||||
s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderTalkItemBtnEvent(u16, fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor, u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor);
|
||||
s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c*, char*, u16, u16, u16);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c*, fopAc_ac_c*, char*, u16, u16, u16);
|
||||
s32 fopAcM_orderOtherEvent2(fopAc_ac_c*, char*, u16, u16);
|
||||
s32 fopAcM_orderChangeEventId(fopAc_ac_c*, s16, u16, u16);
|
||||
s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 mapToolID, u16 param_3,
|
||||
u16 priority, u16 flag);
|
||||
|
||||
+1091
-160
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user