mirror of
https://github.com/zeldaret/tp
synced 2026-09-07 03:10:11 -04:00
j2d / map_path work, d_drawlist / d_attention cleanup (#208)
* work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress * finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data * rename more data * remove asm / progress * match all of d_pane_class * fixes / some dKankyo doc * bunch of j2d work. d_drawlist / d_attention cleanup * progress / asm * cleanup wip * decompile JStage * setup some more JStudio structs * set up d_demo classes * some d_demo work * cleanup dolphin os stuff * some initial dEvent documentation * some At collision documentation * match JUTConsole::doDraw * dbgs work / split up some of d_a_alink into .inc files * d_a_alink_spinner work
This commit is contained in:
+148
-111
@@ -21,8 +21,6 @@
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static bool func_80041480();
|
||||
extern "C" static void func_80041488();
|
||||
extern "C" void __ct__14dEvt_control_cFv();
|
||||
extern "C" void __ct__12dEvt_order_cFv();
|
||||
extern "C" void orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv();
|
||||
@@ -149,13 +147,14 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
/* 80041480-80041488 03BDC0 0008+00 1/1 0/0 0/0 .text event_debug_evnt__21@unnamed@d_event_cpp@Fv
|
||||
*/
|
||||
static bool func_80041480() {
|
||||
namespace {
|
||||
static bool event_debug_evnt() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80041488-80041580 03BDC8 00F8+00 1/1 0/0 0/0 .text
|
||||
* clear_tmpflag_for_message__21@unnamed@d_event_cpp@Fv */
|
||||
static void func_80041488() {
|
||||
static void clear_tmpflag_for_message() {
|
||||
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[11]);
|
||||
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[12]);
|
||||
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[13]);
|
||||
@@ -167,32 +166,31 @@ static void func_80041488() {
|
||||
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[54]);
|
||||
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[55]);
|
||||
}
|
||||
}; // namespace
|
||||
|
||||
dEvt_control_c::dEvt_control_c() {
|
||||
remove();
|
||||
}
|
||||
|
||||
dEvt_order_c::dEvt_order_c() {
|
||||
/* empty function */
|
||||
}
|
||||
dEvt_order_c::dEvt_order_c() {}
|
||||
|
||||
/* 800415D8-80041668 03BF18 0090+00 1/1 0/0 0/0 .text orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv
|
||||
*/
|
||||
s32 dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4,
|
||||
void* param_5, void const* param_6) {
|
||||
int eventIdx = i_dComIfGp_getEventManager().getEventIdx((char*)param_6, -1, -1);
|
||||
return order(param_0, param_1, param_2, param_3, param_4, param_5, eventIdx, -1);
|
||||
s32 dEvt_control_c::orderOld(u16 eventType, u16 priority, u16 flag, u16 hind, void* param_4,
|
||||
void* param_5, void const* eventName) {
|
||||
int eventIdx = i_dComIfGp_getEventManager().getEventIdx((char*)eventName, -1, -1);
|
||||
return order(eventType, priority, flag, hind, param_4, param_5, eventIdx, -1);
|
||||
}
|
||||
|
||||
/* 80041668-80041804 03BFA8 019C+00 3/3 13/13 0/0 .text order__14dEvt_control_cFUsUsUsUsPvPvsUc */
|
||||
s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4,
|
||||
s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 hind, void* param_4,
|
||||
void* param_5, s16 eventID, u8 infoIdx) {
|
||||
if (!(flag & 0x400) && infoIdx != 0xFF) {
|
||||
int roomNo = dComIfGp_roomControl_getStayNo();
|
||||
dStage_MapEvent_dt_c* data = searchMapEventData(infoIdx, roomNo);
|
||||
|
||||
if (data != NULL && data->field_0x1B != 0xFF) {
|
||||
if (dComIfGs_isSwitch(data->field_0x1B, roomNo)) {
|
||||
if (data != NULL && data->mSwitch != 0xFF) {
|
||||
if (dComIfGs_isSwitch(data->mSwitch, roomNo)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -209,7 +207,7 @@ s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, vo
|
||||
order->mActor1 = (fopAc_ac_c*)param_4;
|
||||
order->mActor2 = (fopAc_ac_c*)param_5;
|
||||
order->mEventId = eventID;
|
||||
order->field_0x04 = param_3;
|
||||
order->mHindFlag = hind;
|
||||
order->mEventInfoIdx = infoIdx;
|
||||
|
||||
if (order->mPriority == 0) {
|
||||
@@ -217,27 +215,27 @@ s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, vo
|
||||
}
|
||||
|
||||
if (mNum == 0) {
|
||||
field_0xe3 = 0;
|
||||
mOrderIdx = 0;
|
||||
order->mNextOrderIdx = -1;
|
||||
} else {
|
||||
dEvt_order_c* order2;
|
||||
int tmp_e3 = field_0xe3;
|
||||
order2 = &mOrder[tmp_e3];
|
||||
dEvt_order_c* curOrder;
|
||||
int curOrderIdx = mOrderIdx;
|
||||
curOrder = &mOrder[curOrderIdx];
|
||||
|
||||
if (order->mPriority < order2->mPriority) {
|
||||
field_0xe3 = mNum;
|
||||
order->mNextOrderIdx = tmp_e3;
|
||||
if (order->mPriority < curOrder->mPriority) {
|
||||
mOrderIdx = mNum;
|
||||
order->mNextOrderIdx = curOrderIdx;
|
||||
} else {
|
||||
while (order2->mNextOrderIdx >= 0) {
|
||||
if (order->mPriority < mOrder[order2->mNextOrderIdx].mPriority) {
|
||||
while (curOrder->mNextOrderIdx >= 0) {
|
||||
if (order->mPriority < mOrder[curOrder->mNextOrderIdx].mPriority) {
|
||||
break;
|
||||
}
|
||||
int nextOrderIdx = order2->mNextOrderIdx;
|
||||
order2 = &mOrder[nextOrderIdx];
|
||||
int nextOrderIdx = curOrder->mNextOrderIdx;
|
||||
curOrder = &mOrder[nextOrderIdx];
|
||||
}
|
||||
|
||||
order->mNextOrderIdx = order2->mNextOrderIdx;
|
||||
order2->mNextOrderIdx = mNum;
|
||||
order->mNextOrderIdx = curOrder->mNextOrderIdx;
|
||||
curOrder->mNextOrderIdx = mNum;
|
||||
}
|
||||
}
|
||||
mNum++;
|
||||
@@ -252,7 +250,7 @@ void dEvt_control_c::setParam(dEvt_order_c* p_order) {
|
||||
setPt2(p_order->mActor2);
|
||||
|
||||
mSpecifiedEvent = p_order->mEventId;
|
||||
mHindFlag = p_order->field_0x04;
|
||||
mHindFlag = p_order->mHindFlag;
|
||||
|
||||
if (dComIfGp_getPlayer(0) != p_order->mActor1) {
|
||||
setPtT(p_order->mActor1);
|
||||
@@ -273,8 +271,8 @@ void dEvt_control_c::setParam(dEvt_order_c* p_order) {
|
||||
if (data != NULL) {
|
||||
field_0xea = data->field_0x16;
|
||||
|
||||
if (data->field_0x1B != 0xFF) {
|
||||
dComIfGs_onSwitch(data->field_0x1B, roomNo);
|
||||
if (data->mSwitch != 0xFF) {
|
||||
dComIfGs_onSwitch(data->mSwitch, roomNo);
|
||||
}
|
||||
|
||||
if (p_order->mFlag & 0x300) {
|
||||
@@ -283,7 +281,7 @@ void dEvt_control_c::setParam(dEvt_order_c* p_order) {
|
||||
}
|
||||
|
||||
if (!(p_order->mFlag & 0x200)) {
|
||||
field_0xe0 = p_order->mEventId;
|
||||
mEventID = p_order->mEventId;
|
||||
}
|
||||
|
||||
mCullRate = 1.0f;
|
||||
@@ -319,14 +317,14 @@ void dEvt_control_c::afterFlagProc(dEvt_order_c* p_order) {
|
||||
|
||||
/* 800419A8-80041A20 03C2E8 0078+00 4/4 0/0 0/0 .text
|
||||
* commonCheck__14dEvt_control_cFP12dEvt_order_cUsUs */
|
||||
int dEvt_control_c::commonCheck(dEvt_order_c* p_order, u16 param_1, u16 param_2) {
|
||||
int dEvt_control_c::commonCheck(dEvt_order_c* p_order, u16 condition, u16 command) {
|
||||
fopAc_ac_c* actor1 = p_order->mActor1;
|
||||
fopAc_ac_c* actor2 = p_order->mActor2;
|
||||
|
||||
if ((actor1 != NULL && actor1->mEvtInfo.chkCondition(param_1)) &&
|
||||
(actor2 != NULL && actor2->mEvtInfo.chkCondition(param_1))) {
|
||||
actor1->mEvtInfo.setCommand(param_2);
|
||||
actor2->mEvtInfo.setCommand(param_2);
|
||||
if ((actor1 != NULL && actor1->mEvtInfo.chkCondition(condition)) &&
|
||||
(actor2 != NULL && actor2->mEvtInfo.chkCondition(condition))) {
|
||||
actor1->mEvtInfo.setCommand(command);
|
||||
actor2->mEvtInfo.setCommand(command);
|
||||
setParam(p_order);
|
||||
return 1;
|
||||
}
|
||||
@@ -357,13 +355,14 @@ int dEvt_control_c::talkCheck(dEvt_order_c* p_order) {
|
||||
event = "MHINT_TALK";
|
||||
}
|
||||
}
|
||||
|
||||
if (commonCheck(p_order, 1, 1)) {
|
||||
mMode = 1;
|
||||
mMode = EVT_MODE_TALK;
|
||||
if (mSpecifiedEvent == -1) {
|
||||
if (actor != NULL && actor->mEvtInfo.getEventName() != NULL) {
|
||||
mSpecifiedEvent = actor->mEvtInfo.getEventId();
|
||||
} else {
|
||||
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, UINT32_MAX);
|
||||
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, -1);
|
||||
}
|
||||
}
|
||||
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
|
||||
@@ -395,30 +394,34 @@ SECTION_DEAD static char const* const stringBase_80379DA3 = "DEFAULT_TALK_XY";
|
||||
int dEvt_control_c::talkXyCheck(dEvt_order_c* p_order) {
|
||||
const char* event = "DEFAULT_TALK_XY";
|
||||
fopAc_ac_c* pActor2 = p_order->mActor2;
|
||||
int iVar5;
|
||||
|
||||
int itemIndex;
|
||||
switch (p_order->mEventType) {
|
||||
case 6:
|
||||
iVar5 = 0;
|
||||
case EVT_TYPE_SHOWITEM_X:
|
||||
itemIndex = SELECT_ITEM_X;
|
||||
field_0xed = 1;
|
||||
break;
|
||||
case 7:
|
||||
case EVT_TYPE_SHOWITEM_Y:
|
||||
field_0xed = 2;
|
||||
iVar5 = 1;
|
||||
itemIndex = SELECT_ITEM_Y;
|
||||
break;
|
||||
default:
|
||||
field_0xed = 0;
|
||||
return 0;
|
||||
}
|
||||
if (dComIfGp_getSelectItem(iVar5) == 0xFF) {
|
||||
|
||||
if (dComIfGp_getSelectItem(itemIndex) == NO_ITEM) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (pActor2 == NULL || !pActor2->mEvtInfo.chkCondition(0x20)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (commonCheck(p_order, 1, 1)) {
|
||||
mMode = 1;
|
||||
mPreItemNo = dComIfGp_getSelectItem(iVar5);
|
||||
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, UINT32_MAX);
|
||||
mMode = EVT_MODE_TALK;
|
||||
mPreItemNo = dComIfGp_getSelectItem(itemIndex);
|
||||
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, -1);
|
||||
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
|
||||
return 1;
|
||||
} else {
|
||||
@@ -435,13 +438,16 @@ int dEvt_control_c::catchCheck(dEvt_order_c* p_order) {
|
||||
if (actor1 == NULL || (actor2 != NULL && !actor2->mEvtInfo.chkCondition(0x40))) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
actor1->mEvtInfo.setCommand(6);
|
||||
if (actor2 != NULL) {
|
||||
actor2->mEvtInfo.setCommand(6);
|
||||
}
|
||||
|
||||
setParam(p_order);
|
||||
mPreItemNo = dComIfGp_att_getCatchChgItem();
|
||||
mMode = 2;
|
||||
mMode = EVT_MODE_DEMO;
|
||||
|
||||
if (mSpecifiedEvent != -1) {
|
||||
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
|
||||
}
|
||||
@@ -454,14 +460,17 @@ int dEvt_control_c::talkEnd() {
|
||||
if (actor != NULL) {
|
||||
actor->mEvtInfo.setCommand(0);
|
||||
}
|
||||
|
||||
actor = (fopAc_ac_c*)getPt2();
|
||||
if (actor != NULL) {
|
||||
actor->mEvtInfo.setCommand(0);
|
||||
}
|
||||
|
||||
if (mSpecifiedEvent != -1) {
|
||||
i_dComIfGp_getEventManager().endProc(mSpecifiedEvent, 1);
|
||||
mSpecifiedEvent = -1;
|
||||
}
|
||||
|
||||
daItemBase_c* item = (daItemBase_c*)fopAcM_getItemEventPartner(NULL);
|
||||
if (item != NULL && fopAcM_GetName(item) == PROC_ITEM) {
|
||||
item->dead();
|
||||
@@ -475,33 +484,42 @@ int dEvt_control_c::demoCheck(dEvt_order_c* p_order) {
|
||||
fopAc_ac_c* actor1 = p_order->mActor1;
|
||||
fopAc_ac_c* actor2 = p_order->mActor2;
|
||||
int eventId = p_order->mEventId;
|
||||
|
||||
if (actor2 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!(p_order->mFlag & 0x10)) {
|
||||
if (actor1 != NULL && !actor1->mEvtInfo.chkCondition(2)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (actor2 != NULL && !actor2->mEvtInfo.chkCondition(2)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (!beforeFlagProc(p_order)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (actor1 != NULL) {
|
||||
i_dComIfGp_getEventManager().setObjectArchive(actor1->mEvtInfo.getArchiveName());
|
||||
}
|
||||
|
||||
if (!i_dComIfGp_getEventManager().order(eventId)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (actor1 != NULL) {
|
||||
actor1->mEvtInfo.setCommand(2);
|
||||
}
|
||||
|
||||
if (actor2 != NULL) {
|
||||
actor2->mEvtInfo.setCommand(2);
|
||||
}
|
||||
mMode = 2;
|
||||
|
||||
mMode = EVT_MODE_DEMO;
|
||||
setParam(p_order);
|
||||
afterFlagProc(p_order);
|
||||
return 1;
|
||||
@@ -513,10 +531,12 @@ int dEvt_control_c::demoEnd() {
|
||||
if (actor != NULL) {
|
||||
actor->mEvtInfo.setCommand(0);
|
||||
}
|
||||
|
||||
actor = (fopAc_ac_c*)getPt2();
|
||||
if (actor != NULL) {
|
||||
actor->mEvtInfo.setCommand(0);
|
||||
}
|
||||
|
||||
if (mSpecifiedEvent != -1) {
|
||||
i_dComIfGp_getEventManager().endProc(mSpecifiedEvent, 1);
|
||||
mSpecifiedEvent = -1;
|
||||
@@ -531,7 +551,7 @@ int dEvt_control_c::potentialCheck(dEvt_order_c* p_order) {
|
||||
return 0;
|
||||
} else {
|
||||
actor->mEvtInfo.setCommand(2);
|
||||
mMode = 2;
|
||||
mMode = EVT_MODE_DEMO;
|
||||
setParam(p_order);
|
||||
afterFlagProc(p_order);
|
||||
return 1;
|
||||
@@ -542,14 +562,17 @@ int dEvt_control_c::potentialCheck(dEvt_order_c* p_order) {
|
||||
*/
|
||||
int dEvt_control_c::doorCheck(dEvt_order_c* p_order) {
|
||||
if (commonCheck(p_order, 4, 3)) {
|
||||
mMode = 2;
|
||||
mMode = EVT_MODE_DEMO;
|
||||
|
||||
fopAc_ac_c* actor2 = (fopAc_ac_c*)getPt2();
|
||||
if (actor2 != NULL) {
|
||||
i_dComIfGp_getEventManager().setObjectArchive(actor2->mEvtInfo.getArchiveName());
|
||||
}
|
||||
|
||||
if (mSpecifiedEvent == -1 && actor2 != NULL && actor2->mEvtInfo.getEventId() != -1) {
|
||||
mSpecifiedEvent = actor2->mEvtInfo.getEventId();
|
||||
}
|
||||
|
||||
if (mSpecifiedEvent != -1 &&
|
||||
i_dComIfGp_getEventManager().getEventData(mSpecifiedEvent) != NULL) {
|
||||
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
|
||||
@@ -557,11 +580,13 @@ int dEvt_control_c::doorCheck(dEvt_order_c* p_order) {
|
||||
mSpecifiedEvent = -1;
|
||||
reset();
|
||||
}
|
||||
if (p_order->mEventType == 0xB) {
|
||||
|
||||
if (p_order->mEventType == EVT_TYPE_TREASURE) {
|
||||
onEventFlag(4);
|
||||
} else {
|
||||
onEventFlag(0x40);
|
||||
}
|
||||
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -574,7 +599,7 @@ int dEvt_control_c::itemCheck(dEvt_order_c* p_order) {
|
||||
const char* event = "DEFAULT_GETITEM";
|
||||
|
||||
if (commonCheck(p_order, 8, 4)) {
|
||||
mMode = 2;
|
||||
mMode = EVT_MODE_DEMO;
|
||||
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, -1, -1);
|
||||
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
|
||||
return 1;
|
||||
@@ -584,27 +609,26 @@ int dEvt_control_c::itemCheck(dEvt_order_c* p_order) {
|
||||
}
|
||||
|
||||
/* 800421C0-80042254 03CB00 0094+00 1/1 0/0 0/0 .text endProc__14dEvt_control_cFv */
|
||||
// missing extra branch
|
||||
int dEvt_control_c::endProc() {
|
||||
switch (mMode) {
|
||||
case 1:
|
||||
case EVT_MODE_TALK:
|
||||
talkEnd();
|
||||
break;
|
||||
case 2:
|
||||
case EVT_MODE_DEMO:
|
||||
demoEnd();
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
}
|
||||
|
||||
mMode = 0;
|
||||
mMode = EVT_MODE_NONE;
|
||||
field_0xea = 255;
|
||||
mMapToolId = 255;
|
||||
mStageEventDt = NULL;
|
||||
field_0xec = 255;
|
||||
field_0xed = 0;
|
||||
field_0xe0 = 255;
|
||||
mPreItemNo = 255;
|
||||
mEventID = 255;
|
||||
mPreItemNo = NO_ITEM;
|
||||
i_dComIfGp_getEventManager().setStartDemo(-2);
|
||||
return 1;
|
||||
}
|
||||
@@ -612,22 +636,22 @@ int dEvt_control_c::endProc() {
|
||||
/* 80042254-800422C0 03CB94 006C+00 1/1 0/0 0/0 .text change__14dEvt_control_cFv */
|
||||
int dEvt_control_c::change() {
|
||||
dEvt_order_c* order;
|
||||
s8 var_r7;
|
||||
s8 curOrderIdx;
|
||||
if (mNum != 0) {
|
||||
var_r7 = field_0xe3;
|
||||
curOrderIdx = mOrderIdx;
|
||||
|
||||
do {
|
||||
order = &mOrder[var_r7];
|
||||
order = &mOrder[curOrderIdx];
|
||||
|
||||
if (order->mFlag & 0xE00 && order->mActor1 == mChangeOK) {
|
||||
field_0xe3 = var_r7;
|
||||
mOrderIdx = curOrderIdx;
|
||||
mNum = 1;
|
||||
order->mNextOrderIdx = -1;
|
||||
return var_r7;
|
||||
return curOrderIdx;
|
||||
}
|
||||
|
||||
var_r7 = order->mNextOrderIdx;
|
||||
} while (var_r7 >= 0);
|
||||
curOrderIdx = order->mNextOrderIdx;
|
||||
} while (curOrderIdx >= 0);
|
||||
}
|
||||
|
||||
return -1;
|
||||
@@ -636,7 +660,7 @@ int dEvt_control_c::change() {
|
||||
/* 800422C0-80042468 03CC00 01A8+00 2/1 0/0 0/0 .text entry__14dEvt_control_cFv */
|
||||
int dEvt_control_c::entry() {
|
||||
if (mNum != 0) {
|
||||
s8 orderIdx = field_0xe3;
|
||||
s8 orderIdx = mOrderIdx;
|
||||
mNum = 0;
|
||||
|
||||
do {
|
||||
@@ -644,43 +668,43 @@ int dEvt_control_c::entry() {
|
||||
orderIdx = order->mNextOrderIdx;
|
||||
|
||||
switch (order->mEventType) {
|
||||
case 0:
|
||||
case EVT_TYPE_TALK:
|
||||
if (i_dComIfGs_getLife() != 0 && talkCheck(order) != 0) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case EVT_TYPE_OTHER:
|
||||
if (i_dComIfGs_getLife() != 0 && demoCheck(order) != 0) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 11:
|
||||
case EVT_TYPE_DOOR:
|
||||
case EVT_TYPE_TREASURE:
|
||||
if (i_dComIfGs_getLife() != 0 && doorCheck(order) != 0) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
case EVT_TYPE_COMPULSORY:
|
||||
mMode = 3;
|
||||
setParam(order);
|
||||
return 1;
|
||||
case 4:
|
||||
case EVT_TYPE_POTENTIAL:
|
||||
if (i_dComIfGs_getLife() != 0 && potentialCheck(order) != 0) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
case EVT_TYPE_ITEM:
|
||||
if (i_dComIfGs_getLife() != 0 && itemCheck(order) != 0) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
case EVT_TYPE_SHOWITEM_X:
|
||||
case EVT_TYPE_SHOWITEM_Y:
|
||||
if (i_dComIfGs_getLife() != 0 && talkXyCheck(order) != 0) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
case EVT_TYPE_CATCH:
|
||||
if (i_dComIfGs_getLife() != 0 && catchCheck(order) != 0) {
|
||||
return 1;
|
||||
}
|
||||
@@ -701,7 +725,7 @@ void dEvt_control_c::reset() {
|
||||
s16 eventIdx = i_dComIfGp_getEventManager().getEventIdx(NULL, field_0xec, -1);
|
||||
void* pt2 = getPt2();
|
||||
|
||||
order(2, 3, 0x201, mHindFlag, pt1, pt2, eventIdx, field_0xec);
|
||||
order(EVT_TYPE_OTHER, 3, 0x201, mHindFlag, pt1, pt2, eventIdx, field_0xec);
|
||||
mChangeOK = pt1;
|
||||
}
|
||||
|
||||
@@ -713,7 +737,7 @@ void dEvt_control_c::reset(void* param_0) {
|
||||
if (field_0xec != 0xFF) {
|
||||
s16 eventIdx = i_dComIfGp_getEventManager().getEventIdx((fopAc_ac_c*)param_0, field_0xec);
|
||||
void* pt2 = getPt2();
|
||||
order(2, 3, 0x201, mHindFlag, param_0, pt2, eventIdx, field_0xec);
|
||||
order(EVT_TYPE_OTHER, 3, 0x201, mHindFlag, param_0, pt2, eventIdx, field_0xec);
|
||||
}
|
||||
|
||||
mChangeOK = param_0;
|
||||
@@ -985,7 +1009,7 @@ int dEvt_control_c::Step() {
|
||||
mDoGph_gInf_c::fadeOut(-0.05f);
|
||||
}
|
||||
offFlag2(2);
|
||||
func_80041488();
|
||||
clear_tmpflag_for_message();
|
||||
}
|
||||
|
||||
endProc();
|
||||
@@ -995,7 +1019,7 @@ int dEvt_control_c::Step() {
|
||||
}
|
||||
mEventStatus = 2;
|
||||
} else if (mEventStatus == 5 && (chkFlag2(2) || mSkipTimer < 0)) {
|
||||
func_80041488();
|
||||
clear_tmpflag_for_message();
|
||||
}
|
||||
|
||||
if (change() != -1) {
|
||||
@@ -1013,7 +1037,7 @@ int dEvt_control_c::Step() {
|
||||
|
||||
int roomNo = dComIfGp_roomControl_getStayNo();
|
||||
if (mRoomNo != roomNo) {
|
||||
field_0x129 = 0;
|
||||
mRoomInfoSet = 0;
|
||||
mRoomNo = roomNo;
|
||||
}
|
||||
|
||||
@@ -1044,7 +1068,7 @@ int dEvt_control_c::Step() {
|
||||
evtMng->Experts();
|
||||
return 1;
|
||||
} else {
|
||||
if (!field_0x129) {
|
||||
if (!mRoomInfoSet) {
|
||||
char lastStageName[7];
|
||||
strncpy(lastStageName, dComIfGp_getStartStageName(), 7);
|
||||
lastStageName[7] = 0;
|
||||
@@ -1052,7 +1076,7 @@ int dEvt_control_c::Step() {
|
||||
dComIfGp_setLastPlayStageName(lastStageName);
|
||||
dComIfGs_onVisitedRoom(mRoomNo);
|
||||
}
|
||||
field_0x129 = 1;
|
||||
mRoomInfoSet = true;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1065,19 +1089,22 @@ int dEvt_control_c::moveApproval(void* param_0) {
|
||||
if (fopAcM_checkStatus(actor, 0x20000)) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (!runCheck()) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
switch (mMode) {
|
||||
case 1:
|
||||
case EVT_MODE_TALK:
|
||||
if (getPt1() == actor || getPt2() == actor) {
|
||||
return 2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case EVT_MODE_DEMO:
|
||||
if (getPt1() == actor || getPt2() == actor) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (actor->mDemoActorId != 0) {
|
||||
return 2;
|
||||
}
|
||||
@@ -1088,36 +1115,45 @@ int dEvt_control_c::moveApproval(void* param_0) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (fopAcM_checkStatus(actor, 0x8000)) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (fopAcM_checkStatus(actor, 0x800)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (i_dComIfGp_checkPlayerStatus0(0, 0x20000000) ||
|
||||
i_dComIfGp_checkPlayerStatus1(0, 0x4002000)) {
|
||||
return 0;
|
||||
}
|
||||
if (mMode == 1 && fopAcM_checkStatus(actor, 0x40)) {
|
||||
|
||||
if (mMode == EVT_MODE_TALK && fopAcM_checkStatus(actor, 0x40)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (dDemo_c::getMode() == 1) {
|
||||
return 1;
|
||||
}
|
||||
if ((getMode() == 3 || getMode() == 1) && fopAcM_checkStatus(actor, 0x4000000)) {
|
||||
|
||||
if ((getMode() == 3 || getMode() == EVT_MODE_TALK) && fopAcM_checkStatus(actor, 0x4000000)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (fopAcM_checkStatus(actor, 0x4000)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (fopAcM_checkStatus(actor, 0x2000)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8004316C-800431E8 03DAAC 007C+00 0/0 28/28 0/0 .text compulsory__14dEvt_control_cFPvPCcUs */
|
||||
BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
|
||||
BOOL dEvt_control_c::compulsory(void* param_0, char const* eventName, u16 hind) {
|
||||
bool check = (mEventStatus == 0 || mEventStatus == 2);
|
||||
|
||||
if (!check || mCompulsory) {
|
||||
@@ -1125,11 +1161,11 @@ BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2)
|
||||
}
|
||||
|
||||
mCompulsory = 1;
|
||||
return orderOld(3, 2, 0, param_2, param_0, NULL, param_1);
|
||||
return orderOld(EVT_TYPE_COMPULSORY, 2, 0, hind, param_0, NULL, eventName);
|
||||
}
|
||||
|
||||
void dEvt_control_c::remove() {
|
||||
mMode = 0;
|
||||
mMode = EVT_MODE_NONE;
|
||||
mEventStatus = 0;
|
||||
mNum = 0;
|
||||
mDebugStb = 0;
|
||||
@@ -1140,15 +1176,15 @@ void dEvt_control_c::remove() {
|
||||
mMapToolId = -1;
|
||||
field_0xec = -1;
|
||||
mStageEventDt = NULL;
|
||||
field_0xe0 = 255;
|
||||
mEventID = 255;
|
||||
field_0xed = 0;
|
||||
mPreItemNo = -1;
|
||||
mPreItemNo = NO_ITEM;
|
||||
mEventFlag = 0;
|
||||
mFlag2 = 0;
|
||||
mChangeOK = NULL;
|
||||
clearSkipSystem();
|
||||
mCompulsory = 0;
|
||||
field_0x129 = 0;
|
||||
mRoomInfoSet = false;
|
||||
mRoomNo = -1;
|
||||
}
|
||||
|
||||
@@ -1159,7 +1195,7 @@ dStage_MapEvent_dt_c* dEvt_control_c::getStageEventDt() {
|
||||
}
|
||||
|
||||
void dEvt_control_c::sceneChange(int exitId) {
|
||||
dStage_changeScene4Event(exitId, mRoomNo, -1, field_0x129, 0.0f, 0, 0, -1);
|
||||
dStage_changeScene4Event(exitId, mRoomNo, -1, mRoomInfoSet, 0.0f, 0, 0, -1);
|
||||
}
|
||||
|
||||
u32 dEvt_control_c::getPId(void* actor) {
|
||||
@@ -1171,33 +1207,34 @@ u32 dEvt_control_c::getPId(void* actor) {
|
||||
}
|
||||
|
||||
/* 800432EC-8004331C 03DC2C 0030+00 7/7 13/13 16/16 .text convPId__14dEvt_control_cFUi */
|
||||
void* dEvt_control_c::convPId(unsigned int param_0) {
|
||||
return fopAcIt_Judge(fpcSch_JudgeByID, (void*)¶m_0);
|
||||
void* dEvt_control_c::convPId(unsigned int id) {
|
||||
return fopAcIt_Judge(fpcSch_JudgeByID, &id);
|
||||
}
|
||||
|
||||
/* 8004331C-800433F0 03DC5C 00D4+00 0/0 1/1 0/0 .text getStbDemoData__14dEvt_control_cFPc
|
||||
*/
|
||||
void* dEvt_control_c::getStbDemoData(char* param_0) {
|
||||
void* dEvt_control_c::getStbDemoData(char* resName) {
|
||||
char* demoArcName = dStage_roomControl_c::getDemoArcName();
|
||||
if (*demoArcName != 0) {
|
||||
void* res = dComIfG_getObjectRes(demoArcName, param_0);
|
||||
void* res = dComIfG_getObjectRes(demoArcName, resName);
|
||||
if (res != NULL) {
|
||||
func_80041480();
|
||||
event_debug_evnt();
|
||||
return res;
|
||||
}
|
||||
func_80041480();
|
||||
event_debug_evnt();
|
||||
} else {
|
||||
func_80041480();
|
||||
event_debug_evnt();
|
||||
}
|
||||
|
||||
char* roomArcName = dComIfG_getRoomArcName(dComIfGp_roomControl_getStayNo());
|
||||
void* res2 = dComIfG_getStageRes(roomArcName, param_0);
|
||||
void* res2 = dComIfG_getStageRes(roomArcName, resName);
|
||||
if (res2 != NULL) {
|
||||
func_80041480();
|
||||
event_debug_evnt();
|
||||
return res2;
|
||||
} else {
|
||||
res2 = dComIfG_getStageRes(param_0);
|
||||
res2 = dComIfG_getStageRes(resName);
|
||||
if (res2 != NULL) {
|
||||
func_80041480();
|
||||
event_debug_evnt();
|
||||
return res2;
|
||||
} else {
|
||||
return NULL;
|
||||
@@ -1226,11 +1263,11 @@ void dEvt_info_c::setEventName(char* name) {
|
||||
/* 80043480-800434CC 03DDC0 004C+00 1/1 0/0 0/0 .text getEventName__11dEvt_info_cFv */
|
||||
char* dEvt_info_c::getEventName() {
|
||||
if (mEventId == -1) {
|
||||
return 0;
|
||||
return NULL;
|
||||
} else {
|
||||
dEvDtEvent_c* data = i_dComIfGp_getEventManager().getEventData(mEventId);
|
||||
if (data == NULL) {
|
||||
return 0;
|
||||
return NULL;
|
||||
} else {
|
||||
return data->getName();
|
||||
}
|
||||
@@ -1277,8 +1314,8 @@ dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 mapToolID, s32 roomN
|
||||
return NULL;
|
||||
}
|
||||
|
||||
s16 dEvt_control_c::runningEventID(s16 param_0) {
|
||||
return param_0 == field_0xe0 ? mSpecifiedEvent : param_0;
|
||||
s16 dEvt_control_c::runningEventID(s16 eventID) {
|
||||
return eventID == mEventID ? mSpecifiedEvent : eventID;
|
||||
}
|
||||
|
||||
void dEvt_control_c::setPt1(void* ptr) {
|
||||
|
||||
@@ -190,9 +190,11 @@ static u16 getTelopNo() {
|
||||
static u16 getStartTelopNo() {
|
||||
const char* startStageName = dComIfGp_getStartStageName();
|
||||
const char* lastPlayStateName = dComIfGp_getLastPlayStageName();
|
||||
|
||||
if (strcmp(startStageName, lastPlayStateName) == 0) {
|
||||
return 0xFFFF;
|
||||
}
|
||||
|
||||
TelopDataStruct* telopData = NULL;
|
||||
s32 val = ((startStageName[3] == 'B' ? 'd' : startStageName[0]) << 0x18 |
|
||||
startStageName[4] << 0x10 | startStageName[5] << 8 | startStageName[6]);
|
||||
@@ -202,6 +204,7 @@ static u16 getStartTelopNo() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (telopData == NULL || telopData->_8 == 0) {
|
||||
return 0xFFFF;
|
||||
} else if (telopData->_8 == 2 && telopData->_6 != 0xFFFF &&
|
||||
@@ -214,12 +217,14 @@ static u16 getStartTelopNo() {
|
||||
TelopDataStruct* lastTelopData = NULL;
|
||||
val = ((lastPlayStateName[3] == 'B' ? 'd' : lastPlayStateName[0]) << 0x18 |
|
||||
lastPlayStateName[4] << 0x10 | lastPlayStateName[5] << 8 | lastPlayStateName[6]);
|
||||
|
||||
for (s32 i = 0; i < numTelopData; i++) {
|
||||
if (val == TelopData[i].mName) {
|
||||
lastTelopData = &TelopData[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (lastTelopData != NULL && telopData->mTelopNo == lastTelopData->mTelopNo) {
|
||||
return 0xFFFF;
|
||||
} else {
|
||||
@@ -285,6 +290,7 @@ static int dEvDt_Next_Stage(int index, int wipe_type) {
|
||||
int id = *p_id;
|
||||
s8 room_no = dComIfGp_roomControl_getStayNo();
|
||||
stage_scls_info_dummy_class* info;
|
||||
|
||||
if (room_no == -1) {
|
||||
info = dComIfGp_getStageSclsInfo();
|
||||
} else {
|
||||
@@ -379,11 +385,11 @@ static asm int dEvDt_Next_Stage(int param_0, int param_1) {
|
||||
#endif
|
||||
|
||||
/* 80043D60-80043DC8 03E6A0 0068+00 3/3 0/0 0/0 .text flagCheck__11dEvDtFlag_cFi */
|
||||
BOOL dEvDtFlag_c::flagCheck(int param_0) {
|
||||
if (flagMaxCheck(param_0)) {
|
||||
BOOL dEvDtFlag_c::flagCheck(int flag) {
|
||||
if (flagMaxCheck(flag)) {
|
||||
return FALSE;
|
||||
} else {
|
||||
if (mFlags[(u32)param_0 / 0x20] & (1 << (param_0 & 0x1F))) {
|
||||
if (mFlags[(u32)flag / 0x20] & (1 << (flag & 0x1F))) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@@ -392,21 +398,21 @@ BOOL dEvDtFlag_c::flagCheck(int param_0) {
|
||||
}
|
||||
|
||||
/* 80043DC8-80043E30 03E708 0068+00 2/2 1/1 0/0 .text flagSet__11dEvDtFlag_cFi */
|
||||
BOOL dEvDtFlag_c::flagSet(int param_0) {
|
||||
if (flagMaxCheck(param_0)) {
|
||||
BOOL dEvDtFlag_c::flagSet(int flag) {
|
||||
if (flagMaxCheck(flag)) {
|
||||
return FALSE;
|
||||
} else {
|
||||
mFlags[(u32)param_0 / 0x20] |= (1 << (param_0 & 0x1F));
|
||||
mFlags[(u32)flag / 0x20] |= (1 << (flag & 0x1F));
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL dEvDtFlag_c::flagMaxCheck(int flag_id) {
|
||||
if (flag_id == -1) {
|
||||
BOOL dEvDtFlag_c::flagMaxCheck(int flag) {
|
||||
if (flag == -1) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (FlagMax <= flag_id) {
|
||||
if (FlagMax <= flag) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@@ -426,6 +432,7 @@ int dEvDtEvent_c::finishCheck() {
|
||||
if (tmp == -1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!i_dComIfGp_getEventManager().flagCheck(tmp)) {
|
||||
return 0;
|
||||
}
|
||||
@@ -436,33 +443,27 @@ int dEvDtEvent_c::finishCheck() {
|
||||
/* 80043EFC-80043F70 03E83C 0074+00 0/0 1/1 0/0 .text forceFinish__12dEvDtEvent_cFv */
|
||||
int dEvDtEvent_c::forceFinish() {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
int tmp = field_0x88[i];
|
||||
if (tmp == -1) {
|
||||
int flag = field_0x88[i];
|
||||
if (flag == -1) {
|
||||
return 1;
|
||||
}
|
||||
i_dComIfGp_getEventManager().setFlag(tmp);
|
||||
|
||||
i_dComIfGp_getEventManager().setFlag(flag);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80043F70-80043FD8 03E8B0 0068+00 0/0 1/1 0/0 .text
|
||||
* specialStaffProc__12dEvDtEvent_cFP12dEvDtStaff_c */
|
||||
void dEvDtEvent_c::specialStaffProc(dEvDtStaff_c* param_0) {
|
||||
void dEvDtEvent_c::specialStaffProc(dEvDtStaff_c* p_staff) {
|
||||
for (int i = 0; i < mNStaff; i++) {
|
||||
param_0[mStaff[i]].specialProc();
|
||||
p_staff[mStaff[i]].specialProc();
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80379E0D = "Timer";
|
||||
#pragma pop
|
||||
|
||||
/* 80043FD8-8004403C 03E918 0064+00 4/4 0/0 0/0 .text specialProc_WaitStart__12dEvDtStaff_cFi */
|
||||
void dEvDtStaff_c::specialProc_WaitStart(int param_0) {
|
||||
int* timer = dComIfGp_evmng_getMyIntegerP(param_0, "Timer");
|
||||
void dEvDtStaff_c::specialProc_WaitStart(int index) {
|
||||
int* timer = dComIfGp_evmng_getMyIntegerP(index, "Timer");
|
||||
if (timer == NULL) {
|
||||
mWaitTimer = 0;
|
||||
} else {
|
||||
@@ -558,14 +559,17 @@ void dEvDtStaff_c::specialProcLight() {
|
||||
int staffId = i_dComIfGp_evmng_getMyStaffId("LIGHT", NULL, 0);
|
||||
if (staffId != -1) {
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
f32* hourP;
|
||||
|
||||
switch (*(int*)nowCutName) {
|
||||
case 'CHAN':
|
||||
hourP = dComIfGp_evmng_getMyFloatP(staffId, "Hour");
|
||||
if (hourP != NULL) {
|
||||
dKy_instant_timechg(*hourP * 15.0f);
|
||||
}
|
||||
|
||||
int* weatherP = dComIfGp_evmng_getMyIntegerP(staffId, "Weather");
|
||||
if (weatherP != NULL) {
|
||||
switch (*weatherP) {
|
||||
@@ -609,6 +613,7 @@ void dEvDtStaff_c::specialProcMessage() {
|
||||
if (staffId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
switch (*(int*)nowCutName) {
|
||||
@@ -651,6 +656,7 @@ void dEvDtStaff_c::specialProcMessage() {
|
||||
break;
|
||||
case 'TELO':
|
||||
int* forStartP = dComIfGp_evmng_getMyIntegerP(staffId, "ForStart");
|
||||
|
||||
if (forStartP != NULL && *forStartP != 0) {
|
||||
work->mMsgNo = getStartTelopNo();
|
||||
} else {
|
||||
@@ -664,12 +670,14 @@ void dEvDtStaff_c::specialProcMessage() {
|
||||
work->mMsgNo = getTelopNo();
|
||||
}
|
||||
}
|
||||
|
||||
data->unk = 0;
|
||||
if (work->mMsgNo != 0xFFFF) {
|
||||
work->_0 = fopMsgM_messageSetDemo(work->mMsgNo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch (*(int*)nowCutName) {
|
||||
case 'WAIT':
|
||||
specialProc_WaitProc(staffId);
|
||||
@@ -715,6 +723,7 @@ void dEvDtStaff_c::specialProcMessage() {
|
||||
if (work->mLMsg == NULL) {
|
||||
break;
|
||||
}
|
||||
|
||||
switch (work->mLMsg->field_0xf8) {
|
||||
case 0xE:
|
||||
work->mLMsg->field_0xf8 = 0x10;
|
||||
@@ -800,6 +809,7 @@ void dEvDtStaff_c::specialProcSound() {
|
||||
if (staffId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
switch (*(int*)nowCutName) {
|
||||
@@ -827,6 +837,7 @@ void dEvDtStaff_c::specialProcSound() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch (*(int*)nowCutName) {
|
||||
case 'WAIT':
|
||||
specialProc_WaitProc(staffId);
|
||||
@@ -874,10 +885,12 @@ void dEvDtStaff_c::specialProcCreate() {
|
||||
csXyz angle;
|
||||
cXyz scale;
|
||||
dStage_objectNameInf* objNameInf;
|
||||
|
||||
int staffId = i_dComIfGp_evmng_getMyStaffId("CREATER", NULL, 0);
|
||||
if (staffId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
switch (*(int*)nowCutName) {
|
||||
@@ -886,30 +899,35 @@ void dEvDtStaff_c::specialProcCreate() {
|
||||
case 'CREA':
|
||||
name = dComIfGp_evmng_getMyStringP(staffId, "MAKECAST");
|
||||
objNameInf = dStage_searchName(name);
|
||||
|
||||
int* argP = dComIfGp_evmng_getMyIntegerP(staffId, "ARG");
|
||||
if (argP == NULL) {
|
||||
arg = UINT32_MAX;
|
||||
} else {
|
||||
arg = *argP;
|
||||
}
|
||||
|
||||
cXyz* posP = dComIfGp_evmng_getMyXyzP(staffId, "POS");
|
||||
if (posP == NULL) {
|
||||
pos = ((fopAc_ac_c*)dComIfGp_getPlayer(0))->getPosition();
|
||||
} else {
|
||||
pos = *posP;
|
||||
}
|
||||
|
||||
int* angleP = dComIfGp_evmng_getMyIntegerP(staffId, "ANGLE");
|
||||
if (angleP == NULL) {
|
||||
angle.setall(0);
|
||||
} else {
|
||||
angle.set(angleP[0], angleP[1], angleP[2]);
|
||||
}
|
||||
|
||||
cXyz* scaleP = dComIfGp_evmng_getMyXyzP(staffId, "SCALE");
|
||||
if (scaleP == NULL) {
|
||||
scale.setAll(1.0f);
|
||||
} else {
|
||||
scale = *scaleP;
|
||||
}
|
||||
|
||||
fopAcM_create(objNameInf->mProcName, arg, &pos, dComIfGp_roomControl_getStayNo(),
|
||||
&angle, &scale, objNameInf->mSubtype);
|
||||
break;
|
||||
@@ -958,20 +976,24 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
DirectorData* data = (DirectorData*)mData;
|
||||
daPy_py_c* player = dComIfGp_getLinkPlayer();
|
||||
dEvt_control_c& evtControl = i_dComIfGp_getEvent();
|
||||
|
||||
int staffId = i_dComIfGp_evmng_getMyStaffId("DIRECTOR", NULL, 0);
|
||||
if (staffId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
int* eventFlagP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlag");
|
||||
if (eventFlagP != NULL) {
|
||||
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagP]);
|
||||
}
|
||||
|
||||
int* eventFlagOffP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlagOff");
|
||||
if (eventFlagOffP != NULL) {
|
||||
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagOffP]);
|
||||
}
|
||||
|
||||
int* switchTableP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchTable");
|
||||
int switchTable;
|
||||
if (switchTableP != NULL) {
|
||||
@@ -979,22 +1001,27 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
} else {
|
||||
switchTable = i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo());
|
||||
}
|
||||
|
||||
int* switchBitP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchBit");
|
||||
if (switchBitP != NULL) {
|
||||
dComIfGs_onStageSwitch(switchTable, *switchBitP);
|
||||
}
|
||||
|
||||
int* switchOffP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchOff");
|
||||
if (switchOffP != NULL) {
|
||||
dComIfGs_offStageSwitch(switchTable, *switchOffP);
|
||||
}
|
||||
|
||||
int* tmpBitP = dComIfGp_evmng_getMyIntegerP(staffId, "TmpBit");
|
||||
if (tmpBitP != NULL) {
|
||||
dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[*tmpBitP]);
|
||||
}
|
||||
|
||||
int* tmpOffP = dComIfGp_evmng_getMyIntegerP(staffId, "TmpBitOff");
|
||||
if (tmpOffP != NULL) {
|
||||
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[*tmpOffP]);
|
||||
}
|
||||
|
||||
switch (*(int*)nowCutName) {
|
||||
case 'WAIT':
|
||||
specialProc_WaitStart(staffId);
|
||||
@@ -1016,6 +1043,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
if (NULL == pt) {
|
||||
pt = evtControl.getPt2();
|
||||
}
|
||||
|
||||
if (zev != NULL) {
|
||||
evtControl.setSkipZev(pt, zev);
|
||||
} else {
|
||||
@@ -1025,6 +1053,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
case 'FADE':
|
||||
f32* rateP = dComIfGp_evmng_getMyFloatP(staffId, "Rate");
|
||||
int* colorP = dComIfGp_evmng_getMyIntegerP(staffId, "Color");
|
||||
|
||||
if (*rateP > 0) {
|
||||
mDoGph_gInf_c::setFadeRate(0);
|
||||
}
|
||||
@@ -1053,6 +1082,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
} else {
|
||||
data->unk = 1;
|
||||
}
|
||||
|
||||
int* soundP = dComIfGp_evmng_getMyIntegerP(staffId, "SOUND");
|
||||
if (soundP != NULL) {
|
||||
switch (*soundP) {
|
||||
@@ -1083,6 +1113,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
evtControl.setPt2(pt2);
|
||||
}
|
||||
}
|
||||
|
||||
char* ptTName = dComIfGp_evmng_getMyStringP(staffId, "PtT");
|
||||
if (ptTName != NULL) {
|
||||
fopAc_ac_c* ptT = fopAcM_searchFromName4Event(ptTName, -1);
|
||||
@@ -1090,6 +1121,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
evtControl.setPtT(ptT);
|
||||
}
|
||||
}
|
||||
|
||||
char* ptIName = dComIfGp_evmng_getMyStringP(staffId, "PtI");
|
||||
if (ptIName != NULL) {
|
||||
fopAc_ac_c* ptI = fopAcM_searchFromName4Event(ptIName, -1);
|
||||
@@ -1097,6 +1129,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
evtControl.setPtI(ptI);
|
||||
}
|
||||
}
|
||||
|
||||
char* ptDName = dComIfGp_evmng_getMyStringP(staffId, "PtD");
|
||||
if (ptDName != NULL) {
|
||||
fopAc_ac_c* ptD = fopAcM_searchFromName4Event(ptDName, -1);
|
||||
@@ -1113,6 +1146,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[506])) {
|
||||
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[566]);
|
||||
}
|
||||
|
||||
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[507])) {
|
||||
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[567]);
|
||||
}
|
||||
@@ -1121,6 +1155,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (*(int*)nowCutName) {
|
||||
case 'WAIT':
|
||||
specialProc_WaitProc(staffId);
|
||||
@@ -1130,6 +1165,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
dComIfGp_evmng_cutEnd(staffId);
|
||||
break;
|
||||
}
|
||||
|
||||
if (mDoGph_gInf_c::getFadeRate() >= 1) {
|
||||
f32* rateP = dComIfGp_evmng_getMyFloatP(staffId, "Rate");
|
||||
if (*rateP > 0) {
|
||||
@@ -1202,10 +1238,12 @@ void dEvDtStaff_c::specialProcPackage() {
|
||||
if (!!msgObj) {
|
||||
dMsgObject_demoMessageGroup();
|
||||
}
|
||||
|
||||
int staffId = i_dComIfGp_evmng_getMyStaffId("PACKAGE", NULL, 0);
|
||||
if (staffId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
switch (*(int*)nowCutName) {
|
||||
@@ -1222,10 +1260,12 @@ void dEvDtStaff_c::specialProcPackage() {
|
||||
} else {
|
||||
offsetAngY = 0.0f;
|
||||
}
|
||||
|
||||
// should not save event from g_dComIfG_gameInfo to register
|
||||
u8* demoData = (u8*)i_dComIfGp_getEvent().getStbDemoData(fileName);
|
||||
dDemo_c::start(demoData, offsetPos, offsetAngY);
|
||||
dComIfGp_event_setCullRate(10.0f);
|
||||
|
||||
int* eventFlagP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlag");
|
||||
if (eventFlagP != NULL) {
|
||||
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagP]);
|
||||
@@ -1248,6 +1288,7 @@ void dEvDtStaff_c::specialProcPackage() {
|
||||
dDemo_c::end();
|
||||
}
|
||||
}
|
||||
|
||||
if (dDemo_c::getMode() == 0) {
|
||||
dComIfGp_evmng_cutEnd(staffId);
|
||||
}
|
||||
@@ -1282,6 +1323,7 @@ void dEvDtStaff_c::specialProcTimekeeper() {
|
||||
if (staffId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
switch (*(int*)nowCutName) {
|
||||
@@ -1292,6 +1334,7 @@ void dEvDtStaff_c::specialProcTimekeeper() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (*(int*)nowCutName) {
|
||||
case 'COUN':
|
||||
if (dataP->timer > 0) {
|
||||
@@ -1332,6 +1375,7 @@ void dEvDtStaff_c::specialProcEffect() {
|
||||
if (staffId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
|
||||
if (dComIfGp_evmng_getIsAddvance(staffId)) {
|
||||
data->unk = 0;
|
||||
@@ -1354,6 +1398,7 @@ void dEvDtStaff_c::specialProcEffect() {
|
||||
} else {
|
||||
power = 5;
|
||||
}
|
||||
|
||||
int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type");
|
||||
int type;
|
||||
if (typeP != NULL) {
|
||||
@@ -1369,12 +1414,14 @@ void dEvDtStaff_c::specialProcEffect() {
|
||||
int timer;
|
||||
int random;
|
||||
u8* pattern;
|
||||
|
||||
int* timerP = dComIfGp_evmng_getMyIntegerP(staffId, "Timer");
|
||||
if (timerP != NULL) {
|
||||
timer = *timerP;
|
||||
} else {
|
||||
timer = 30;
|
||||
}
|
||||
|
||||
data->unk = timer;
|
||||
int* powerP = dComIfGp_evmng_getMyIntegerP(staffId, "Power");
|
||||
if (powerP != NULL) {
|
||||
@@ -1382,12 +1429,14 @@ void dEvDtStaff_c::specialProcEffect() {
|
||||
} else {
|
||||
power = 5;
|
||||
}
|
||||
|
||||
int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type");
|
||||
if (typeP != NULL) {
|
||||
type = *typeP;
|
||||
} else {
|
||||
type = 0xF;
|
||||
}
|
||||
|
||||
pattern = (u8*)dComIfGp_evmng_getMyStringP(staffId, "Pattern");
|
||||
if (pattern != NULL) {
|
||||
int* randomP = dComIfGp_evmng_getMyIntegerP(staffId, "Random");
|
||||
@@ -1410,6 +1459,7 @@ void dEvDtStaff_c::specialProcEffect() {
|
||||
timer = 30;
|
||||
}
|
||||
int timer2 = data->unk = timer;
|
||||
|
||||
f32* alphaP = dComIfGp_evmng_getMyFloatP(staffId, "Alpha");
|
||||
f32 alpha;
|
||||
if (alphaP != NULL) {
|
||||
@@ -1417,6 +1467,7 @@ void dEvDtStaff_c::specialProcEffect() {
|
||||
} else {
|
||||
alpha = 0.8f;
|
||||
}
|
||||
|
||||
f32* scaleP = dComIfGp_evmng_getMyFloatP(staffId, "Scale");
|
||||
f32 scale;
|
||||
if (scaleP != NULL) {
|
||||
@@ -1475,6 +1526,7 @@ int dEvDtCut_c::startCheck() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!dEvDtFlagCheck(flag)) {
|
||||
return 0;
|
||||
}
|
||||
@@ -1546,20 +1598,20 @@ void dEvDtBase_c::advanceCut(dEvDtEvent_c* p_event) {
|
||||
|
||||
/* 800462FC-800463DC 040C3C 00E0+00 1/1 0/0 0/0 .text
|
||||
* advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c */
|
||||
BOOL dEvDtBase_c::advanceCutLocal(dEvDtStaff_c* param_0) {
|
||||
dEvDtCut_c* cut = &mCutP[param_0->getCurrentCut()];
|
||||
BOOL dEvDtBase_c::advanceCutLocal(dEvDtStaff_c* p_staff) {
|
||||
dEvDtCut_c* cut = &mCutP[p_staff->getCurrentCut()];
|
||||
if (dEvDtFlagCheck(cut->getFlagId()) && cut->getNext() != -1) {
|
||||
switch (mCutP[cut->getNext()].startCheck()) {
|
||||
case -1:
|
||||
param_0->advanceCut(cut->getNext());
|
||||
p_staff->advanceCut(cut->getNext());
|
||||
return TRUE;
|
||||
case 1:
|
||||
dEvDtFlagSet(cut->getFlagId());
|
||||
param_0->advanceCut(cut->getNext());
|
||||
p_staff->advanceCut(cut->getNext());
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
param_0->field_0x40 = false;
|
||||
p_staff->field_0x40 = false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+109
-100
@@ -148,17 +148,17 @@ void dEvent_exception_c::init() {
|
||||
}
|
||||
|
||||
/* 800463F0-80046480 040D30 0090+00 0/0 2/2 0/0 .text setStartDemo__18dEvent_exception_cFi */
|
||||
s32 dEvent_exception_c::setStartDemo(int index) {
|
||||
s32 dEvent_exception_c::setStartDemo(int mapToolID) {
|
||||
int roomNo = dComIfGp_roomControl_getStayNo();
|
||||
dStage_MapEvent_dt_c* eventData = dEvt_control_c::searchMapEventData(index, roomNo);
|
||||
dStage_MapEvent_dt_c* eventData = dEvt_control_c::searchMapEventData(mapToolID, roomNo);
|
||||
|
||||
if (eventData != NULL && eventData->field_0x1B != 0xFF &&
|
||||
dComIfGs_isSwitch(eventData->field_0x1B, roomNo)) {
|
||||
if (eventData != NULL && eventData->mSwitch != 0xFF &&
|
||||
dComIfGs_isSwitch(eventData->mSwitch, roomNo)) {
|
||||
return 0xFF;
|
||||
} else if (mEventInfoIdx != index) {
|
||||
mEventInfoIdx = index;
|
||||
} else if (mEventInfoIdx != mapToolID) {
|
||||
mEventInfoIdx = mapToolID;
|
||||
}
|
||||
return index;
|
||||
return mapToolID;
|
||||
}
|
||||
|
||||
/* 80046480-800465E8 040DC0 0168+00 1/1 0/0 0/0 .text getEventName__18dEvent_exception_cFv */
|
||||
@@ -177,16 +177,16 @@ const char* dEvent_exception_c::getEventName() {
|
||||
return "(!NO REGIST!)";
|
||||
}
|
||||
|
||||
if (0xC8 < mEventInfoIdx && mEventInfoIdx < 0xD7) {
|
||||
if (mEventInfoIdx == 0xCB) {
|
||||
if (200 < mEventInfoIdx && mEventInfoIdx < 215) {
|
||||
if (mEventInfoIdx == 203) {
|
||||
dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo());
|
||||
} else if (mEventInfoIdx == 0xD5) {
|
||||
} else if (mEventInfoIdx == 213) {
|
||||
switch (dComIfGp_SelectWarpPt_get()) {
|
||||
case 3:
|
||||
mEventInfoIdx = 0xD6;
|
||||
mEventInfoIdx = 214;
|
||||
}
|
||||
}
|
||||
return soecial_names[mEventInfoIdx - 0xC9];
|
||||
return soecial_names[mEventInfoIdx - 201];
|
||||
} else {
|
||||
if (eventInfo == NULL) {
|
||||
return "(!NO INFO!)";
|
||||
@@ -236,7 +236,9 @@ dEvent_manager_c::dEvent_manager_c() {
|
||||
/* ############################################################################################## */
|
||||
/* 80379F50-80379F60 0065B0 000F+01 6/6 0/0 0/0 .rodata
|
||||
* DataFileName__29@unnamed@d_event_manager_cpp@ */
|
||||
namespace {
|
||||
static char const DataFileName[] = "event_list.dat";
|
||||
};
|
||||
|
||||
/* 80046710-80046800 041050 00F0+00 0/0 1/1 0/0 .text create__16dEvent_manager_cFv */
|
||||
int dEvent_manager_c::create() {
|
||||
@@ -315,9 +317,9 @@ void dEvent_manager_c::roomInit(int roomNo) {
|
||||
mRoomNo = roomNo;
|
||||
}
|
||||
|
||||
void dEvent_manager_c::roomFinish(int param_0) {
|
||||
void dEvent_manager_c::roomFinish(int roomNo) {
|
||||
for (int i = 4; i <= 9; i++) {
|
||||
if (mEventList[i].getHeaderP() != NULL && param_0 == mEventList[i].roomNo()) {
|
||||
if (mEventList[i].getHeaderP() != NULL && roomNo == mEventList[i].roomNo()) {
|
||||
mEventList[i].init();
|
||||
}
|
||||
}
|
||||
@@ -331,21 +333,21 @@ int dEvent_manager_c::orderStartDemo() {
|
||||
}
|
||||
|
||||
s16 eventIdx;
|
||||
if (0xC8 < mEventException.mEventInfoIdx && mEventException.mEventInfoIdx < 0xD7) {
|
||||
eventIdx = this->getEventIdx(mEventException.getEventName(), -1, -1);
|
||||
if (200 < mEventException.mEventInfoIdx && mEventException.mEventInfoIdx < 215) {
|
||||
eventIdx = getEventIdx(mEventException.getEventName(), -1, -1);
|
||||
success = fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1);
|
||||
} else if (mEventException.mEventInfoIdx != -1 && mEventException.mEventInfoIdx != 0xFF) {
|
||||
u8 eventInfoIdx = mEventException.mEventInfoIdx;
|
||||
eventIdx = this->getEventIdx(NULL, eventInfoIdx, -1);
|
||||
eventIdx = getEventIdx(NULL, eventInfoIdx, -1);
|
||||
success = fopAcM_orderMapToolAutoNextEvent(NULL, eventInfoIdx, eventIdx, 0xFFFF, 1, 5);
|
||||
} else if (dComIfGp_getStartStagePoint() == -2 || dComIfGp_getStartStagePoint() == -3) {
|
||||
eventIdx = this->getEventIdx(
|
||||
eventIdx = getEventIdx(
|
||||
daPy_py_c::checkNowWolf() ? "WOLF_WORLD_CHANGE_OUT" : "WORLD_CHANGE_OUT", 0xFF, -1);
|
||||
success = fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1);
|
||||
}
|
||||
|
||||
if (success == FALSE) {
|
||||
eventIdx = this->getEventIdx("DEFAULT_START", 0xFF, -1);
|
||||
eventIdx = getEventIdx("DEFAULT_START", 0xFF, -1);
|
||||
fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1);
|
||||
}
|
||||
|
||||
@@ -384,11 +386,13 @@ static int allOffObjectCallBack(fopAc_ac_c* pActor, void* param_1) {
|
||||
void dEvent_manager_c::startProc(dEvDtEvent_c* p_evnt) {
|
||||
for (int i = 0; i < p_evnt->getNStaff(); i++) {
|
||||
dEvDtStaff_c* staff = getBase().getStaffP(p_evnt->getStaff(i));
|
||||
|
||||
if (staff->getType() == dEvDtStaff_c::TYPE_DEFAULT) {
|
||||
fopAc_ac_c* ac = specialCast(staff->getName(), 1);
|
||||
if (ac == NULL) {
|
||||
ac = fopAcM_searchFromName4Event(staff->getName(), -1);
|
||||
}
|
||||
|
||||
if (ac != NULL) {
|
||||
fopAcM_OnStatus(ac, 0x8000);
|
||||
}
|
||||
@@ -411,11 +415,11 @@ void dEvent_manager_c::closeProc(dEvDtEvent_c* p_evnt) {
|
||||
}
|
||||
|
||||
/* 80046DAC-80046E64 0416EC 00B8+00 0/0 2/2 0/0 .text endProc__16dEvent_manager_cFsi */
|
||||
void dEvent_manager_c::endProc(s16 param_0, int param_1) {
|
||||
dEvDtEvent_c* event = this->getEventData(param_0);
|
||||
void dEvent_manager_c::endProc(s16 eventID, int close) {
|
||||
dEvDtEvent_c* event = getEventData(eventID);
|
||||
if (event != NULL) {
|
||||
if (param_1 != 0) {
|
||||
this->closeProc(event);
|
||||
if (close != 0) {
|
||||
closeProc(event);
|
||||
}
|
||||
|
||||
if (event->mEventState == 2) {
|
||||
@@ -434,8 +438,9 @@ void dEvent_manager_c::endProc(s16 param_0, int param_1) {
|
||||
/* 80046E64-800473FC 0417A4 0598+00 0/0 1/1 0/0 .text Sequencer__16dEvent_manager_cFv */
|
||||
void dEvent_manager_c::Sequencer() {
|
||||
dEvt_control_c& evtControl = i_dComIfGp_getEvent();
|
||||
dEvDtEvent_c* event = this->getEventData(mCurrentEventCompositId);
|
||||
dEvDtEvent_c* event = getEventData(mCurrentEventCompositId);
|
||||
dStage_MapEvent_dt_c* mapEvent = evtControl.getStageEventDt();
|
||||
|
||||
if (event != NULL) {
|
||||
if (evtControl.chkEventFlag(0x100)) {
|
||||
char* name = NULL;
|
||||
@@ -454,13 +459,16 @@ void dEvent_manager_c::Sequencer() {
|
||||
if (dStage_MapEvent_dt_c_getEventSCutType(mapEvent) == 2) {
|
||||
evtControl.onSkipFade();
|
||||
}
|
||||
|
||||
void* actor = evtControl.getPt1();
|
||||
if (actor == NULL) {
|
||||
actor = evtControl.getPt2();
|
||||
}
|
||||
|
||||
if (actor == NULL) {
|
||||
actor = dComIfGp_getPlayer(0);
|
||||
}
|
||||
|
||||
if (actor != NULL) {
|
||||
switch (mapEvent->mType) {
|
||||
case 2:
|
||||
@@ -479,7 +487,7 @@ void dEvent_manager_c::Sequencer() {
|
||||
Z2GetAudioMgr()->mStatusMgr.setDemoName(name);
|
||||
}
|
||||
|
||||
if (event->finishCheck() != 0) {
|
||||
if (event->finishCheck()) {
|
||||
bool bVar1 = false;
|
||||
if (evtControl.chkFlag2(1)) {
|
||||
bVar1 = true;
|
||||
@@ -523,12 +531,12 @@ void dEvent_manager_c::Sequencer() {
|
||||
|
||||
switch (mapEvent->mType) {
|
||||
case 0:
|
||||
switch (mapEvent->field_0x18) {
|
||||
case 1:
|
||||
mDoAud_seStart(0xC, NULL, 0, 0);
|
||||
switch (mapEvent->mSeType) {
|
||||
case EVT_SE_RIDDLE_A:
|
||||
mDoAud_seStart(Z2SE_READ_RIDDLE_A, NULL, 0, 0);
|
||||
break;
|
||||
case 2:
|
||||
mDoAud_seStart(0xD, NULL, 0, 0);
|
||||
case EVT_SE_RIDDLE_B:
|
||||
mDoAud_seStart(Z2SE_READ_RIDDLE_B, NULL, 0, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -590,9 +598,9 @@ void dEvent_manager_c::Sequencer() {
|
||||
|
||||
/* 800473FC-80047454 041D3C 0058+00 0/0 1/1 0/0 .text Experts__16dEvent_manager_cFv */
|
||||
void dEvent_manager_c::Experts() {
|
||||
dEvDtEvent_c* event = this->getEventData(mCurrentEventCompositId);
|
||||
dEvDtEvent_c* event = getEventData(mCurrentEventCompositId);
|
||||
if (event != NULL && event->mEventState == 1) {
|
||||
event->specialStaffProc(this->getBase().getStaffP(0));
|
||||
event->specialStaffProc(getBase().getStaffP(0));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -619,11 +627,12 @@ dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int idx) {
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
dEvDtEvent_c* dEvent_manager_c::getEventData(s16 eventCompositId) {
|
||||
if (param_0 == -1) {
|
||||
if (eventCompositId == -1) {
|
||||
return NULL;
|
||||
} else {
|
||||
// extsh instead of mr here
|
||||
return this->getEventData(getIndexCompositId(param_0), getTypeCompositId(param_0));
|
||||
return getEventData(getIndexCompositId(eventCompositId),
|
||||
getTypeCompositId(eventCompositId));
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -638,13 +647,13 @@ asm dEvDtEvent_c* dEvent_manager_c::getEventData(s16 eventCompositId) {
|
||||
#endif
|
||||
|
||||
/* 80047514-80047698 041E54 0184+00 3/3 8/8 3/3 .text getEventIdx__16dEvent_manager_cFPCcUcl */
|
||||
s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo) {
|
||||
s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 mapToolID, s32 roomNo) {
|
||||
if (roomNo == -1) {
|
||||
roomNo = dComIfGp_roomControl_getStayNo();
|
||||
}
|
||||
|
||||
if (param_1 != 0xFF) {
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_1, roomNo);
|
||||
if (mapToolID != 0xFF) {
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, roomNo);
|
||||
if (data != NULL) {
|
||||
switch (data->mType) {
|
||||
case 1:
|
||||
@@ -652,7 +661,7 @@ s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo)
|
||||
return getEventIdx(data->mName, 0xFF, roomNo);
|
||||
case 0:
|
||||
static char map_tool_name[17];
|
||||
sprintf(map_tool_name, "MapToolCamera%d", param_1);
|
||||
sprintf(map_tool_name, "MapToolCamera%d", mapToolID);
|
||||
return getEventIdx(map_tool_name, 0xFF, roomNo);
|
||||
}
|
||||
}
|
||||
@@ -682,8 +691,8 @@ s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo)
|
||||
|
||||
/* 80047698-80047758 041FD8 00C0+00 0/0 3/3 25/25 .text
|
||||
* getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc */
|
||||
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 param_1) {
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_1, pActor->getRoomNo());
|
||||
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 mapToolID) {
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, pActor->getRoomNo());
|
||||
if (data != NULL) {
|
||||
switch (data->mType) {
|
||||
case 1:
|
||||
@@ -691,7 +700,7 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 param_1) {
|
||||
return getEventIdx(pActor, data->mName, 0xFF);
|
||||
case 0:
|
||||
static char map_tool_name[17];
|
||||
sprintf(map_tool_name, "MapToolCamera%d", param_1);
|
||||
sprintf(map_tool_name, "MapToolCamera%d", mapToolID);
|
||||
return getEventIdx(pActor, map_tool_name, 0xFF);
|
||||
}
|
||||
}
|
||||
@@ -700,11 +709,11 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 param_1) {
|
||||
|
||||
/* 80047758-80047930 042098 01D8+00 1/1 10/10 92/92 .text
|
||||
* getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc */
|
||||
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 param_2) {
|
||||
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 mapToolID) {
|
||||
s8 actorRoomNo = pActor->getRoomNo();
|
||||
|
||||
if (param_2 != 0xFF) {
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_2, actorRoomNo);
|
||||
if (mapToolID != 0xFF) {
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, actorRoomNo);
|
||||
if (data != NULL) {
|
||||
switch (data->mType) {
|
||||
case 1:
|
||||
@@ -712,7 +721,7 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8
|
||||
return getEventIdx(pActor, data->mName, 0xFF);
|
||||
case 0:
|
||||
static char map_tool_name[17];
|
||||
sprintf(map_tool_name, "MapToolCamera%d", param_2);
|
||||
sprintf(map_tool_name, "MapToolCamera%d", mapToolID);
|
||||
return getEventIdx(pActor, map_tool_name, 0xFF);
|
||||
}
|
||||
}
|
||||
@@ -748,12 +757,12 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8
|
||||
}
|
||||
|
||||
/* 80047930-80047984 042270 0054+00 0/0 0/0 1/1 .text isMapToolCamera__16dEvent_manager_cFUcl */
|
||||
int dEvent_manager_c::isMapToolCamera(u8 param_0, s32 roomNo) {
|
||||
int dEvent_manager_c::isMapToolCamera(u8 mapToolID, s32 roomNo) {
|
||||
if (roomNo == -1) {
|
||||
roomNo = dComIfGp_roomControl_getStayNo();
|
||||
}
|
||||
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_0, roomNo);
|
||||
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, roomNo);
|
||||
if (data != NULL) {
|
||||
return data->mType == 0;
|
||||
} else {
|
||||
@@ -763,20 +772,20 @@ int dEvent_manager_c::isMapToolCamera(u8 param_0, s32 roomNo) {
|
||||
|
||||
/* 80047984-800479F8 0422C4 0074+00 0/0 6/6 0/0 .text order__16dEvent_manager_cFs */
|
||||
int dEvent_manager_c::order(s16 eventCompositId) {
|
||||
dEvDtEvent_c* event = this->getEventData(eventCompositId);
|
||||
dEvDtEvent_c* event = getEventData(eventCompositId);
|
||||
if (event == NULL) {
|
||||
return 0;
|
||||
} else {
|
||||
mCurrentEventType = getTypeCompositId(eventCompositId);
|
||||
mCurrentEventCompositId = eventCompositId;
|
||||
this->startProc(event);
|
||||
startProc(event);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* 800479F8-80047A38 042338 0040+00 1/1 0/0 9/9 .text startCheck__16dEvent_manager_cFs */
|
||||
int dEvent_manager_c::startCheck(s16 eventCompositId) {
|
||||
dEvDtEvent_c* event = this->getEventData(eventCompositId);
|
||||
dEvDtEvent_c* event = getEventData(eventCompositId);
|
||||
if (event == NULL) {
|
||||
return 0;
|
||||
} else {
|
||||
@@ -789,14 +798,14 @@ int dEvent_manager_c::startCheck(s16 eventCompositId) {
|
||||
}
|
||||
|
||||
/* 80047A38-80047A78 042378 0040+00 0/0 2/2 0/0 .text startCheckOld__16dEvent_manager_cFPCc */
|
||||
int dEvent_manager_c::startCheckOld(char const* pName) {
|
||||
return this->startCheck(this->getEventIdx(pName, 0xFF, -1));
|
||||
int dEvent_manager_c::startCheckOld(char const* name) {
|
||||
return startCheck(getEventIdx(name, 0xFF, -1));
|
||||
}
|
||||
|
||||
/* 80047A78-80047ADC 0423B8 0064+00 1/1 2/2 122/122 .text endCheck__16dEvent_manager_cFs
|
||||
*/
|
||||
int dEvent_manager_c::endCheck(s16 param_0) {
|
||||
dEvDtEvent_c* event = this->getEventData(i_dComIfGp_getEvent().runningEventID(param_0));
|
||||
int dEvent_manager_c::endCheck(s16 eventID) {
|
||||
dEvDtEvent_c* event = getEventData(i_dComIfGp_getEvent().runningEventID(eventID));
|
||||
if (event == NULL) {
|
||||
return 0;
|
||||
} else {
|
||||
@@ -809,17 +818,17 @@ int dEvent_manager_c::endCheck(s16 param_0) {
|
||||
}
|
||||
|
||||
/* 80047ADC-80047B1C 04241C 0040+00 0/0 2/2 10/10 .text endCheckOld__16dEvent_manager_cFPCc */
|
||||
int dEvent_manager_c::endCheckOld(char const* pName) {
|
||||
return this->endCheck(this->getEventIdx(pName, 0xFF, -1));
|
||||
int dEvent_manager_c::endCheckOld(char const* name) {
|
||||
return endCheck(getEventIdx(name, 0xFF, -1));
|
||||
}
|
||||
|
||||
/* 80047B1C-80047D4C 04245C 0230+00 1/1 10/10 210/210 .text
|
||||
* getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci */
|
||||
int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, int tagId) {
|
||||
int dEvent_manager_c::getMyStaffId(char const* staffName, fopAc_ac_c* pActor, int tagId) {
|
||||
int staffNum;
|
||||
int i;
|
||||
int evtIdx = -1;
|
||||
if (i_dComIfGp_getEvent().getMode() == 0) {
|
||||
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
|
||||
return -1;
|
||||
} else {
|
||||
if (pActor != NULL) {
|
||||
@@ -828,12 +837,12 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
|
||||
if (mCurrentEventCompositId == -1) {
|
||||
return -1;
|
||||
} else {
|
||||
dEvDtEvent_c* event = this->getEventData(mCurrentEventCompositId);
|
||||
dEvDtEvent_c* event = getEventData(mCurrentEventCompositId);
|
||||
|
||||
if (event != NULL && (event->mEventState == 1 || event->mEventState == 2)) {
|
||||
int staffCount = event->getNStaff();
|
||||
bool hasDp = false;
|
||||
if (strchr(pStaffName, ':') != NULL) {
|
||||
if (strchr(staffName, ':') != NULL) {
|
||||
hasDp = true;
|
||||
}
|
||||
|
||||
@@ -853,7 +862,7 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp(pStaffName, buf) == 0 && (tagId < 0 || tagId == staff->mTagID)) {
|
||||
if (strcmp(staffName, buf) == 0 && (tagId < 0 || tagId == staff->mTagID)) {
|
||||
s16 num = 0;
|
||||
if (ptr != NULL) {
|
||||
char c;
|
||||
@@ -873,7 +882,7 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp(pStaffName, "Alink") == 0 && strcmp("Link", buf) == 0 &&
|
||||
if (strcmp(staffName, "Alink") == 0 && strcmp("Link", buf) == 0 &&
|
||||
tagId == staff->mTagID) {
|
||||
return staffNum;
|
||||
}
|
||||
@@ -886,51 +895,51 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
|
||||
}
|
||||
|
||||
/* 80047D4C-80047DAC 04268C 0060+00 0/0 9/9 417/417 .text getIsAddvance__16dEvent_manager_cFi */
|
||||
int dEvent_manager_c::getIsAddvance(int param_0) {
|
||||
if (i_dComIfGp_getEvent().getMode() == 0) {
|
||||
int dEvent_manager_c::getIsAddvance(int staffIdx) {
|
||||
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
|
||||
return 0;
|
||||
} else if (param_0 == -1) {
|
||||
} else if (staffIdx == -1) {
|
||||
return 0;
|
||||
} else if (mCurrentEventCompositId == -1) {
|
||||
return 0;
|
||||
} else {
|
||||
return this->getBase().getStaffP(param_0)->field_0x40;
|
||||
return getBase().getStaffP(staffIdx)->field_0x40;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80047DAC-80047E10 0426EC 0064+00 1/1 0/0 0/0 .text dEvmng_strcmp__FPCcPc */
|
||||
static int dEvmng_strcmp(char const* param_0, char* param_1) {
|
||||
static int dEvmng_strcmp(char const* strA, char* strB) {
|
||||
u32 len = 0;
|
||||
while (*param_0 != '\0') {
|
||||
if (*param_1 == '\0') {
|
||||
while (*strA != '\0') {
|
||||
if (*strB == '\0') {
|
||||
return 1;
|
||||
}
|
||||
if (len >= 100) {
|
||||
return -1;
|
||||
}
|
||||
if (*param_0 != *param_1) {
|
||||
if (*strA != *strB) {
|
||||
return 1;
|
||||
}
|
||||
len++;
|
||||
param_0++;
|
||||
param_1++;
|
||||
strA++;
|
||||
strB++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80047E10-80047F5C 042750 014C+00 1/1 1/1 118/118 .text
|
||||
* getMyActIdx__16dEvent_manager_cFiPCPCciii */
|
||||
int dEvent_manager_c::getMyActIdx(int param_0, char const* const* param_1, int param_2, int param_3,
|
||||
int param_4) {
|
||||
if (i_dComIfGp_getEvent().getMode() == 0) {
|
||||
int dEvent_manager_c::getMyActIdx(int staffIdx, char const* const* param_1, int param_2,
|
||||
int param_3, int param_4) {
|
||||
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
|
||||
return 0;
|
||||
} else if (param_0 == -1) {
|
||||
} else if (staffIdx == -1) {
|
||||
return -1;
|
||||
} else if (mCurrentEventCompositId == -1) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
dEvDtStaff_c* staff = getBase().getStaffP(param_0);
|
||||
dEvDtStaff_c* staff = getBase().getStaffP(staffIdx);
|
||||
if (staff) {
|
||||
if (staff->field_0x41 != false && param_3 == 0) {
|
||||
return staff->field_0x3c;
|
||||
@@ -940,7 +949,7 @@ int dEvent_manager_c::getMyActIdx(int param_0, char const* const* param_1, int p
|
||||
}
|
||||
|
||||
int i;
|
||||
char* nowCutName = this->getMyNowCutName(param_0);
|
||||
char* nowCutName = getMyNowCutName(staffIdx);
|
||||
if (nowCutName == NULL) {
|
||||
staff->field_0x3c = -1;
|
||||
return -1;
|
||||
@@ -965,21 +974,21 @@ int dEvent_manager_c::getMyActIdx(int param_0, char const* const* param_1, int p
|
||||
}
|
||||
|
||||
/* 80047F5C-80047FC8 04289C 006C+00 1/1 9/9 62/62 .text getMyNowCutName__16dEvent_manager_cFi */
|
||||
char* dEvent_manager_c::getMyNowCutName(int index) {
|
||||
if (i_dComIfGp_getEvent().getMode() == 0) {
|
||||
char* dEvent_manager_c::getMyNowCutName(int cutIndex) {
|
||||
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
|
||||
return NULL;
|
||||
} else if (index == -1) {
|
||||
} else if (cutIndex == -1) {
|
||||
return NULL;
|
||||
} else if (mCurrentEventCompositId == -1) {
|
||||
return NULL;
|
||||
} else {
|
||||
return getBase().getCutStaffCurrentCutP(index)->getName();
|
||||
return getBase().getCutStaffCurrentCutP(cutIndex)->getName();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80047FC8-800480EC 042908 0124+00 2/2 0/0 0/0 .text getMyDataP__16dEvent_manager_cFiPCci */
|
||||
dEvDtData_c* dEvent_manager_c::getMyDataP(int index, char const* name, int type) {
|
||||
if (i_dComIfGp_getEvent().getMode() == 0) {
|
||||
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
|
||||
return NULL;
|
||||
} else if (index == -1) {
|
||||
return NULL;
|
||||
@@ -1030,16 +1039,16 @@ int dEvent_manager_c::getMySubstanceNum(int index, char const* name) {
|
||||
/* 8004817C-800481F4 042ABC 0078+00 1/1 78/78 182/182 .text cutEnd__16dEvent_manager_cFi
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void dEvent_manager_c::cutEnd(int index) {
|
||||
if (i_dComIfGp_getEvent().getMode() == 0) {
|
||||
void dEvent_manager_c::cutEnd(int cutIndex) {
|
||||
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
|
||||
return;
|
||||
} else if (index == -1) {
|
||||
} else if (cutIndex == -1) {
|
||||
return;
|
||||
} else if (field_0x1aa == -1) {
|
||||
return;
|
||||
} else {
|
||||
// instruction swap
|
||||
mFlags.flagSet(getBase().getCutStaffCurrentCutP(index)->getFlagId());
|
||||
mFlags.flagSet(getBase().getCutStaffCurrentCutP(cutIndex)->getFlagId());
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -1078,31 +1087,31 @@ int dEvent_manager_c::getEventPrio(fopAc_ac_c* pActor, s16 eventCompositId) {
|
||||
|
||||
/* 800482CC-80048348 042C0C 007C+00 1/1 1/1 0/0 .text issueStaff__16dEvent_manager_cFPCc
|
||||
*/
|
||||
void dEvent_manager_c::issueStaff(char const* pName) {
|
||||
if (!strcmp(pName, "ALL")) {
|
||||
void dEvent_manager_c::issueStaff(char const* name) {
|
||||
if (!strcmp(name, "ALL")) {
|
||||
fopAcM_Search((fopAcIt_JudgeFunc)extraOnObjectCallBack, NULL);
|
||||
} else {
|
||||
char nameBuf[0x20];
|
||||
strcpy(nameBuf, pName);
|
||||
strcpy(nameBuf, name);
|
||||
fopAcM_OnStatus(fopAcM_searchFromName4Event(nameBuf, -1), 0x800);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80048348-800483C4 042C88 007C+00 0/0 1/1 0/0 .text cancelStaff__16dEvent_manager_cFPCc
|
||||
*/
|
||||
void dEvent_manager_c::cancelStaff(char const* pName) {
|
||||
if (!strcmp(pName, "ALL")) {
|
||||
void dEvent_manager_c::cancelStaff(char const* name) {
|
||||
if (!strcmp(name, "ALL")) {
|
||||
fopAcM_Search((fopAcIt_JudgeFunc)extraOffObjectCallBack, NULL);
|
||||
} else {
|
||||
char nameBuf[0x20];
|
||||
strcpy(nameBuf, pName);
|
||||
strcpy(nameBuf, name);
|
||||
fopAcM_OffStatus(fopAcM_searchFromName4Event(nameBuf, -1), 0x800);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800483C4-800483E0 042D04 001C+00 1/1 2/2 38/38 .text setGoal__16dEvent_manager_cFP4cXyz */
|
||||
void dEvent_manager_c::setGoal(cXyz* pGoal) {
|
||||
mGoal = *pGoal;
|
||||
void dEvent_manager_c::setGoal(cXyz* p_goal) {
|
||||
mGoal = *p_goal;
|
||||
}
|
||||
|
||||
/* 800483E0-800483E8 042D20 0008+00 0/0 1/1 1/1 .text getGoal__16dEvent_manager_cFv */
|
||||
@@ -1161,7 +1170,7 @@ fopAc_ac_c* dEvent_manager_c::specialCast_Shutter(s16 bsTypeId, int param_1) {
|
||||
s16 angle = prms.mActor->mOrig.mAngle.y + 0x8000;
|
||||
goal.x += cM_ssin(angle) * 100;
|
||||
goal.z += cM_scos(angle) * 100;
|
||||
this->setGoal(&goal);
|
||||
setGoal(&goal);
|
||||
i_dComIfGp_getEvent().setPt2(shutterActor);
|
||||
i_dComIfGp_getEvent().setPtD(shutterActor);
|
||||
}
|
||||
@@ -1169,13 +1178,13 @@ fopAc_ac_c* dEvent_manager_c::specialCast_Shutter(s16 bsTypeId, int param_1) {
|
||||
}
|
||||
|
||||
/* 80048618-80048748 042F58 0130+00 1/1 0/0 0/0 .text specialCast__16dEvent_manager_cFPCci */
|
||||
fopAc_ac_c* dEvent_manager_c::specialCast(char const* pName, int param_1) {
|
||||
fopAc_ac_c* dEvent_manager_c::specialCast(char const* name, int param_1) {
|
||||
fopAc_ac_c* shutterActor = NULL;
|
||||
if (pName == NULL) {
|
||||
if (name == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!strcmp(pName, "SHUTTER_DOOR")) {
|
||||
if (!strcmp(name, "SHUTTER_DOOR")) {
|
||||
shutterActor = specialCast_Shutter(0x226, param_1);
|
||||
if (shutterActor == NULL) {
|
||||
shutterActor = specialCast_Shutter(0x228, param_1);
|
||||
@@ -1217,7 +1226,7 @@ static int dEv_talkman_get_action(int param_0) {
|
||||
"TALK1",
|
||||
};
|
||||
int actIdx = i_dComIfGp_getEventManager().getMyActIdx(staffId, action_table,
|
||||
ARRAY_SIZE(action_table), 0, 0);
|
||||
ARRAY_SIZE(action_table), 0, 0);
|
||||
if (actIdx == param_0) {
|
||||
i_dComIfGp_getEventManager().cutEnd(staffId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user