mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-04 02:46:11 -04:00
d_event work
This commit is contained in:
@@ -177,7 +177,7 @@ public:
|
||||
void LockEdge() {}
|
||||
void changeOwner() {}
|
||||
void chkEnemySound() {}
|
||||
void getCatchChgItem() {}
|
||||
u8 getCatchChgItem() { return mCatch.getChangeItem(); }
|
||||
void getCatghTarget() {}
|
||||
void getLookTarget() {}
|
||||
void getLook2Target() {}
|
||||
|
||||
+33
-16
@@ -75,7 +75,7 @@ enum ALWAYS_RES_FILE_ID { // IDs and indexes are synced
|
||||
ALWAYS_BCK_YJ_LOOP=0x19,
|
||||
ALWAYS_BCK_YJ_OUT=0x1A,
|
||||
ALWAYS_BCK_YJ_SCALE=0x1B,
|
||||
|
||||
|
||||
/* BDL */
|
||||
ALWAYS_BDL_ARROWITEM=0x1E,
|
||||
ALWAYS_BDL_FA=0x1F,
|
||||
@@ -91,7 +91,7 @@ enum ALWAYS_RES_FILE_ID { // IDs and indexes are synced
|
||||
ALWAYS_BDL_VHAPL=0x29,
|
||||
ALWAYS_BDL_VHRTL=0x2A,
|
||||
ALWAYS_BDL_VKEYL=0x2B,
|
||||
|
||||
|
||||
/* BDLM */
|
||||
ALWAYS_BDL_IB=0x2E,
|
||||
ALWAYS_BDL_MPA_SIMI=0x2F,
|
||||
@@ -110,17 +110,17 @@ enum ALWAYS_RES_FILE_ID { // IDs and indexes are synced
|
||||
ALWAYS_BDL_YA=0x3C,
|
||||
ALWAYS_BDL_YAZIRUSHI_01=0x3D,
|
||||
ALWAYS_BDL_YTHDR00=0x3E,
|
||||
|
||||
|
||||
/* BMTM */
|
||||
ALWAYS_BMT_ICE=0x41,
|
||||
|
||||
|
||||
/* BPK */
|
||||
ALWAYS_BPK_YJ_DELETE=0x44,
|
||||
ALWAYS_BPK_YJ_IN=0x45,
|
||||
ALWAYS_BPK_YJ_LOOP=0x46,
|
||||
ALWAYS_BPK_YJ_OUT=0x47,
|
||||
ALWAYS_BPK_YJ_SCALE=0x48,
|
||||
|
||||
|
||||
/* BRK */
|
||||
ALWAYS_BRK_IB_01=0x4B,
|
||||
ALWAYS_BRK_IB_02=0x4C,
|
||||
@@ -130,7 +130,7 @@ enum ALWAYS_RES_FILE_ID { // IDs and indexes are synced
|
||||
ALWAYS_BRK_VHANL=0x50,
|
||||
ALWAYS_BRK_VLUPL=0x51,
|
||||
ALWAYS_BRK_YTHDR00=0x52,
|
||||
|
||||
|
||||
/* BTK */
|
||||
ALWAYS_BTK_EFA_USONAMI_01=0x55,
|
||||
ALWAYS_BTK_IB=0x56,
|
||||
@@ -144,17 +144,17 @@ enum ALWAYS_RES_FILE_ID { // IDs and indexes are synced
|
||||
ALWAYS_BTK_W_PILLAR_A=0x5E,
|
||||
ALWAYS_BTK_YA=0x5F,
|
||||
ALWAYS_BTK_YTHDR00=0x60,
|
||||
|
||||
|
||||
/* BTP */
|
||||
ALWAYS_BTP_MPA_SIMI=0x63,
|
||||
ALWAYS_BTP_MPI_KIBAKO_TARU=0x64,
|
||||
ALWAYS_BTP_MPI_KINOHAHEN=0x65,
|
||||
ALWAYS_BTP_MPI_KOISHI=0x66,
|
||||
ALWAYS_BTP_MPM_TUBO=0x67,
|
||||
|
||||
|
||||
/* DAT */
|
||||
ALWAYS_BIN_ITEM_TABLE=0x6A,
|
||||
|
||||
|
||||
/* TEX */
|
||||
ALWAYS_BTI_AK_HOUSHI00=0x6D,
|
||||
ALWAYS_BTI_AK_SMOKE01=0x6E,
|
||||
@@ -337,7 +337,7 @@ public:
|
||||
void removeWood();
|
||||
void executeWood();
|
||||
void drawWood();
|
||||
|
||||
|
||||
BOOL checkCameraAttentionStatus(int idx, u32 flag) {
|
||||
return mCameraInfo[idx].mCameraAttentionStatus & flag;
|
||||
}
|
||||
@@ -435,7 +435,7 @@ public:
|
||||
|
||||
dTimer_c* getTimerPtr() { return mTimerInfo.mTimerPtr; }
|
||||
s32 getTimerMode() { return mTimerInfo.mTimerMode; }
|
||||
|
||||
|
||||
s16 getItemMagicCount() { return mItemMagicCount; }
|
||||
void setItemMagicCount(s16 magic) { mItemMagicCount += magic; }
|
||||
s16 getItemMaxMagicCount() { return mItemMaxMagicCount; }
|
||||
@@ -445,10 +445,10 @@ public:
|
||||
|
||||
f32 getItemLifeCount() { return mItemLifeCount; }
|
||||
void setItemLifeCount(f32 num) { mItemLifeCount += num; }
|
||||
|
||||
|
||||
s16 getItemMaxLifeCount() { return mItemMaxLifeCount; }
|
||||
void setItemMaxLifeCount(s16 num) { mItemMaxLifeCount += num; }
|
||||
|
||||
|
||||
s16 getItemArrowNumCount() { return mItemArrowNumCount; }
|
||||
void setItemArrowNumCount(s16 num) { mItemArrowNumCount += num; }
|
||||
|
||||
@@ -465,7 +465,7 @@ public:
|
||||
u8 getSelectItem(int idx) { return mSelectItem[idx]; }
|
||||
void setSelectItem(int idx, u8 itemNo) { mSelectItem[idx] = itemNo; }
|
||||
void setSelectEquip(int idx, u8 itemNo) { mSelectEquip[idx] = itemNo; }
|
||||
|
||||
|
||||
void setItem(u8 i_slot, u8 i_itemNo) {
|
||||
mItemSlot = i_slot;
|
||||
mItemNo = i_itemNo;
|
||||
@@ -474,6 +474,7 @@ public:
|
||||
void setAStatus(u8 status) { mCurrButtonBAction = status; }
|
||||
void setDoStatus(u8 status) { mCurrButtonAAction = status; }
|
||||
void setRStatusForce(u8 status) { field_0x4930 = status; }
|
||||
inline u8 getPictureStatus() { return mPictureStatus; }
|
||||
|
||||
u8 getScopeType() { return mbCamOverrideFarPlane; }
|
||||
void setScopeType(u8 v) { mbCamOverrideFarPlane = v; }
|
||||
@@ -672,7 +673,7 @@ public:
|
||||
/* 0x495B */ u8 field_0x495b;
|
||||
/* 0x495C */ u8 field_0x495c;
|
||||
/* 0x495D */ u8 field_0x495d;
|
||||
/* 0x495E */ u8 field_0x495e;
|
||||
/* 0x495E */ u8 mPictureStatus;
|
||||
/* 0x495F */ u8 field_0x495f;
|
||||
/* 0x4960 */ u8 field_0x4960;
|
||||
/* 0x4961 */ u8 field_0x4961;
|
||||
@@ -2133,7 +2134,7 @@ inline void dComIfGp_setSelectItem(int i_btnIdx) {
|
||||
int invIdx = dComIfGs_getSelectItem(i_btnIdx);
|
||||
u8 itemNo = dComIfGs_getItem(invIdx);
|
||||
g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, itemNo);
|
||||
|
||||
|
||||
invIdx = dComIfGs_getSelectItem(i_btnIdx);
|
||||
itemNo = dComIfGs_getItem(invIdx);
|
||||
if (itemNo == 0xFF) {
|
||||
@@ -2177,6 +2178,10 @@ inline void dComIfGp_setRStatusForce(u8 status) {
|
||||
g_dComIfG_gameInfo.play.setRStatusForce(status);
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getPictureStatus() {
|
||||
return g_dComIfG_gameInfo.play.getPictureStatus();
|
||||
}
|
||||
|
||||
inline s16 dComIfGp_getMiniGameRupee() {
|
||||
return g_dComIfG_gameInfo.play.getMiniGameRupee();
|
||||
}
|
||||
@@ -2436,6 +2441,14 @@ inline BOOL dComIfGp_evmng_existence(s16 eventIdx) {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager().getEventData(eventIdx) != NULL;
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_order(s16 eventIdx) {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager().order(eventIdx);
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_evmng_getEventEndSound(s16 eventIdx) {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager().getEventEndSound(eventIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* === DRAWLIST ===
|
||||
*/
|
||||
@@ -2896,6 +2909,10 @@ inline void dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 param
|
||||
attention.CatchRequest(param_0, param_1, param_2, param_3, param_4,param_5, param_6);
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_att_getCatchChgItem() {
|
||||
return g_dComIfG_gameInfo.play.getAttention().getCatchChgItem();
|
||||
}
|
||||
|
||||
/**
|
||||
* === MISC ===
|
||||
*/
|
||||
|
||||
+40
-32
@@ -21,6 +21,12 @@ enum dEvtType_e {
|
||||
/* 0x0A */ dEvtType_CHANGE_e,
|
||||
};
|
||||
|
||||
enum {
|
||||
dEvtMove_NOMOVE_e,
|
||||
dEvtMove_MOVE_e,
|
||||
dEvtMove_FORCE_e,
|
||||
};
|
||||
|
||||
class dEvt_order_c {
|
||||
public:
|
||||
~dEvt_order_c() {}
|
||||
@@ -37,6 +43,8 @@ public:
|
||||
/* 0x15 */ u8 mEventInfoIdx;
|
||||
}; // Size = 0x18
|
||||
|
||||
class dStage_Event_dt_c;
|
||||
|
||||
class dEvt_control_c {
|
||||
public:
|
||||
dEvt_control_c();
|
||||
@@ -44,36 +52,36 @@ public:
|
||||
s32 orderOld(u16, u16, u16, u16, void*, void*, const void*);
|
||||
s32 order(u16, u16, u16, u16, void*, void*, s16, u8);
|
||||
void setParam(dEvt_order_c*);
|
||||
void beforeFlagProc(dEvt_order_c*);
|
||||
void afterFlagProc(dEvt_order_c*);
|
||||
void commonCheck(dEvt_order_c*, u16, u16);
|
||||
void talkCheck(dEvt_order_c*);
|
||||
void talkXyCheck(dEvt_order_c*);
|
||||
void photoCheck(dEvt_order_c*);
|
||||
void catchCheck(dEvt_order_c*);
|
||||
void talkEnd();
|
||||
void demoCheck(dEvt_order_c*);
|
||||
void demoEnd();
|
||||
void potentialCheck(dEvt_order_c*);
|
||||
void doorCheck(dEvt_order_c*);
|
||||
void itemCheck(dEvt_order_c*);
|
||||
void endProc();
|
||||
void checkChange();
|
||||
void changeProc();
|
||||
void checkStart();
|
||||
void soundProc();
|
||||
void check();
|
||||
void photoCheck();
|
||||
BOOL beforeFlagProc(dEvt_order_c*);
|
||||
BOOL afterFlagProc(dEvt_order_c*);
|
||||
BOOL commonCheck(dEvt_order_c*, u16, u16);
|
||||
BOOL talkCheck(dEvt_order_c*);
|
||||
BOOL talkXyCheck(dEvt_order_c*);
|
||||
BOOL photoCheck(dEvt_order_c*);
|
||||
BOOL catchCheck(dEvt_order_c*);
|
||||
BOOL talkEnd();
|
||||
BOOL demoCheck(dEvt_order_c*);
|
||||
BOOL demoEnd();
|
||||
BOOL potentialCheck(dEvt_order_c*);
|
||||
BOOL doorCheck(dEvt_order_c*);
|
||||
BOOL itemCheck(dEvt_order_c*);
|
||||
BOOL endProc();
|
||||
BOOL checkChange();
|
||||
BOOL changeProc();
|
||||
BOOL checkStart();
|
||||
BOOL soundProc();
|
||||
BOOL check();
|
||||
BOOL photoCheck();
|
||||
s32 moveApproval(void*);
|
||||
BOOL compulsory(void*, const char*, u16);
|
||||
void remove();
|
||||
void getStageEventDt();
|
||||
void nextStageEventDt(void*);
|
||||
dStage_Event_dt_c* getStageEventDt();
|
||||
dStage_Event_dt_c* nextStageEventDt(void*);
|
||||
int getPId(void*);
|
||||
fopAc_ac_c * convPId(unsigned int);
|
||||
void getTactFreeMStick(int);
|
||||
void getTactFreeCStick(int);
|
||||
void giveItemCut(u8);
|
||||
u8 getTactFreeMStick(int);
|
||||
u8 getTactFreeCStick(int);
|
||||
bool giveItemCut(u8);
|
||||
|
||||
u8 getTalkXYBtn() { return mTalkButton; }
|
||||
bool chkTalkXY() { return mTalkButton == 1 || mTalkButton == 2 || mTalkButton == 3; }
|
||||
@@ -86,7 +94,7 @@ public:
|
||||
|
||||
f32 getCullRate() { return mCullFarClipRatio; }
|
||||
void setCullRate(f32 ratio) { mCullFarClipRatio = ratio; }
|
||||
|
||||
|
||||
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
void onEventFlag(u16 flag) { mEventFlag |= flag; }
|
||||
void offEventFlag(u16 flag) { mEventFlag &= ~flag; }
|
||||
@@ -95,8 +103,8 @@ public:
|
||||
bool runCheck() { return mMode != 0; }
|
||||
|
||||
/* 0x00 */ dEvt_order_c mOrder[8];
|
||||
/* 0xC0 */ u8 mOrderCount;
|
||||
/* 0xC1 */ u8 mFirstOrderIdx;
|
||||
/* 0xC0 */ s8 mOrderCount;
|
||||
/* 0xC1 */ s8 mFirstOrderIdx;
|
||||
/* 0xC2 */ u8 mMode;
|
||||
/* 0xC3 */ u8 mbEndProc;
|
||||
/* 0xC4 */ u32 mPt1;
|
||||
@@ -105,22 +113,22 @@ public:
|
||||
/* 0xD0 */ u32 mPtItem;
|
||||
/* 0xD4 */ u8 mGetItemNo;
|
||||
/* 0xD5 */ u8 field_0xD5[0xD6 - 0xD5];
|
||||
/* 0xD6 */ s16 field_0xd6;
|
||||
/* 0xD6 */ s16 mHindFlag;
|
||||
/* 0xD8 */ s16 mEventId;
|
||||
/* 0xDA */ u8 mEventEndSound;
|
||||
/* 0xDB */ u8 field_0xdb;
|
||||
/* 0xDC */ u8 field_0xdc;
|
||||
/* 0xDD */ u8 field_0xdd;
|
||||
/* 0xDE */ u8 field_0xde;
|
||||
/* 0xDF */ u8 field_0xdf;
|
||||
/* 0xDF */ u8 mEventInfoIdx;
|
||||
/* 0xE0 */ u8 mTalkButton;
|
||||
/* 0xE1 */ u8 mItemNo;
|
||||
/* 0xE2 */ u8 mbInPhoto;
|
||||
/* 0xE3 */ u8 field_0xE3[0xE4 - 0xE3];
|
||||
/* 0xE4 */ f32 mCullFarClipRatio;
|
||||
/* 0xE8 */ u16 mEventFlag;
|
||||
/* 0xEA */ u8 mTactFreeMStick[4];
|
||||
/* 0xEE */ u8 mTactFreeCStick[4];
|
||||
/* 0xEA */ u8 mTactFreeMStick[5];
|
||||
/* 0xEF */ u8 mTactFreeCStick[4];
|
||||
}; // Size = 0xF4
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
|
||||
@@ -39,7 +39,7 @@ public:
|
||||
void runProc();
|
||||
dEvDtEvent_c* getEventData(s16);
|
||||
s16 getEventIdx(const char*, u8);
|
||||
void order(s16);
|
||||
BOOL order(s16);
|
||||
BOOL startCheck(s16);
|
||||
BOOL startCheckOld(const char*);
|
||||
BOOL endCheck(s16);
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
void getMySubstanceNum(int, const char*);
|
||||
void cutEnd(int);
|
||||
u16 getEventPrio(s16);
|
||||
void getEventEndSound(s16);
|
||||
u8 getEventEndSound(s16);
|
||||
void exceptionProc();
|
||||
void issueStaff(const char*);
|
||||
void cancelStaff(const char*);
|
||||
|
||||
+8
-3
@@ -283,9 +283,9 @@ struct dStage_MemoryConfig_c {
|
||||
|
||||
struct dStage_DMap_c {};
|
||||
|
||||
struct dStage_EventInfo_c {
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x1 */ char* mName;
|
||||
struct dStage_Event_dt_c {
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x04 */ char mName[15];
|
||||
/* 0x10 */ u8 field_0x10;
|
||||
/* 0x11 */ u8 field_0x11;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
@@ -296,6 +296,11 @@ struct dStage_EventInfo_c {
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
}; // Size: 0x18
|
||||
|
||||
struct dStage_EventInfo_c {
|
||||
/* 0x00 */ s32 num;
|
||||
/* 0x04 */ dStage_Event_dt_c* events;
|
||||
}; // Size: 0x08
|
||||
|
||||
struct dStage_Ship_data {
|
||||
/* 0x0 */ cXyz m_pos;
|
||||
/* 0xC */ s16 m_angle;
|
||||
|
||||
@@ -17,12 +17,14 @@ struct actor_method_class {
|
||||
enum fopAc_Status_e {
|
||||
// Note: The lowest 5 bits of the status field (& 0x1F) act as an index controlling the map icon type.
|
||||
fopAcStts_SHOWMAP_e = 0x00000020,
|
||||
fopAcStts_UNK40_e = 0x00000040,
|
||||
fopAcStts_NOCULLEXEC_e = 0x00000080,
|
||||
fopAcStts_CULL_e = 0x00000100,
|
||||
fopAcStts_FREEZE_e = 0x00000400,
|
||||
fopAcStts_UNK800_e = 0x00000800,
|
||||
fopAcStts_CARRY_e = 0x00002000,
|
||||
fopAcStts_UNK4000_e = 0x00004000,
|
||||
fopAcStts_FORCEMOVE_e = 0x00008000,
|
||||
fopAcStts_NOPAUSE_e = 0x00020000,
|
||||
fopAcStts_UNK40000_e = 0x00040000,
|
||||
fopAcStts_UNK80000_e = 0x00080000,
|
||||
@@ -123,6 +125,7 @@ enum dEvt_Condition_e {
|
||||
dEvtCnd_CANDOOR_e = 0x0004,
|
||||
dEvtCnd_CANGETITEM_e = 0x0008,
|
||||
dEvtCnd_CANTALKITEM_e = 0x0020,
|
||||
dEvtCnd_CANCATCH_e = 0x0040,
|
||||
};
|
||||
|
||||
// TODO: move to d_event.h
|
||||
@@ -148,6 +151,11 @@ public:
|
||||
BOOL chkCondition(u16 condition) { return (mCondition & condition) == condition; }
|
||||
void onCondition(u16 cond) { mCondition |= cond; }
|
||||
void offCondition(u16 cond) { mCondition &= ~cond; }
|
||||
s16 runPhotoEventCB(void* ac, int flag) {
|
||||
if (mpPhotoCB == NULL)
|
||||
return -1;
|
||||
return mpPhotoCB(ac, flag);
|
||||
}
|
||||
|
||||
BOOL checkCommandTalk() { return mCommand == dEvtCmd_INTALK_e; }
|
||||
BOOL checkCommandItem() { return mCommand == dEvtCmd_INGETITEM_e; }
|
||||
|
||||
@@ -56,10 +56,10 @@ const char* daTag_Msg_c::myDemoName() {
|
||||
if (getMessage() == 0x1902) {
|
||||
return "RT_TALK";
|
||||
}
|
||||
if (pEventInfo == NULL || (int)eventNo == 0xff || pEventInfo->field_0x0 < (int)eventNo) {
|
||||
if (pEventInfo == NULL || (int)eventNo == 0xff || pEventInfo->num < (int)eventNo) {
|
||||
return "DEFAULT_MSG";
|
||||
}
|
||||
return pEventInfo->mName + eventNo * 0x18 + 1;
|
||||
return pEventInfo->events[eventNo].mName;
|
||||
}
|
||||
|
||||
u16 daTag_Msg_c::getMessage() {
|
||||
|
||||
@@ -155,7 +155,7 @@ void dComIfG_play_c::itemInit() {
|
||||
field_0x495b = 0;
|
||||
field_0x495c = 0;
|
||||
field_0x495d = 0;
|
||||
field_0x495e = 0;
|
||||
mPictureStatus = 0;
|
||||
field_0x495f = 0;
|
||||
field_0x4960 = 0;
|
||||
field_0x4961 = 0;
|
||||
|
||||
+456
-61
@@ -4,8 +4,19 @@
|
||||
//
|
||||
|
||||
#include "d/d_event.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/actor/d_a_itembase.h"
|
||||
#include "f_op/f_op_actor.h" // dEvt_info_c
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
enum {
|
||||
dEvtFlag_NOPARTNER_e = 0x01,
|
||||
dEvtFlag_STAFF_ALL_e = 0x02,
|
||||
dEvtFlag_TALK_e = 0x04,
|
||||
dEvtFlag_UNK8_e = 0x08,
|
||||
};
|
||||
|
||||
/* 8006FE04-8006FE54 .text __ct__14dEvt_control_cFv */
|
||||
dEvt_control_c::dEvt_control_c() {
|
||||
@@ -16,133 +27,483 @@ dEvt_control_c::dEvt_control_c() {
|
||||
dEvt_order_c::dEvt_order_c() {}
|
||||
|
||||
/* 8006FE58-8006FEE8 .text orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv */
|
||||
s32 dEvt_control_c::orderOld(u16, u16, u16, u16, void*, void*, const void*) {
|
||||
/* Nonmatching */
|
||||
s32 dEvt_control_c::orderOld(u16 eventType, u16 priority, u16 flag, u16 hindFlag, void* ac1, void* ac2, const void* eventName) {
|
||||
s32 eventIdx = dComIfGp_evmng_getEventIdx((const char*)eventName, 0xFF);
|
||||
return order(eventType, priority, flag, hindFlag, ac1, ac2, eventIdx, 0xFF);
|
||||
}
|
||||
|
||||
/* 8006FEE8-8007002C .text order__14dEvt_control_cFUsUsUsUsPvPvsUc */
|
||||
s32 dEvt_control_c::order(u16, u16, u16, u16, void*, void*, s16, u8) {
|
||||
s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 hindFlag, void* ac1, void* ac2, s16 eventIdx, u8 eventInfoIdx) {
|
||||
/* Nonmatching */
|
||||
if (mOrderCount >= 8)
|
||||
return FALSE;
|
||||
|
||||
dEvt_order_c* pNewOrder = &mOrder[mOrderCount];
|
||||
pNewOrder->mEventType = eventType;
|
||||
pNewOrder->mPriority = priority;
|
||||
pNewOrder->mFlag = flag;
|
||||
pNewOrder->mActor1 = (fopAc_ac_c*)ac1;
|
||||
pNewOrder->mActor2 = (fopAc_ac_c*)ac2;
|
||||
pNewOrder->mEventId = eventIdx;
|
||||
pNewOrder->mHindFlag = hindFlag;
|
||||
pNewOrder->mEventInfoIdx = eventInfoIdx;
|
||||
|
||||
if (pNewOrder->mPriority == 0)
|
||||
JUT_ASSERT(0x93, 0);
|
||||
|
||||
if (mOrderCount == 0) {
|
||||
mFirstOrderIdx = 0;
|
||||
pNewOrder->mNextOrderIdx = 0xFF;
|
||||
} else {
|
||||
u32 queueIdx = mFirstOrderIdx;
|
||||
dEvt_order_c* pQueue = &mOrder[queueIdx];
|
||||
if (pNewOrder->mPriority < pQueue->mPriority) {
|
||||
mFirstOrderIdx = mOrderCount;
|
||||
pNewOrder->mNextOrderIdx = queueIdx;
|
||||
} else {
|
||||
while ((queueIdx = pQueue->mNextOrderIdx) < 0xFF) {
|
||||
pQueue = &mOrder[queueIdx];
|
||||
if (pNewOrder->mPriority < pQueue->mPriority)
|
||||
break;
|
||||
}
|
||||
|
||||
pNewOrder->mNextOrderIdx = queueIdx;
|
||||
pQueue->mNextOrderIdx = mOrderCount;
|
||||
}
|
||||
}
|
||||
mOrderCount++;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8007002C-8007015C .text setParam__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::setParam(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
void dEvt_control_c::setParam(dEvt_order_c* order) {
|
||||
dStage_EventInfo_c* stageEventInfo = dComIfGp_getStageEventInfo();
|
||||
mPt1 = getPId(order->mActor1);
|
||||
mPt2 = getPId(order->mActor2);
|
||||
mEventId = order->mEventId;
|
||||
mHindFlag = order->mHindFlag;
|
||||
if (dComIfGp_getPlayer(0) != order->mActor1) {
|
||||
mPtTalk = getPId(order->mActor1);
|
||||
mPtItem = getPId(order->mActor1);
|
||||
} else {
|
||||
mPtTalk = getPId(order->mActor2);
|
||||
mPtItem = getPId(order->mActor2);
|
||||
}
|
||||
|
||||
mEventInfoIdx = order->mEventInfoIdx;
|
||||
|
||||
if (order->mEventInfoIdx == 0xFF || stageEventInfo == NULL || order->mEventInfoIdx >= stageEventInfo->num)
|
||||
field_0xde = 0xFF;
|
||||
else
|
||||
field_0xde = stageEventInfo->events[order->mEventInfoIdx].field_0x10;
|
||||
|
||||
mCullFarClipRatio = 1.0f;
|
||||
mEventFlag = 0;
|
||||
}
|
||||
|
||||
/* 8007015C-8007018C .text beforeFlagProc__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::beforeFlagProc(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::beforeFlagProc(dEvt_order_c* order) {
|
||||
fopAc_ac_c* actor2 = order->mActor2;
|
||||
if ((order->mFlag & dEvtFlag_TALK_e) && !actor2->mEvtInfo.chkCondition(dEvtCnd_CANTALK_e))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8007018C-80070218 .text afterFlagProc__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::afterFlagProc(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::afterFlagProc(dEvt_order_c* order) {
|
||||
if ((order->mFlag & dEvtFlag_NOPARTNER_e))
|
||||
mPt2 = getPId(NULL);
|
||||
|
||||
if ((order->mFlag & dEvtFlag_STAFF_ALL_e))
|
||||
g_dComIfG_gameInfo.play.getEvtManager().issueStaff("ALL");
|
||||
|
||||
if ((order->mFlag & dEvtFlag_UNK8_e))
|
||||
onEventFlag(0x20);
|
||||
}
|
||||
|
||||
/* 80070218-80070290 .text commonCheck__14dEvt_control_cFP12dEvt_order_cUsUs */
|
||||
void dEvt_control_c::commonCheck(dEvt_order_c*, u16, u16) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::commonCheck(dEvt_order_c* order, u16 cond, u16 cmd) {
|
||||
fopAc_ac_c* actor1 = order->mActor1;
|
||||
fopAc_ac_c* actor2 = order->mActor2;
|
||||
if (actor1 != NULL && actor1->mEvtInfo.chkCondition(cond) && actor2 != NULL && actor2->mEvtInfo.chkCondition(cond)) {
|
||||
actor1->mEvtInfo.setCommand(cmd);
|
||||
actor2->mEvtInfo.setCommand(cmd);
|
||||
setParam(order);
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80070290-80070390 .text talkCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::talkCheck(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::talkCheck(dEvt_order_c* order) {
|
||||
const char* defaultEventName = "DEFAULT_TALK";
|
||||
fopAc_ac_c* actor2 = order->mActor2;
|
||||
if (commonCheck(order, dEvtCnd_CANTALK_e, dEvtCmd_INTALK_e)) {
|
||||
mMode = 1;
|
||||
if (mEventId == -1) {
|
||||
if (actor2 != NULL && actor2->mEvtInfo.getEventName() != NULL) {
|
||||
mEventId = actor2->mEvtInfo.getEventId();
|
||||
} else {
|
||||
mEventId = dComIfGp_evmng_getEventIdx(defaultEventName, 0xFF);
|
||||
}
|
||||
}
|
||||
|
||||
if (!dComIfGp_evmng_order(mEventId))
|
||||
JUT_ASSERT(0x145, 0);
|
||||
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80070390-8007055C .text talkXyCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::talkXyCheck(dEvt_order_c*) {
|
||||
BOOL dEvt_control_c::talkXyCheck(dEvt_order_c* order) {
|
||||
/* Nonmatching */
|
||||
const char* defaultEventName = "DEFAULT_TALK_XY";
|
||||
OSReport("DEFAULT_TALK_XY");
|
||||
}
|
||||
|
||||
/* 8007055C-800706D8 .text photoCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::photoCheck(dEvt_order_c*) {
|
||||
BOOL dEvt_control_c::photoCheck(dEvt_order_c* order) {
|
||||
/* Nonmatching */
|
||||
fopAc_ac_c* actor2 = order->mActor2;
|
||||
const char* defaultEventName = "DEFAULT_TALK";
|
||||
|
||||
mbInPhoto = 0;
|
||||
|
||||
if (dComIfGp_getPictureStatus() == 1) {
|
||||
JUT_ASSERT(0x1a5, actor2);
|
||||
if (!commonCheck(order, dEvtCnd_CANTALK_e, dEvtCmd_INTALK_e))
|
||||
return FALSE;
|
||||
|
||||
s16 eventId = actor2->mEvtInfo.runPhotoEventCB(actor2, 0);
|
||||
if (eventId != -1) {
|
||||
mEventId = eventId;
|
||||
} else {
|
||||
mEventId = dComIfGp_evmng_getEventIdx(defaultEventName, 0xFF);
|
||||
}
|
||||
|
||||
if (!dComIfGp_evmng_order(mEventId))
|
||||
JUT_ASSERT(0x1b5, 0);
|
||||
|
||||
mbInPhoto = 1;
|
||||
mMode = 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return dComIfGp_getPictureStatus() ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 800706D8-800707C0 .text catchCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::catchCheck(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::catchCheck(dEvt_order_c* order) {
|
||||
fopAc_ac_c* actor2 = order->mActor2;
|
||||
fopAc_ac_c* actor1 = order->mActor1;
|
||||
|
||||
if (actor1 == NULL || (actor2 != NULL && !actor2->mEvtInfo.chkCondition(dEvtCnd_CANCATCH_e)))
|
||||
return FALSE;
|
||||
|
||||
actor1->mEvtInfo.setCommand(dEvtCmd_INCATCH_e);
|
||||
if (actor2 != NULL)
|
||||
actor2->mEvtInfo.setCommand(dEvtCmd_INCATCH_e);
|
||||
setParam(order);
|
||||
mItemNo = dComIfGp_att_getCatchChgItem();
|
||||
mMode = 2;
|
||||
if (mEventId != -1 && !dComIfGp_evmng_order(mEventId))
|
||||
JUT_ASSERT(0x1e3, 0);
|
||||
onEventFlag(0x80);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800707C0-80070870 .text talkEnd__14dEvt_control_cFv */
|
||||
void dEvt_control_c::talkEnd() {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::talkEnd() {
|
||||
fopAc_ac_c* actor1 = convPId(mPt1);
|
||||
if (actor1 != NULL)
|
||||
actor1->mEvtInfo.setCommand(dEvtCmd_NONE_e);
|
||||
fopAc_ac_c* actor2 = convPId(mPt2);
|
||||
if (actor2 != NULL)
|
||||
actor2->mEvtInfo.setCommand(dEvtCmd_NONE_e);
|
||||
if (mEventId != -1) {
|
||||
g_dComIfG_gameInfo.play.getEvtManager().endProc(mEventId, 1);
|
||||
mEventId = -1;
|
||||
}
|
||||
fopAc_ac_c* itemPartner = fopAcM_getItemEventPartner(NULL);
|
||||
if (itemPartner != NULL && (fopAcM_GetName(itemPartner) == PROC_ITEM || fopAcM_GetName(itemPartner) == PROC_Demo_Item))
|
||||
((daItemBase_c*)itemPartner)->dead();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80070870-800709C0 .text demoCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::demoCheck(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::demoCheck(dEvt_order_c* order) {
|
||||
fopAc_ac_c* actor1 = order->mActor1;
|
||||
fopAc_ac_c* actor2 = order->mActor2;
|
||||
s16 eventId = order->mEventId;
|
||||
|
||||
if (actor2 == NULL) {
|
||||
JUT_ASSERT(0x21f, 0);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!beforeFlagProc(order))
|
||||
return FALSE;
|
||||
|
||||
if (!dComIfGp_evmng_order(eventId))
|
||||
return FALSE;
|
||||
|
||||
if (actor1 != NULL)
|
||||
actor1->mEvtInfo.setCommand(dEvtCmd_INDEMO_e);
|
||||
if (actor2 != NULL)
|
||||
actor2->mEvtInfo.setCommand(dEvtCmd_INDEMO_e);
|
||||
|
||||
mMode = 2;
|
||||
setParam(order);
|
||||
afterFlagProc(order);
|
||||
|
||||
u8 eventEndSound = dComIfGp_evmng_getEventEndSound(eventId);
|
||||
if (eventEndSound != 0 && mEventEndSound == 0) {
|
||||
mEventEndSound = eventEndSound;
|
||||
mDoAud_seStart(JA_SE_READ_RIDDLE_1);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800709C0-80070A64 .text demoEnd__14dEvt_control_cFv */
|
||||
void dEvt_control_c::demoEnd() {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::demoEnd() {
|
||||
fopAc_ac_c* actor1 = convPId(mPt1);
|
||||
if (actor1 != NULL)
|
||||
actor1->mEvtInfo.setCommand(dEvtCmd_NONE_e);
|
||||
fopAc_ac_c* actor2 = convPId(mPt2);
|
||||
if (actor2 != NULL)
|
||||
actor2->mEvtInfo.setCommand(dEvtCmd_NONE_e);
|
||||
if (mEventId != -1) {
|
||||
g_dComIfG_gameInfo.play.getEvtManager().endProc(mEventId, 1);
|
||||
mEventId = -1;
|
||||
}
|
||||
g_dComIfG_gameInfo.play.getEvtManager().cancelStaff("ALL");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80070A64-80070B24 .text potentialCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::potentialCheck(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::potentialCheck(dEvt_order_c* order) {
|
||||
fopAc_ac_c* actor1 = order->mActor1;
|
||||
fopAc_ac_c* actor2 = order->mActor2;
|
||||
if (actor1 == NULL || actor2 == NULL)
|
||||
JUT_ASSERT(0x280, 0);
|
||||
|
||||
if (!beforeFlagProc(order))
|
||||
return FALSE;
|
||||
|
||||
actor1->mEvtInfo.setCommand(dEvtCmd_INDEMO_e);
|
||||
mMode = 2;
|
||||
setParam(order);
|
||||
afterFlagProc(order);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80070B24-80070C54 .text doorCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::doorCheck(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::doorCheck(dEvt_order_c* order) {
|
||||
if (commonCheck(order, dEvtCnd_CANDOOR_e, dEvtCmd_INDOOR_e)) {
|
||||
mMode = 2;
|
||||
fopAc_ac_c* actor2 = convPId(mPt2);
|
||||
if (mEventId == -1 && actor2 != NULL && actor2->mEvtInfo.getEventId() != -1)
|
||||
mEventId = actor2->mEvtInfo.getEventId();
|
||||
if (mEventId != -1 && g_dComIfG_gameInfo.play.getEvtManager().getEventData(mEventId) != NULL) {
|
||||
if (!dComIfGp_evmng_order(mEventId))
|
||||
JUT_ASSERT(0x2c0, 0);
|
||||
} else {
|
||||
mEventId = -1;
|
||||
reset();
|
||||
}
|
||||
|
||||
if (order->mEventType == dEvtType_TREASURE_e)
|
||||
dComIfGp_event_onEventFlag(4);
|
||||
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80070C54-80070D1C .text itemCheck__14dEvt_control_cFP12dEvt_order_c */
|
||||
void dEvt_control_c::itemCheck(dEvt_order_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::itemCheck(dEvt_order_c* order) {
|
||||
const char* defaultEventName = "DEFAULT_GETITEM";
|
||||
if (commonCheck(order, dEvtCnd_CANGETITEM_e, dEvtCmd_INGETITEM_e)) {
|
||||
mMode = 2;
|
||||
mEventId = dComIfGp_evmng_getEventIdx(defaultEventName, 0xFF);
|
||||
if (!dComIfGp_evmng_order(mEventId))
|
||||
JUT_ASSERT(0x2ea, 0);
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80070D1C-80070DD4 .text endProc__14dEvt_control_cFv */
|
||||
void dEvt_control_c::endProc() {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::endProc() {
|
||||
switch (mMode) {
|
||||
case 1:
|
||||
talkEnd();
|
||||
break;
|
||||
case 2:
|
||||
demoEnd();
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
default:
|
||||
JUT_ASSERT(0x315, 0);
|
||||
}
|
||||
|
||||
mMode = 0;
|
||||
field_0xde = 0xFF;
|
||||
mEventInfoIdx = 0xFF;
|
||||
mTalkButton = 0;
|
||||
mbInPhoto = 0;
|
||||
mItemNo = 0xFF;
|
||||
mEventFlag = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80070DD4-80070E1C .text checkChange__14dEvt_control_cFv */
|
||||
void dEvt_control_c::checkChange() {
|
||||
BOOL dEvt_control_c::checkChange() {
|
||||
/* Nonmatching */
|
||||
if (mOrderCount != 0) {
|
||||
s8 idx = mFirstOrderIdx;
|
||||
while (true) {
|
||||
s8 nextIdx = mOrder[idx].mNextOrderIdx;
|
||||
if ((s32)mOrder[idx].mEventType == dEvtType_CHANGE_e)
|
||||
return TRUE;
|
||||
|
||||
idx = nextIdx;
|
||||
if (idx < 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 80070E1C-80070EA8 .text changeProc__14dEvt_control_cFv */
|
||||
void dEvt_control_c::changeProc() {
|
||||
BOOL dEvt_control_c::changeProc() {
|
||||
/* Nonmatching */
|
||||
if (mOrderCount != 0) {
|
||||
mOrderCount = 0;
|
||||
s8 idx = mFirstOrderIdx;
|
||||
while (true) {
|
||||
s8 nextIdx = mOrder[idx].mNextOrderIdx;
|
||||
if ((s32)mOrder[idx].mEventType == dEvtType_CHANGE_e && demoCheck(&mOrder[idx]))
|
||||
return TRUE;
|
||||
|
||||
idx = nextIdx;
|
||||
if (idx < 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 80070EA8-80071020 .text checkStart__14dEvt_control_cFv */
|
||||
void dEvt_control_c::checkStart() {
|
||||
BOOL dEvt_control_c::checkStart() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 80071020-80071048 .text soundProc__14dEvt_control_cFv */
|
||||
void dEvt_control_c::soundProc() {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::soundProc() {
|
||||
if (mEventEndSound != 0 && mMode != 2)
|
||||
mEventEndSound = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80071048-80071140 .text check__14dEvt_control_cFv */
|
||||
void dEvt_control_c::check() {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::check() {
|
||||
field_0xdb = 0;
|
||||
field_0xdc = mOrderCount;
|
||||
|
||||
if (chkEventFlag(8)) {
|
||||
mbEndProc = 1;
|
||||
offEventFlag(8);
|
||||
}
|
||||
|
||||
if (runCheck() && mbEndProc == 1) {
|
||||
mbEndProc = 0;
|
||||
endProc();
|
||||
}
|
||||
|
||||
if (checkChange()) {
|
||||
if (runCheck()) {
|
||||
mbEndProc = 0;
|
||||
endProc();
|
||||
}
|
||||
|
||||
changeProc();
|
||||
}
|
||||
|
||||
if (!runCheck() && checkStart())
|
||||
g_dComIfG_gameInfo.play.getVibration().StopQuake(-1);
|
||||
|
||||
soundProc();
|
||||
mOrderCount = 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 80071140-80071270 .text photoCheck__14dEvt_control_cFv */
|
||||
void dEvt_control_c::photoCheck() {
|
||||
BOOL dEvt_control_c::photoCheck() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 80071270-80071418 .text moveApproval__14dEvt_control_cFPv */
|
||||
s32 dEvt_control_c::moveApproval(void*) {
|
||||
s32 dEvt_control_c::moveApproval(void* actor) {
|
||||
/* Nonmatching */
|
||||
fopAc_ac_c* i_ac = (fopAc_ac_c*)actor;
|
||||
if (mMode == 0)
|
||||
return dEvtMove_MOVE_e;
|
||||
|
||||
switch (mMode) {
|
||||
case 1:
|
||||
if (convPId(mPt1) == i_ac || convPId(mPt2) == i_ac)
|
||||
return dEvtMove_FORCE_e;
|
||||
break;
|
||||
case 2:
|
||||
if (convPId(mPt1) == i_ac || convPId(mPt2) == i_ac)
|
||||
return dEvtMove_FORCE_e;
|
||||
if (i_ac->mDemoActorId != 0)
|
||||
return dEvtMove_FORCE_e;
|
||||
break;
|
||||
case 3:
|
||||
if (convPId(mPt1) == i_ac)
|
||||
return dEvtMove_FORCE_e;
|
||||
break;
|
||||
}
|
||||
|
||||
if (fopAcM_checkStatus(i_ac, fopAcStts_FORCEMOVE_e))
|
||||
return dEvtMove_FORCE_e;
|
||||
|
||||
if (mMode == 1 && fopAcM_checkStatus(i_ac, fopAcStts_UNK40_e))
|
||||
return dEvtMove_MOVE_e;
|
||||
if (dComIfGp_demo_mode() == 1)
|
||||
return dEvtMove_MOVE_e;
|
||||
if (fopAcM_checkStatus(i_ac, fopAcStts_UNK800_e))
|
||||
return dEvtMove_MOVE_e;
|
||||
if ((g_dComIfG_gameInfo.play.getEvent().mMode == 3 || g_dComIfG_gameInfo.play.getEvent().mMode == 1) && fopAcM_checkStatus(i_ac, fopAcStts_BOSS_e))
|
||||
return dEvtMove_NOMOVE_e;
|
||||
if (chkEventFlag(0x80) && fopAcM_checkStatus(i_ac, fopAcStts_BOSS_e))
|
||||
return dEvtMove_NOMOVE_e;
|
||||
if (fopAcM_checkStatus(i_ac, fopAcStts_UNK4000_e))
|
||||
return dEvtMove_MOVE_e;
|
||||
return fopAcM_checkStatus(i_ac, fopAcStts_CARRY_e) ? dEvtMove_MOVE_e : dEvtMove_NOMOVE_e;
|
||||
}
|
||||
|
||||
/* 80071418-80071468 .text compulsory__14dEvt_control_cFPvPCcUs */
|
||||
BOOL dEvt_control_c::compulsory(void*, const char*, u16) {
|
||||
/* Nonmatching */
|
||||
BOOL dEvt_control_c::compulsory(void* actor, const char* eventName, u16 p3) {
|
||||
if (mMode != 0)
|
||||
return FALSE;
|
||||
|
||||
return orderOld(dEvtType_COMPULSORY_e, 1, 0, p3, actor, NULL, eventName);
|
||||
}
|
||||
|
||||
/* 80071468-800714AC .text remove__14dEvt_control_cFv */
|
||||
void dEvt_control_c::remove() {
|
||||
/* Nonmatching */
|
||||
mMode = 0;
|
||||
mbEndProc = 0;
|
||||
mOrderCount = 0;
|
||||
@@ -151,7 +512,7 @@ void dEvt_control_c::remove() {
|
||||
field_0xdb = 0;
|
||||
mCullFarClipRatio = 0.0f;
|
||||
field_0xde = 0xff;
|
||||
field_0xdf = 0xff;
|
||||
mEventInfoIdx = 0xff;
|
||||
mTalkButton = 0;
|
||||
mbInPhoto = 0;
|
||||
mItemNo = 0xff;
|
||||
@@ -159,33 +520,49 @@ void dEvt_control_c::remove() {
|
||||
}
|
||||
|
||||
/* 800714AC-80071534 .text getStageEventDt__14dEvt_control_cFv */
|
||||
void dEvt_control_c::getStageEventDt() {
|
||||
/* Nonmatching */
|
||||
dStage_Event_dt_c* dEvt_control_c::getStageEventDt() {
|
||||
dStage_EventInfo_c* stageEventInfo = dComIfGp_getStageEventInfo();
|
||||
if (mMode == 0)
|
||||
return NULL;
|
||||
|
||||
if (stageEventInfo == NULL || mEventInfoIdx == 0xFF || mEventInfoIdx >= stageEventInfo->num)
|
||||
return NULL;
|
||||
|
||||
return &stageEventInfo->events[mEventInfoIdx];
|
||||
}
|
||||
|
||||
/* 80071534-800715B8 .text nextStageEventDt__14dEvt_control_cFPv */
|
||||
void dEvt_control_c::nextStageEventDt(void*) {
|
||||
/* Nonmatching */
|
||||
dStage_Event_dt_c* dEvt_control_c::nextStageEventDt(void* idxp) {
|
||||
dStage_EventInfo_c* stageEventInfo = dComIfGp_getStageEventInfo();
|
||||
if (idxp == NULL)
|
||||
return NULL;
|
||||
|
||||
if (stageEventInfo == NULL || *(u8*)idxp == 0xFF || *(u8*)idxp >= stageEventInfo->num)
|
||||
return NULL;
|
||||
|
||||
return &stageEventInfo->events[*(u8*)idxp];
|
||||
}
|
||||
|
||||
/* 800715B8-800715DC .text getPId__14dEvt_control_cFPv */
|
||||
int dEvt_control_c::getPId(void*) {
|
||||
/* Nonmatching */
|
||||
int dEvt_control_c::getPId(void* ac) {
|
||||
if (ac == NULL)
|
||||
return -1;
|
||||
return fpcM_GetID(ac);
|
||||
}
|
||||
|
||||
/* 800715DC-8007160C .text convPId__14dEvt_control_cFUi */
|
||||
fopAc_ac_c* dEvt_control_c::convPId(unsigned int) {
|
||||
/* Nonmatching */
|
||||
fopAc_ac_c* dEvt_control_c::convPId(unsigned int pid) {
|
||||
return fopAcM_SearchByID(pid);
|
||||
}
|
||||
|
||||
/* 8007160C-80071618 .text getTactFreeMStick__14dEvt_control_cFi */
|
||||
void dEvt_control_c::getTactFreeMStick(int) {
|
||||
/* Nonmatching */
|
||||
u8 dEvt_control_c::getTactFreeMStick(int which) {
|
||||
return mTactFreeMStick[which];
|
||||
}
|
||||
|
||||
/* 80071618-80071624 .text getTactFreeCStick__14dEvt_control_cFi */
|
||||
void dEvt_control_c::getTactFreeCStick(int) {
|
||||
/* Nonmatching */
|
||||
u8 dEvt_control_c::getTactFreeCStick(int which) {
|
||||
return mTactFreeCStick[which];
|
||||
}
|
||||
|
||||
/* 80071624-80071658 .text __ct__11dEvt_info_cFv */
|
||||
@@ -199,16 +576,34 @@ dEvt_info_c::dEvt_info_c() {
|
||||
}
|
||||
|
||||
/* 80071658-800716AC .text setEventName__11dEvt_info_cFPc */
|
||||
void dEvt_info_c::setEventName(char*) {
|
||||
/* Nonmatching */
|
||||
void dEvt_info_c::setEventName(char* evtName) {
|
||||
if (evtName == NULL) {
|
||||
mEventId = -1;
|
||||
} else {
|
||||
mEventId = dComIfGp_evmng_getEventIdx(evtName, -1);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800716AC-800716F8 .text getEventName__11dEvt_info_cFv */
|
||||
char* dEvt_info_c::getEventName() {
|
||||
/* Nonmatching */
|
||||
if (mEventId == -1) {
|
||||
return NULL;
|
||||
} else {
|
||||
dEvDtEvent_c* evtData = g_dComIfG_gameInfo.play.getEvtManager().getEventData(mEventId);
|
||||
if (evtData == NULL)
|
||||
return NULL;
|
||||
return evtData->getName();
|
||||
}
|
||||
}
|
||||
|
||||
/* 800716F8-80071778 .text giveItemCut__14dEvt_control_cFUc */
|
||||
void dEvt_control_c::giveItemCut(u8) {
|
||||
bool dEvt_control_c::giveItemCut(u8 item) {
|
||||
/* Nonmatching */
|
||||
s32 staffIdx = dComIfGp_evmng_getMyStaffId("GIVEMAN");
|
||||
if (staffIdx == -1)
|
||||
return false;
|
||||
|
||||
dComIfGp_evmng_cutEnd(staffIdx);
|
||||
mGetItemNo = staffIdx;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ s16 dEvent_manager_c::getEventIdx(const char*, u8) {
|
||||
}
|
||||
|
||||
/* 800744AC-800744E8 .text order__16dEvent_manager_cFs */
|
||||
void dEvent_manager_c::order(s16) {
|
||||
BOOL dEvent_manager_c::order(s16) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ u16 dEvent_manager_c::getEventPrio(s16) {
|
||||
}
|
||||
|
||||
/* 80074BB0-80074BE4 .text getEventEndSound__16dEvent_manager_cFs */
|
||||
void dEvent_manager_c::getEventEndSound(s16) {
|
||||
u8 dEvent_manager_c::getEventEndSound(s16) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ s32 fopAc_Draw(void* pProc) {
|
||||
|
||||
if (
|
||||
(
|
||||
moveApproval == 2
|
||||
moveApproval == dEvtMove_FORCE_e
|
||||
|| (
|
||||
!fopAcM_checkStatus(actor, fopAc_ac_c::getStopStatus())
|
||||
&& !(
|
||||
@@ -84,10 +84,10 @@ s32 fopAc_Execute(void* pProc) {
|
||||
|
||||
if (
|
||||
(
|
||||
moveApproval == 2
|
||||
moveApproval == dEvtMove_FORCE_e
|
||||
|| (
|
||||
(
|
||||
moveApproval != 0
|
||||
moveApproval != dEvtMove_NOMOVE_e
|
||||
&& !fopAcM_checkStatus(actor, fopAc_ac_c::getStopStatus())
|
||||
)
|
||||
&& (
|
||||
|
||||
Reference in New Issue
Block a user