mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-20 23:51:19 -04:00
d_a_obj_coming OK, d_a_coming2 OK
The barrel2 make_prm params were swapped around, making it seem impossible to match.
This commit is contained in:
+35
-11
@@ -16,9 +16,21 @@
|
||||
#include "d/actor/d_a_obj_barrel2.h"
|
||||
|
||||
s32 daComing2::coming_make_item_no_table[] = {
|
||||
dItem_GREEN_RUPEE_e, dItem_GREEN_RUPEE_e, dItem_GREEN_RUPEE_e, dItem_GREEN_RUPEE_e, dItem_GREEN_RUPEE_e,
|
||||
dItem_BLUE_RUPEE_e, dItem_BLUE_RUPEE_e, dItem_BLUE_RUPEE_e, dItem_BLUE_RUPEE_e, dItem_BLUE_RUPEE_e,
|
||||
dItem_YELLOW_RUPEE_e, dItem_YELLOW_RUPEE_e, dItem_YELLOW_RUPEE_e, dItem_YELLOW_RUPEE_e, dItem_YELLOW_RUPEE_e
|
||||
dItem_GREEN_RUPEE_e,
|
||||
dItem_GREEN_RUPEE_e,
|
||||
dItem_GREEN_RUPEE_e,
|
||||
dItem_GREEN_RUPEE_e,
|
||||
dItem_GREEN_RUPEE_e,
|
||||
dItem_BLUE_RUPEE_e,
|
||||
dItem_BLUE_RUPEE_e,
|
||||
dItem_BLUE_RUPEE_e,
|
||||
dItem_BLUE_RUPEE_e,
|
||||
dItem_BLUE_RUPEE_e,
|
||||
dItem_YELLOW_RUPEE_e,
|
||||
dItem_YELLOW_RUPEE_e,
|
||||
dItem_YELLOW_RUPEE_e,
|
||||
dItem_YELLOW_RUPEE_e,
|
||||
dItem_YELLOW_RUPEE_e,
|
||||
};
|
||||
|
||||
static void dummy() {
|
||||
@@ -232,7 +244,7 @@ BOOL daComing2::Act_c::request_barrel_exitN(int idx) {
|
||||
|
||||
if (barrelProc != fpcM_ERROR_PROCESS_ID_e) {
|
||||
if (fopAcM_SearchByID(barrelProc, (fopAc_ac_c**)&barrel) != NULL && barrel != NULL) {
|
||||
barrel->m474 = 1;
|
||||
barrel->exit_req();
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@@ -281,7 +293,7 @@ BOOL daComing2::Act_c::request_all_flag_exit() {
|
||||
daObjBarrel2::Act_c* buoy;
|
||||
|
||||
if (buoyProc != fpcM_ERROR_PROCESS_ID_e && fopAcM_SearchByID(buoyProc, (fopAc_ac_c**)&buoy) != NULL && buoy != NULL) {
|
||||
buoy->m474 = 1;
|
||||
buoy->exit_req();
|
||||
mStartBuoy[i].unk_00 = fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
}
|
||||
@@ -434,12 +446,16 @@ void daComing2::Act_c::coming_setF_main() {
|
||||
cMtx_multVec(sp4C, &sp34[i], &sp28);
|
||||
if (get_water_height(&sp28.y, &sp28) && check_in_large_sea(&sp28) &&
|
||||
position_is_none_obj(&sp28) && no_ship_obstacle(&sp28)) {
|
||||
#if VERSION == VERSION_DEMO
|
||||
fpc_ProcID barrel = daObjBarrel2::Act_c::make_coming(&sp28, -1, daObjBarrel2::Type_01_e, 0x3F, false, mStartStat.unk_00, daObjBuoyflag::Texture_01_e);
|
||||
#else
|
||||
daObjBarrel2::Type_e type(daObjBarrel2::Type_01_e);
|
||||
fpc_ProcID barrel = daObjBarrel2::Act_c::make_coming(&sp28, -1, type, 0x3F, false, mStartStat.unk_00, daObjBuoyflag::Texture_01_e);
|
||||
#endif
|
||||
fpc_ProcID barrel = daObjBarrel2::Act_c::make_coming(
|
||||
&sp28,
|
||||
-1,
|
||||
DEMO_SELECT(daObjBarrel2::Type_01_e, type),
|
||||
0x3F,
|
||||
true,
|
||||
mStartStat.unk_00,
|
||||
daObjBuoyflag::Texture_01_e
|
||||
);
|
||||
mStartBuoy[i].unk_00 = barrel;
|
||||
if (barrel != fpcM_ERROR_PROCESS_ID_e) {
|
||||
mStartBuoy[i].unk_04 = sp28;
|
||||
@@ -503,7 +519,15 @@ void daComing2::Act_c::coming_game_main() {
|
||||
if ((mBarrelInfo[unk_2A4].unk_00 == fpcM_ERROR_PROCESS_ID_e && make_coming_param(&sp1C, &type, &droppedItem, &hasFlag))) {
|
||||
if (check_in_large_sea(&sp1C) != 0) {
|
||||
if (position_is_none_obj(&sp1C) && no_ship_obstacle(&sp1C)) {
|
||||
fpc_ProcID barrel = daObjBarrel2::Act_c::make_coming(&sp1C, -1, type, droppedItem, hasFlag, mStartStat.unk_00, daObjBuoyflag::Texture_01_e);
|
||||
fpc_ProcID barrel = daObjBarrel2::Act_c::make_coming(
|
||||
&sp1C,
|
||||
-1,
|
||||
type,
|
||||
droppedItem,
|
||||
hasFlag,
|
||||
mStartStat.unk_00,
|
||||
daObjBuoyflag::Texture_00_e
|
||||
);
|
||||
mBarrelInfo[unk_2A4].unk_00 = barrel;
|
||||
if (barrel != fpcM_ERROR_PROCESS_ID_e) {
|
||||
unk_29A = 0;
|
||||
|
||||
@@ -198,7 +198,15 @@ void daComing3::Act_c::coming_start_main() {
|
||||
static s32 make_item_table[] = {
|
||||
dItem_BLUE_RUPEE_e, dItem_YELLOW_RUPEE_e,
|
||||
};
|
||||
unk_400 = daObjBarrel2::Act_c::make_coming(&sp18, fopAcM_GetRoomNo(this), daObjBarrel2::Type_01_e, make_item_table[get_challenge_id()], true, shape_angle.y, daObjBuoyflag::Texture_01_e);
|
||||
unk_400 = daObjBarrel2::Act_c::make_coming(
|
||||
&sp18,
|
||||
fopAcM_GetRoomNo(this),
|
||||
daObjBarrel2::Type_01_e,
|
||||
make_item_table[get_challenge_id()],
|
||||
false,
|
||||
shape_angle.y,
|
||||
daObjBuoyflag::Texture_00_e
|
||||
);
|
||||
}
|
||||
|
||||
if (unk_400 != fpcM_ERROR_PROCESS_ID_e) {
|
||||
@@ -253,7 +261,7 @@ void daComing3::Act_c::coming_game_main() {
|
||||
unk_404 = 3;
|
||||
eff_break_tsubo();
|
||||
} else if ((unk_478 <= get_limit_dist()) && (barrel != NULL)) {
|
||||
barrel->m474 = 1;
|
||||
barrel->exit_req();
|
||||
unk_404 = 2;
|
||||
}
|
||||
break;
|
||||
@@ -284,8 +292,8 @@ void daComing3::Act_c::coming_wait_main() {
|
||||
|
||||
fopAcM_SearchByID(unk_400, &ac1);
|
||||
daObjBarrel2::Act_c* barrel = (daObjBarrel2::Act_c*)ac1;
|
||||
if (barrel != NULL && !fopAcM_SearchByID(barrel->m458, &ac2)) {
|
||||
barrel->m474 = 1;
|
||||
if (barrel != NULL && !fopAcM_SearchByID(barrel->get_item_id(), &ac2)) {
|
||||
barrel->exit_req();
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,8 +272,15 @@ cPhs_State daObjBarrel2::Act_c::_create() {
|
||||
csXyz sp10(0, home.angle.y, 0);
|
||||
sp24.setall(attr()->m28 * attr()->m2C);
|
||||
|
||||
m458 =
|
||||
fopAcM_createRaceItemFromTable(&sp30, prm_get_itemNo(), prm_get_itemSave(), fopAcM_GetHomeRoomNo(this), &sp10, &sp24, prm_get_coming() ? 1 : 0);
|
||||
mItemId = fopAcM_createRaceItemFromTable(
|
||||
&sp30,
|
||||
prm_get_itemNo(),
|
||||
prm_get_itemSave(),
|
||||
fopAcM_GetHomeRoomNo(this),
|
||||
&sp10,
|
||||
&sp24,
|
||||
prm_get_coming() ? 1 : 0
|
||||
);
|
||||
m45C = 3.4028235e+38f;
|
||||
m468 = 0;
|
||||
m470 = 0;
|
||||
@@ -796,7 +803,7 @@ void daObjBarrel2::Act_c::item_delete() {
|
||||
void daObjBarrel2::Act_c::item_give() {
|
||||
if (M_tmp_item_actor != NULL) {
|
||||
M_tmp_item_actor->raceItemForceGet();
|
||||
m458 = fpcM_ERROR_PROCESS_ID_e;
|
||||
mItemId = fpcM_ERROR_PROCESS_ID_e;
|
||||
m476 = 1;
|
||||
M_tmp_item_actor = NULL;
|
||||
}
|
||||
@@ -805,19 +812,19 @@ void daObjBarrel2::Act_c::item_give() {
|
||||
/* 000022A4-0000233C .text item_connect_check__Q212daObjBarrel25Act_cFv */
|
||||
void daObjBarrel2::Act_c::item_connect_check() {
|
||||
M_tmp_item_actor = NULL;
|
||||
if (m458 != fpcM_ERROR_PROCESS_ID_e) {
|
||||
if (mItemId != fpcM_ERROR_PROCESS_ID_e) {
|
||||
fopAc_ac_c* pRaceitem;
|
||||
if (fopAcM_SearchByID(m458, &pRaceitem)) {
|
||||
if (fopAcM_SearchByID(mItemId, &pRaceitem)) {
|
||||
daRaceItem_c* raceitem = (daRaceItem_c*)pRaceitem;
|
||||
if (raceitem != NULL) {
|
||||
if (raceitem->checkOffsetPos()) {
|
||||
M_tmp_item_actor = raceitem;
|
||||
} else {
|
||||
m458 = fpcM_ERROR_PROCESS_ID_e;
|
||||
mItemId = fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
m458 = fpcM_ERROR_PROCESS_ID_e;
|
||||
mItemId = fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -441,7 +441,7 @@ void daObjComing::Act_c::mode_barrel2_wait(daObjComing::Ctrl_c* ctrl) {
|
||||
barrel2.mItem,
|
||||
barrel2.m14,
|
||||
barrel2.mAngleY,
|
||||
daObjBuoyflag::Texture_01_e
|
||||
daObjBuoyflag::Texture_00_e
|
||||
);
|
||||
ctrl->set_appear_timer(this);
|
||||
ctrl->m00 = 1;
|
||||
@@ -463,7 +463,7 @@ void daObjComing::Act_c::mode_barrel2_appear(daObjComing::Ctrl_c* ctrl) {
|
||||
if (ac != NULL) {
|
||||
daObjBarrel2::Act_c* barrel2_act = (daObjBarrel2::Act_c*)ac;
|
||||
JUT_ASSERT(1119, fopAcM_GetName(barrel2_act) == tk_Obj_Barrel2_e);
|
||||
barrel2_act->m474 = 1;
|
||||
barrel2_act->exit_req();
|
||||
}
|
||||
} else {
|
||||
ctrl->m08 = fpcM_ERROR_PROCESS_ID_e;
|
||||
@@ -487,7 +487,7 @@ void daObjComing::Act_c::mode_barrel2_leave(daObjComing::Ctrl_c* ctrl) {
|
||||
if (ac != NULL) {
|
||||
daObjBarrel2::Act_c* barrel2_act = (daObjBarrel2::Act_c*)ac;
|
||||
JUT_ASSERT(1145, fopAcM_GetName(barrel2_act) == tk_Obj_Barrel2_e);
|
||||
barrel2_act->m474 = 1;
|
||||
barrel2_act->exit_req();
|
||||
}
|
||||
} else {
|
||||
ctrl->m08 = fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
Reference in New Issue
Block a user