d_a_npc_maro equivalent (#2439)

* Initial d_a_npc_maro work

* d_a_npc_maro 17% matching

* d_a_npc_maro 28% done

* d_a_npc_maro 38% done

* d_a_npc_maro 57% done

* daNpc_Maro_c::cutArrowTutorial done....

* d_a_npc_maro: dcomifgp_getattention returns ptr now....

* d_a_npc_maro 98% matching

* d_a_npc_maro equivalent

* address d_a_npc_maro PR comments
This commit is contained in:
YunataSavior
2025-06-07 01:20:54 -07:00
committed by GitHub
parent 23bee3b523
commit 09fdb3ece2
9 changed files with 3422 additions and 2339 deletions
+3215 -2258
View File
File diff suppressed because it is too large Load Diff
+15 -15
View File
@@ -51,10 +51,10 @@ int ShopCam_action_c::shop_cam_action_init() {
player->onPlayerNoDraw();
setCamAction(&ShopCam_action_c::shop_cam_action);
if (field_0xd6 >= 0) {
field_0x7c = shop_cam_data_tbl[field_0xd6]->field_0x0;
field_0x88 = shop_cam_data_tbl[field_0xd6]->field_0xc;
field_0x94 = shop_cam_data_tbl[field_0xd6]->field_0x18;
if (mCamDataIdx >= 0) {
field_0x7c = shop_cam_data_tbl[mCamDataIdx]->field_0x0;
field_0x88 = shop_cam_data_tbl[mCamDataIdx]->field_0xc;
field_0x94 = shop_cam_data_tbl[mCamDataIdx]->field_0x18;
} else if (field_0xd4 <= 0) {
field_0x7c = field_0x38;
field_0x88 = field_0x44;
@@ -79,19 +79,19 @@ int ShopCam_action_c::shop_cam_action() {
cXyz acStack_58;
f32 dVar11;
if (field_0xd4 <= 0) {
if (field_0xd6 >= 0) {
acStack_4c = shop_cam_data_tbl[field_0xd6]->field_0x0;
acStack_58 = shop_cam_data_tbl[field_0xd6]->field_0xc;
dVar11 = shop_cam_data_tbl[field_0xd6]->field_0x18;
if (mCamDataIdx >= 0) {
acStack_4c = shop_cam_data_tbl[mCamDataIdx]->field_0x0;
acStack_58 = shop_cam_data_tbl[mCamDataIdx]->field_0xc;
dVar11 = shop_cam_data_tbl[mCamDataIdx]->field_0x18;
} else {
acStack_4c = field_0x38;
acStack_58 = field_0x44;
dVar11 = field_0x50;
}
} else if (field_0xd6 >= 0) {
acStack_4c = shop_cam_data_tbl[field_0xd6]->field_0x1c;
acStack_58 = shop_cam_data_tbl[field_0xd6]->field_0x28;
dVar11 = shop_cam_data_tbl[field_0xd6]->field_0x34;
} else if (mCamDataIdx >= 0) {
acStack_4c = shop_cam_data_tbl[mCamDataIdx]->field_0x1c;
acStack_58 = shop_cam_data_tbl[mCamDataIdx]->field_0x28;
dVar11 = shop_cam_data_tbl[mCamDataIdx]->field_0x34;
} else {
acStack_4c = field_0x54;
acStack_58 = field_0x60;
@@ -184,7 +184,7 @@ void ShopCam_action_c::move() {
*/
void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3,
fopAc_ac_c* param_4, cXyz* param_5, cXyz* param_6) {
field_0xd6 = -1;
mCamDataIdx = -1;
if (field_0x18 == NULL) {
field_0xb0 = param_1->eyePos;
}
@@ -219,7 +219,7 @@ void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, f
void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3,
fopAc_ac_c* param_4, fopAc_ac_c* param_5, fopAc_ac_c* param_6,
fopAc_ac_c* param_7, cXyz* param_8, cXyz* param_9) {
field_0xd6 = -1;
mCamDataIdx = -1;
if (field_0x18 == NULL) {
field_0xb0 = param_1->eyePos;
}
@@ -304,4 +304,4 @@ void ShopCam_action_c::setMasterCamCtrPos(cXyz* param_0) {
field_0x38.x = field_0xb0.x;
field_0x38.y = field_0xb0.y;
field_0x38.z = field_0xb0.z;
}
}
+12 -8
View File
@@ -161,7 +161,7 @@ void dShopSystem_c::initShopSystem() {
offSpMode();
field_0xf6c = 0;
field_0xf76 = 0;
field_0xf77 = 9;
mMasterType = 9;
field_0xf78 = -1;
mFlow.onNonStopJunpFlowFlag();
}
@@ -806,7 +806,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
local_34.set(g_cursorHIO.mObjZoom.x, g_cursorHIO.mObjZoom.y + -25.0f,
g_cursorHIO.mObjZoom.z + 150.0f);
} else {
if (field_0xf77 == 5) {
if (mMasterType == 5) {
if (dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_ARROW_10 ||
dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_ARROW_20 ||
dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_ARROW_30)
@@ -838,7 +838,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
local_1c.set(*param_0);
}
u8 dvar1 = field_0xf77;
u8 dvar1 = mMasterType;
if (dvar1 == 1) {
if (dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_OIL_BOTTLE) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c,
@@ -1469,7 +1469,7 @@ void dShopSystem_c::deleteObject() {
/* 8019A5D0-8019AB00 194F10 0530+00 1/1 0/0 8/8 .text searchItemActor__13dShopSystem_cFv
*/
int dShopSystem_c::searchItemActor() {
bool dShopSystem_c::searchItemActor() {
u8 temp_data;
if ((dShopSystem_item_count != -1 &&
((dShopSystem_item_count < (temp_data = dShopSystem_sellItemMax)) ||
@@ -1548,7 +1548,7 @@ int dShopSystem_c::searchItemActor() {
}
}
if (field_0xf77 == 8) {
if (mMasterType == 8) {
dShopSystem_cameraActor[0]->current.pos.set(-175.0f, 165.0f, 10.0f);
dShopSystem_cameraActor[1]->current.pos.set(215.0f, 225.0f, 370.0f);
}
@@ -1559,7 +1559,7 @@ int dShopSystem_c::searchItemActor() {
dShopSystem_itemActor[3], dShopSystem_itemActor[4], dShopSystem_itemActor[5],
&dShopSystem_cameraActor[0]->current.pos, &dShopSystem_cameraActor[1]->current.pos);
if (field_0xf77 == 8) {
if (mMasterType == 8) {
cXyz camCtrPos;
camCtrPos.set(-180.0f, 245.0f, -380.0f);
mShopCamAction.setMasterCamCtrPos(&camCtrPos);
@@ -1633,14 +1633,18 @@ void dShopSystem_c::setSellItemMax(u8 i_max) {
}
/* 8019AB24-8019AB60 195464 003C+00 0/0 0/0 9/9 .text checkShopOpen__13dShopSystem_cFv */
bool dShopSystem_c::checkShopOpen() {
BOOL dShopSystem_c::checkShopOpen() {
for (int i = 0; i < 2; i++) {
if (dShopSystem_cameraActor[i] != NULL) {
return true;
}
}
return dShopSystem_camera_count != 0;
if (dShopSystem_camera_count) {
return true;
} else {
return false;
}
}
/* 8019AB60-8019AB84 1954A0 0024+00 3/3 0/0 0/0 .text