format / asm

This commit is contained in:
TakaRikka
2022-03-15 02:35:30 -07:00
parent 985d47a5c8
commit 9b81bd3fc3
126 changed files with 316 additions and 3820 deletions
+1 -1
View File
@@ -2684,7 +2684,7 @@ asm void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
//asm daNpcT_c::~daNpcT_c() {
// asm daNpcT_c::~daNpcT_c() {
extern "C" asm void __dt__8daNpcT_cFv() {
nofralloc
#include "asm/d/a/d_a_npc/__dt__8daNpcT_cFv.s"
+5 -4
View File
@@ -70,10 +70,11 @@ void CheckShopItemCreateHeap(fopAc_ac_c* actor) {
daShopItem_c* item = static_cast<daShopItem_c*>(actor);
u8 item_id = item->getShopItemID();
item->CreateItemHeap(daShopItem_c::mData[item_id].get_arcName(), daShopItem_c::mData[item_id].get_bmdName(),
daShopItem_c::mData[item_id].get_btk1Name(), daShopItem_c::mData[item_id].get_bpk1Name(),
daShopItem_c::mData[item_id].get_bck1Name(), daShopItem_c::mData[item_id].get_bxa1Name(),
daShopItem_c::mData[item_id].get_brk1Name(), daShopItem_c::mData[item_id].get_btp1Name());
item->CreateItemHeap(
daShopItem_c::mData[item_id].get_arcName(), daShopItem_c::mData[item_id].get_bmdName(),
daShopItem_c::mData[item_id].get_btk1Name(), daShopItem_c::mData[item_id].get_bpk1Name(),
daShopItem_c::mData[item_id].get_bck1Name(), daShopItem_c::mData[item_id].get_bxa1Name(),
daShopItem_c::mData[item_id].get_brk1Name(), daShopItem_c::mData[item_id].get_btp1Name());
}
/* 80379738-80379738 005D98 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+45 -114
View File
@@ -4,15 +4,15 @@
//
#include "d/msg/d_msg_flow.h"
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_inf_game.h"
#include "d/com/d_com_static.h"
#include "d/d_item.h"
#include "d/msg/d_msg_object.h"
#include "d/shop/d_shop_system.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_msg_mng.h"
#include "d/msg/d_msg_object.h"
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_static.h"
#include "d/shop/d_shop_system.h"
#include "d/d_item.h"
#include "m_Do/m_Do_audio.h"
//
@@ -361,106 +361,35 @@ SECTION_DATA static void* lit_4936[19] = {
/* 803C184C-803C1AC8 01E96C 027C+00 2/3 0/0 0/0 .data mQueryList__10dMsgFlow_c */
SECTION_DATA queryFunc dMsgFlow_c::mQueryList[53] = {
&dMsgFlow_c::query005,
&dMsgFlow_c::query001,
&dMsgFlow_c::query002,
&dMsgFlow_c::query003,
&dMsgFlow_c::query006,
&dMsgFlow_c::query007,
&dMsgFlow_c::query004,
&dMsgFlow_c::query008,
&dMsgFlow_c::query009,
&dMsgFlow_c::query010,
&dMsgFlow_c::query011,
&dMsgFlow_c::query012,
&dMsgFlow_c::query013,
&dMsgFlow_c::query014,
&dMsgFlow_c::query015,
&dMsgFlow_c::query016,
&dMsgFlow_c::query017,
&dMsgFlow_c::query018,
&dMsgFlow_c::query019,
&dMsgFlow_c::query020,
&dMsgFlow_c::query021,
&dMsgFlow_c::query022,
&dMsgFlow_c::query023,
&dMsgFlow_c::query024,
&dMsgFlow_c::query025,
&dMsgFlow_c::query026,
&dMsgFlow_c::query027,
&dMsgFlow_c::query028,
&dMsgFlow_c::query029,
&dMsgFlow_c::query030,
&dMsgFlow_c::query031,
&dMsgFlow_c::query032,
&dMsgFlow_c::query033,
&dMsgFlow_c::query034,
&dMsgFlow_c::query035,
&dMsgFlow_c::query036,
&dMsgFlow_c::query037,
&dMsgFlow_c::query038,
&dMsgFlow_c::query039,
&dMsgFlow_c::query040,
&dMsgFlow_c::query041,
&dMsgFlow_c::query042,
&dMsgFlow_c::query043,
&dMsgFlow_c::query044,
&dMsgFlow_c::query045,
&dMsgFlow_c::query046,
&dMsgFlow_c::query047,
&dMsgFlow_c::query048,
&dMsgFlow_c::query049,
&dMsgFlow_c::query050,
&dMsgFlow_c::query051,
&dMsgFlow_c::query052,
&dMsgFlow_c::query053,
&dMsgFlow_c::query005, &dMsgFlow_c::query001, &dMsgFlow_c::query002, &dMsgFlow_c::query003,
&dMsgFlow_c::query006, &dMsgFlow_c::query007, &dMsgFlow_c::query004, &dMsgFlow_c::query008,
&dMsgFlow_c::query009, &dMsgFlow_c::query010, &dMsgFlow_c::query011, &dMsgFlow_c::query012,
&dMsgFlow_c::query013, &dMsgFlow_c::query014, &dMsgFlow_c::query015, &dMsgFlow_c::query016,
&dMsgFlow_c::query017, &dMsgFlow_c::query018, &dMsgFlow_c::query019, &dMsgFlow_c::query020,
&dMsgFlow_c::query021, &dMsgFlow_c::query022, &dMsgFlow_c::query023, &dMsgFlow_c::query024,
&dMsgFlow_c::query025, &dMsgFlow_c::query026, &dMsgFlow_c::query027, &dMsgFlow_c::query028,
&dMsgFlow_c::query029, &dMsgFlow_c::query030, &dMsgFlow_c::query031, &dMsgFlow_c::query032,
&dMsgFlow_c::query033, &dMsgFlow_c::query034, &dMsgFlow_c::query035, &dMsgFlow_c::query036,
&dMsgFlow_c::query037, &dMsgFlow_c::query038, &dMsgFlow_c::query039, &dMsgFlow_c::query040,
&dMsgFlow_c::query041, &dMsgFlow_c::query042, &dMsgFlow_c::query043, &dMsgFlow_c::query044,
&dMsgFlow_c::query045, &dMsgFlow_c::query046, &dMsgFlow_c::query047, &dMsgFlow_c::query048,
&dMsgFlow_c::query049, &dMsgFlow_c::query050, &dMsgFlow_c::query051, &dMsgFlow_c::query052,
&dMsgFlow_c::query053,
};
/* 803C1CCC-803C1ED0 01EDEC 0204+00 1/2 0/0 0/0 .data mEventList__10dMsgFlow_c */
SECTION_DATA eventFunc dMsgFlow_c::mEventList[43] = {
&dMsgFlow_c::event000,
&dMsgFlow_c::event001,
&dMsgFlow_c::event002,
&dMsgFlow_c::event003,
&dMsgFlow_c::event004,
&dMsgFlow_c::event005,
&dMsgFlow_c::event006,
&dMsgFlow_c::event007,
&dMsgFlow_c::event008,
&dMsgFlow_c::event009,
&dMsgFlow_c::event010,
&dMsgFlow_c::event011,
&dMsgFlow_c::event012,
&dMsgFlow_c::event013,
&dMsgFlow_c::event014,
&dMsgFlow_c::event015,
&dMsgFlow_c::event016,
&dMsgFlow_c::event017,
&dMsgFlow_c::event018,
&dMsgFlow_c::event019,
&dMsgFlow_c::event020,
&dMsgFlow_c::event021,
&dMsgFlow_c::event022,
&dMsgFlow_c::event023,
&dMsgFlow_c::event024,
&dMsgFlow_c::event025,
&dMsgFlow_c::event026,
&dMsgFlow_c::event027,
&dMsgFlow_c::event028,
&dMsgFlow_c::event029,
&dMsgFlow_c::event030,
&dMsgFlow_c::event031,
&dMsgFlow_c::event032,
&dMsgFlow_c::event033,
&dMsgFlow_c::event034,
&dMsgFlow_c::event035,
&dMsgFlow_c::event036,
&dMsgFlow_c::event037,
&dMsgFlow_c::event038,
&dMsgFlow_c::event039,
&dMsgFlow_c::event040,
&dMsgFlow_c::event041,
&dMsgFlow_c::event042,
&dMsgFlow_c::event000, &dMsgFlow_c::event001, &dMsgFlow_c::event002, &dMsgFlow_c::event003,
&dMsgFlow_c::event004, &dMsgFlow_c::event005, &dMsgFlow_c::event006, &dMsgFlow_c::event007,
&dMsgFlow_c::event008, &dMsgFlow_c::event009, &dMsgFlow_c::event010, &dMsgFlow_c::event011,
&dMsgFlow_c::event012, &dMsgFlow_c::event013, &dMsgFlow_c::event014, &dMsgFlow_c::event015,
&dMsgFlow_c::event016, &dMsgFlow_c::event017, &dMsgFlow_c::event018, &dMsgFlow_c::event019,
&dMsgFlow_c::event020, &dMsgFlow_c::event021, &dMsgFlow_c::event022, &dMsgFlow_c::event023,
&dMsgFlow_c::event024, &dMsgFlow_c::event025, &dMsgFlow_c::event026, &dMsgFlow_c::event027,
&dMsgFlow_c::event028, &dMsgFlow_c::event029, &dMsgFlow_c::event030, &dMsgFlow_c::event031,
&dMsgFlow_c::event032, &dMsgFlow_c::event033, &dMsgFlow_c::event034, &dMsgFlow_c::event035,
&dMsgFlow_c::event036, &dMsgFlow_c::event037, &dMsgFlow_c::event038, &dMsgFlow_c::event039,
&dMsgFlow_c::event040, &dMsgFlow_c::event041, &dMsgFlow_c::event042,
};
/* 803C1ED0-803C1EF0 -00001 0020+00 1/1 0/0 0/0 .data @6324 */
@@ -597,7 +526,7 @@ int dMsgFlow_c::checkEventRender(int* param_0, int* param_1, int* param_2, int*
}
*param_0 = tmp0;
}
if (param_1 != NULL) {
int tmp1;
if (field_0x43 == 0xFF) {
@@ -853,13 +782,13 @@ int dMsgFlow_c::eventNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) {
break;
case 9:
if (getParam(node->params) == 0) {
int msgNum = daAlink_getAlinkActorClass()->getMidnaMsgNum();
if (msgNum == 0xFFFF) {
int stayNo = dComIfGp_roomControl_getStayNo();
msgNum = dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo()->mMsg;
msgNum =
dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo()->mMsg;
} else {
daAlink_getAlinkActorClass()->setMidnaMsg();
}
@@ -881,7 +810,7 @@ int dMsgFlow_c::eventNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) {
}
return 0;
case 21:
if (field_0x3c != 0) {
return 0;
@@ -979,7 +908,8 @@ BOOL daPy_py_c::checkNowWolf() {
int dMsgFlow_c::query002(mesg_flow_node_branch*, fopAc_ac_c*, int) {
if (daPy_py_c::checkNowWolf()) {
return 1;
} else if (daPy_getPlayerActorClass()->checkHorseRide() || daPy_getPlayerActorClass()->checkBoarRide()) {
} else if (daPy_getPlayerActorClass()->checkHorseRide() ||
daPy_getPlayerActorClass()->checkBoarRide()) {
return 2;
}
@@ -1352,7 +1282,7 @@ int dMsgFlow_c::query036(mesg_flow_node_branch*, fopAc_ac_c*, int) {
if (dMsgObject_getMsgObjectClass()->getSelectPushFlag() == 2) {
tmp = 2;
}
return tmp;
}
@@ -1364,7 +1294,7 @@ int dMsgFlow_c::query037(mesg_flow_node_branch*, fopAc_ac_c*, int) {
if (dMsgObject_getMsgObjectClass()->getSelectPushFlag() == 2) {
tmp = 3;
}
return tmp;
}
@@ -1563,7 +1493,8 @@ inline bool dComIfGp_checkPlayerStatus0(int param_0, u32 param_1) {
* query052__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
int dMsgFlow_c::query052(mesg_flow_node_branch*, fopAc_ac_c*, int) {
bool phi_r4 = false;
if (daPy_getPlayerActorClass()->checkWaterInMove() || dComIfGp_checkPlayerStatus0(0, 0x100000)) {
if (daPy_getPlayerActorClass()->checkWaterInMove() ||
dComIfGp_checkPlayerStatus0(0, 0x100000)) {
phi_r4 = true;
}
@@ -1869,14 +1800,14 @@ int dMsgFlow_c::event017(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
default:
execItemGet(prm0);
}
return 1;
}
for (int i = 0; i < prm1; i++) {
execItemGet(prm0);
}
return 1;
}
@@ -1895,7 +1826,8 @@ int dMsgFlow_c::event018(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
if (actor != NULL) {
int stayNo = dComIfGp_roomControl_getStayNo();
if (stayNo != 0) {
mDoAud_messageSePlay(field_0x45, &actor->mCurrent.mPosition, dComIfGp_getReverb(stayNo));
mDoAud_messageSePlay(field_0x45, &actor->mCurrent.mPosition,
dComIfGp_getReverb(stayNo));
} else {
mDoAud_messageSePlay(field_0x45, &actor->mCurrent.mPosition, 0);
}
@@ -2046,7 +1978,6 @@ int dMsgFlow_c::event026(mesg_flow_node_event*, fopAc_ac_c* actor) {
if (actor != NULL) {
if (fopAcM_GetName(actor) == PROC_OBJ_SSITEM || fopAcM_GetName(actor) == PROC_OBJ_SSDRINK ||
fopAcM_GetName(actor) == PROC_TAG_SSDRINK) {
}
}
@@ -2174,7 +2105,7 @@ int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
} else {
for (int i = 0; i < 3; i++) {
u8 select_item = dComIfGs_getSelectItemIndex(i);
if (SLOT_15 + bagID == select_item) {
u8 mix_item = dComIfGs_getMixItemIndex(i);
+1 -2
View File
@@ -82,8 +82,7 @@ bool dShopItemCtrl_c::isHomePos(int item_index) {
cXyz* item_pos = item->getPosP();
cXyz item_home = item->mOrig.mPosition;
if (item_pos->x == item_home.x &&
item_pos->y == item_home.y &&
if (item_pos->x == item_home.x && item_pos->y == item_home.y &&
item_pos->z == item_home.z) {
return true;
}
+116 -90
View File
@@ -4,15 +4,15 @@
//
#include "d/shop/d_shop_system.h"
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_item.h"
#include "d/d_procname.h"
#include "d/meter/d_meter_HIO.h"
#include "d/msg/d_msg_object.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "d/d_item.h"
#include "d/msg/d_msg_object.h"
#include "m_Do/m_Do_audio.h"
#include "d/meter/d_meter_HIO.h"
#include "SSystem/SComponent/c_math.h"
#include "m_Do/m_Do_lib.h"
//
@@ -208,13 +208,7 @@ SECTION_DATA static fopAc_ac_c* dShopSystem_itemActor[7] = {
/* 804506E8-804506F0 000168 0007+01 7/7 0/0 0/0 .sdata dShopSystem_itemNo */
SECTION_SDATA static u8 dShopSystem_itemNo[7] = {
NO_ITEM,
NO_ITEM,
NO_ITEM,
NO_ITEM,
NO_ITEM,
NO_ITEM,
NO_ITEM,
NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM,
};
/* 80451058-8045105C 000558 0004+00 9/9 0/0 0/0 .sbss None */
@@ -235,7 +229,7 @@ static int dShopSystem_searchItemActor(void* param_0, void* param_1) {
if ((param & 0xF0000000) == (fopAcM_GetParam(param_1) & 0xF0000000) &&
dShopSystem_item_count < data_80451058) {
u32 param2 = (param >> 0x18) & 0xF;
if (dShopSystem_itemActor[0] != param_0 && dShopSystem_itemActor[1] != param_0 &&
dShopSystem_itemActor[2] != param_0 && dShopSystem_itemActor[3] != param_0 &&
dShopSystem_itemActor[4] != param_0 && dShopSystem_itemActor[5] != param_0 &&
@@ -244,11 +238,12 @@ static int dShopSystem_searchItemActor(void* param_0, void* param_1) {
u8 sw2 = static_cast<fopAc_ac_c*>(param_0)->mOrig.mAngle.z >> 8;
u8 item_no = param;
if ((sw == 0xFF || !dComIfGs_isSaveSwitch(sw)) && (sw2 == 0xFF || dComIfGs_isSaveSwitch(sw2))) {
if ((sw == 0xFF || !dComIfGs_isSaveSwitch(sw)) &&
(sw2 == 0xFF || dComIfGs_isSaveSwitch(sw2))) {
if (sw != 0xFF && item_no == HYLIA_SHIELD && checkItemGet(item_no, true)) {
dComIfGs_onSaveSwitch(sw);
}
if (param2 == 0) {
data_80451060 = 1;
dShopSystem_itemActor[dShopSystem_item_count] = param_0;
@@ -278,9 +273,7 @@ static asm void dShopSystem_searchItemActor(void* param_0, void* param_1) {
/* ############################################################################################## */
/* 804506F0-804506F8 000170 0008+00 6/6 0/0 0/0 .sdata dShopSystem_cameraActor */
SECTION_SDATA static fopAc_ac_c* dShopSystem_cameraActor[2] = {
NULL, NULL
};
SECTION_SDATA static fopAc_ac_c* dShopSystem_cameraActor[2] = {NULL, NULL};
/* 80451064-80451068 000564 0004+00 5/5 0/0 0/0 .sbss dShopSystem_camera_count */
static int dShopSystem_camera_count;
@@ -378,8 +371,7 @@ struct shop_item_data {
/* ############################################################################################## */
/* 803BB8C0-803BB8E4 0189E0 0024+00 1/0 0/0 0/0 .data item_seira_shop */
SECTION_DATA static shop_item_data item_seira_shop = {
{{110.0f, 150.0f, -115.0f}, {160.0f, 150.0f, -115.0f}, {210.0f, 150.0f, -115.0f}}
};
{{110.0f, 150.0f, -115.0f}, {160.0f, 150.0f, -115.0f}, {210.0f, 150.0f, -115.0f}}};
/* 803BB8E4-803BB8F0 -00001 000C+00 0/1 0/0 0/0 .data @4056 */
#pragma push
@@ -851,11 +843,12 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) {
}
if (mDoCPd_c::getTrigA(0)) {
if (msg->getStatus() != 6 && msg->getStatus() != 8 && msg->getStatus() != 9 && msg->getStatus() != 20 && seq != SEQ_WAIT) {
if (msg->getStatus() != 6 && msg->getStatus() != 8 && msg->getStatus() != 9 &&
msg->getStatus() != 20 && seq != SEQ_WAIT) {
return 1;
}
}
if (mDoCPd_c::getTrigB(0)) {
if (seq != SEQ_SELECT_WAIT) {
mLastCursorPos = mCursorPos;
@@ -894,7 +887,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
if (cursor_pos == 7) {
mCursorPos = mLastCursorPos;
mLastCursorPos = 7;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -903,7 +896,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
mShopCamAction.SetSelectIdx(mCursorPos);
}
@@ -911,7 +904,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
} else if (cursor_pos == 4) {
mLastCursorPos = cursor_pos;
mCursorPos = 0;
if (seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
@@ -924,7 +917,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
} else if (cursor_pos != 0) {
mLastCursorPos = cursor_pos;
mCursorPos--;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -933,7 +926,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
mShopCamAction.SetSelectIdx(mCursorPos);
}
return 3;
@@ -948,7 +941,7 @@ right:
if (cursor_pos != 3 && cursor_pos != 6) {
mLastCursorPos = cursor_pos;
mCursorPos++;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -963,7 +956,7 @@ right:
if (data_80451058 == 7) {
mLastCursorPos = cursor_pos;
mCursorPos = 7;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -973,8 +966,8 @@ right:
mShopCamAction.SetSelectIdx(mCursorPos);
}
return 4;
}
}
}
}
}
up:
@@ -982,7 +975,7 @@ up:
if (mpStick->checkUpTrigger() && seq != SEQ_SELECT_WAIT && mCursorPos <= 3) {
mLastCursorPos = mCursorPos;
mCursorPos += 3;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -991,7 +984,7 @@ up:
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
mShopCamAction.SetSelectIdx(mCursorPos);
}
@@ -1005,7 +998,7 @@ up:
if (cursor_pos > 3 && cursor_pos <= 6) {
mLastCursorPos = cursor_pos;
mCursorPos -= 3;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -1018,7 +1011,7 @@ up:
}
}
}
ret:
return 0;
}
@@ -1057,7 +1050,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
if (cursor_pos != 0) {
mLastCursorPos = cursor_pos;
mCursorPos--;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -1066,7 +1059,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
mShopCamAction.SetSelectIdx(mCursorPos);
}
return 3;
@@ -1080,7 +1073,7 @@ right:
if (cursor_pos != 2 && cursor_pos != 5) {
mLastCursorPos = cursor_pos;
mCursorPos++;
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -1105,7 +1098,7 @@ up:
} else if (mCursorPos == 5) {
mCursorPos = 2;
}
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -1133,7 +1126,7 @@ down:
} else if (mCursorPos == 2) {
mCursorPos = 5;
}
if (mCursorPos != 0 && isFlag(mCursorPos - 1)) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
@@ -1197,7 +1190,7 @@ right:
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
mShopCamAction.SetSelectIdx(mCursorPos);
}
return 4;
}
@@ -1233,7 +1226,7 @@ int dShopSystem_c::moveCursor(int control_status, u8 param_1) {
#ifdef NONMATCHING
int dShopSystem_c::moveCursor0(int control_status, u8 param_1) {
offFlag(7);
switch (control_status) {
case 3:
if (mCursorPos == 0) {
@@ -1247,7 +1240,7 @@ int dShopSystem_c::moveCursor0(int control_status, u8 param_1) {
return getEventParamU8(mCursorPos) + 0x52;
}
return (getEventParamU8(mCursorPos) - 1) * 2 + 0x66;
return (getEventParamU8(mCursorPos) - 1) * 2 + 0x66;
case 7:
if (mCursorPos == 0) {
@@ -1279,7 +1272,7 @@ int dShopSystem_c::moveCursor0(int control_status, u8 param_1) {
return (getEventParamU8(mCursorPos) - 1) * 2 + 0x65;
}
return (getEventParamU8(mCursorPos) - 1) * 2 + 0x66;
return (getEventParamU8(mCursorPos) - 1) * 2 + 0x66;
}
return 0;
@@ -1299,7 +1292,7 @@ asm int dShopSystem_c::moveCursor0(int param_0, u8 param_1) {
#ifdef NONMATCHING
int dShopSystem_c::moveCursor1(int control_status, u8 param_1) {
offFlag(7);
switch (control_status) {
case 7:
if (mCursorPos == 0) {
@@ -1346,7 +1339,9 @@ asm int dShopSystem_c::moveCursor1(int param_0, u8 param_1) {
/* 80198878-80198950 1931B8 00D8+00 0/0 0/0 9/9 .text drawCursor__13dShopSystem_cFv */
int dShopSystem_c::drawCursor() {
if ((mSeq == 4 || mSeq == 5 || ((mSeq == 6 || mSeq == SEQ_SELECT_WAIT) && isFlag(mCursorPos - 1))) && mCursorPos != 0 && mItemCtrl.isHomePos(mCursorPos - 1)) {
if ((mSeq == 4 || mSeq == 5 ||
((mSeq == 6 || mSeq == SEQ_SELECT_WAIT) && isFlag(mCursorPos - 1))) &&
mCursorPos != 0 && mItemCtrl.isHomePos(mCursorPos - 1)) {
mpDrawCursor->addAlpha();
} else {
mpDrawCursor->decAlpha();
@@ -1379,8 +1374,8 @@ int dShopSystem_c::itemRotate() {
int tmp_index;
if (isFlag(cursor_pos - 1) || isSoldOutItemFlag(mCursorPos - 1)) {
no_rotate = true;
}
}
if (no_rotate) {
tmp_index = 0;
} else {
@@ -1435,9 +1430,12 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
local_1c.set(*param_0);
if (dShopSystem_itemNo[mCursorPos - 1] == OIL_BOTTLE) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mSeraShopObjZoomAngleX + -5000, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c,
g_cursorHIO.mSeraShopObjZoomAngleX + -5000,
isFlag(8) ? true : false);
} else {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mSeraShopObjZoomAngleX, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mSeraShopObjZoomAngleX,
isFlag(8) ? true : false);
}
} else {
cXyz local_28;
@@ -1446,49 +1444,64 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
if (dShopSystem_itemActor[1] != NULL && dShopSystem_cameraActor[1] != NULL) {
cXyz local_40;
local_40.set(dShopSystem_itemActor[1]->mOrig.mPosition);
f32 tmp_05 = 0.5f;
if (data_80451058 == 4) {
if (dShopSystem_itemActor[2] != NULL) {
f32 tmp = (dShopSystem_itemActor[2]->mOrig.mPosition.x + dShopSystem_itemActor[1]->mOrig.mPosition.x);
f32 tmp = (dShopSystem_itemActor[2]->mOrig.mPosition.x +
dShopSystem_itemActor[1]->mOrig.mPosition.x);
local_40.x = tmp * tmp_05;
f32 tmp2 = (dShopSystem_itemActor[2]->mOrig.mPosition.y + dShopSystem_itemActor[1]->mOrig.mPosition.y);
f32 tmp2 = (dShopSystem_itemActor[2]->mOrig.mPosition.y +
dShopSystem_itemActor[1]->mOrig.mPosition.y);
local_40.y = tmp2 * tmp_05;
f32 tmp3 = (dShopSystem_itemActor[2]->mOrig.mPosition.z + dShopSystem_itemActor[1]->mOrig.mPosition.z);
f32 tmp3 = (dShopSystem_itemActor[2]->mOrig.mPosition.z +
dShopSystem_itemActor[1]->mOrig.mPosition.z);
local_40.z = tmp3 * tmp_05;
}
} else if (data_80451058 == 5) {
f32 tmp = (dShopSystem_itemActor[2]->mOrig.mPosition.x + dShopSystem_itemActor[3]->mOrig.mPosition.x);
f32 tmp = (dShopSystem_itemActor[2]->mOrig.mPosition.x +
dShopSystem_itemActor[3]->mOrig.mPosition.x);
local_40.x = tmp * tmp_05;
local_40.y = dShopSystem_itemActor[0]->mOrig.mPosition.y;
f32 tmp3 = (dShopSystem_itemActor[2]->mOrig.mPosition.z + dShopSystem_itemActor[3]->mOrig.mPosition.z);
f32 tmp3 = (dShopSystem_itemActor[2]->mOrig.mPosition.z +
dShopSystem_itemActor[3]->mOrig.mPosition.z);
local_40.z = tmp3 * tmp_05;
}
cXyz local_4c = local_40 - dShopSystem_cameraActor[1]->mCurrent.mPosition;
s16 atan = cM_atan2s(local_4c.x, local_4c.z);
if (!strcmp("R_SP01", dComIfGp_getStartStageName())) {
local_34.set(g_cursorHIO.mObjZoom.x, g_cursorHIO.mObjZoom.y + -25.0f, g_cursorHIO.mObjZoom.z + 150.0f);
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 (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) {
local_34.set(g_cursorHIO.mObjZoom.x, 5.0f + g_cursorHIO.mObjZoom.y + -50.0f, (g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f);
if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 ||
dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 ||
dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) {
local_34.set(g_cursorHIO.mObjZoom.x, 5.0f + g_cursorHIO.mObjZoom.y + -50.0f,
(g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f);
} else {
local_34.set(g_cursorHIO.mObjZoom.x, 20.0f + g_cursorHIO.mObjZoom.y + -50.0f, (g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f);
local_34.set(g_cursorHIO.mObjZoom.x,
20.0f + g_cursorHIO.mObjZoom.y + -50.0f,
(g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f);
}
} else if (mCursorPos == 7) {
local_34.set(g_cursorHIO.mMagicArmorObjZoom.x, g_cursorHIO.mMagicArmorObjZoom.y + -130.0f, g_cursorHIO.mMagicArmorObjZoom.z + 215.0f);
local_34.set(g_cursorHIO.mMagicArmorObjZoom.x,
g_cursorHIO.mMagicArmorObjZoom.y + -130.0f,
g_cursorHIO.mMagicArmorObjZoom.z + 215.0f);
} else {
local_34.set(g_cursorHIO.mObjZoom.x, g_cursorHIO.mObjZoom.y + -50.0f, g_cursorHIO.mObjZoom.z + 250.0f);
local_34.set(g_cursorHIO.mObjZoom.x, g_cursorHIO.mObjZoom.y + -50.0f,
g_cursorHIO.mObjZoom.z + 250.0f);
}
}
cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->mCurrent.mPosition, atan, &local_34);
cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->mCurrent.mPosition, atan,
&local_34);
if (data_80451058 == 6 || data_80451058 == 5) {
param_0->y += 15.0f;
}
@@ -1501,28 +1514,40 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
u8 dvar1 = field_0xf77;
if (dvar1 == 1) {
if (dShopSystem_itemNo[mCursorPos - 1] == OIL_BOTTLE) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX + -7000, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c,
g_cursorHIO.mShopObjZoomAngleX + -7000,
isFlag(8) ? true : false);
} else {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX,
isFlag(8) ? true : false);
}
} else if (dvar1 == 2) {
if (dShopSystem_itemNo[mCursorPos - 1] == RED_BOTTLE) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 3000, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 3000,
isFlag(8) ? true : false);
} else {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX,
isFlag(8) ? true : false);
}
} else if (dvar1 == 5) {
if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 4000, isFlag(8) ? true : false);
if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 ||
dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 ||
dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 4000,
isFlag(8) ? true : false);
} else {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 2000, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 2000,
isFlag(8) ? true : false);
}
} else if (mCursorPos == 7) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mMagicArmorObjZoomAngleX, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mMagicArmorObjZoomAngleX,
isFlag(8) ? true : false);
} else if (data_80451058 == 7) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 3000, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 3000,
isFlag(8) ? true : false);
} else {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX, isFlag(8) ? true : false);
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX,
isFlag(8) ? true : false);
}
}
@@ -1609,7 +1634,8 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
int itemNo;
if (mFlow.getEventId(&itemNo) == 1) {
if (field_0xd90 == -1) {
field_0xd90 = fopAcM_createItemForPresentDemo(&mCurrent.mPosition, itemNo, 0, -1, -1, NULL, NULL);
field_0xd90 = fopAcM_createItemForPresentDemo(&mCurrent.mPosition, itemNo,
0, -1, -1, NULL, NULL);
}
if (fpcEx_IsExist(field_0xd90)) {
@@ -1683,7 +1709,7 @@ int dShopSystem_c::seq_select_start(fopAc_ac_c*, dMsgFlow_c*) {
}
}
break;
case 3:
mCursorPos = 2;
if (isFlag(mCursorPos - 1)) {
@@ -1777,7 +1803,8 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
return 0;
}
}
} else if (control_status == 3 || control_status == 4 || control_status == 5 || control_status == 6 || control_status == 7 || control_status == 2) {
} else if (control_status == 3 || control_status == 4 || control_status == 5 ||
control_status == 6 || control_status == 7 || control_status == 2) {
if (mLastCursorPos == 7) {
mLastCursorPos = mCursorPos;
mCursorPos = 7;
@@ -1853,7 +1880,7 @@ int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) {
cXyz pos3d;
cXyz last_pos2d;
cXyz pos2d;
pos3d.set(mItemCtrl.getCurrentPos(mCursorPos - 1));
pos3Dto2D(&pos3d, &pos2d);
@@ -1876,7 +1903,8 @@ int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) {
}
f32 tmp = (f32)(field_0xf68 * field_0xf68) / 9.0f;
mpDrawCursor->setPos(last_pos2d.x + tmp * (pos2d.x - last_pos2d.x), last_pos2d.y + tmp * (pos2d.y - last_pos2d.y));
mpDrawCursor->setPos(last_pos2d.x + tmp * (pos2d.x - last_pos2d.x),
last_pos2d.y + tmp * (pos2d.y - last_pos2d.y));
} else {
mpDrawCursor->setPos(pos2d.x, pos2d.y);
@@ -1903,7 +1931,7 @@ asm int dShopSystem_c::seq_moving(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
* seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
int control_status = checkController(SEQ_SELECT_WAIT, p_flow);
dComIfGp_setDoStatusForce(0x22, 0);
if (!p_flow->isSelectMessage()) {
dComIfGp_setAStatusForce(0x2A, 0);
@@ -1941,7 +1969,8 @@ int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
p_flow->doFlow(actor, NULL, 0);
int select_num = p_flow->getSelectNum();
if (dMsgObject_c::getStatus() != 6 && dMsgObject_c::getStatus() != 8 && dMsgObject_c::getStatus() != 9 && dMsgObject_c::getStatus() != 20) {
if (dMsgObject_c::getStatus() != 6 && dMsgObject_c::getStatus() != 8 &&
dMsgObject_c::getStatus() != 9 && dMsgObject_c::getStatus() != 20) {
if ((u16)select_num == 0) {
setSeq(SEQ_DECIDE_YES);
} else {
@@ -1966,7 +1995,8 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
if (mFlow.getEventId(&itemNo) == 1) {
if (p_flow->doFlow(actor, NULL, 0)) {
if (field_0xd90 == -1) {
field_0xd90 = fopAcM_createItemForPresentDemo(&mCurrent.mPosition, itemNo, 0, -1, -1, NULL, NULL);
field_0xd90 = fopAcM_createItemForPresentDemo(&mCurrent.mPosition, itemNo, 0, -1,
-1, NULL, NULL);
}
if (fpcEx_IsExist(field_0xd90)) {
@@ -2069,12 +2099,7 @@ SECTION_SDATA static shop_item_data* shop_item_pos_data_tbl = &item_seira_shop;
/* 80453B58-80453B60 002158 0006+02 1/1 0/0 0/0 .sdata2 item_no$5460 */
SECTION_SDATA2 static u8 item_no[6] = {
MILK_BOTTLE,
BEE_CHILD,
PACHINKO,
MILK_BOTTLE,
BEE_CHILD,
NO_ITEM,
MILK_BOTTLE, BEE_CHILD, PACHINKO, MILK_BOTTLE, BEE_CHILD, NO_ITEM,
};
/* 8019A238-8019A344 194B78 010C+00 0/0 0/0 1/1 .text createShopItem__13dShopSystem_cFi
@@ -2093,7 +2118,8 @@ void dShopSystem_c::createShopItem(int itemType) {
pos.z = shop_item_pos_data_tbl->mItemPos[i].z + mCurrent.mPosition.z;
if (itemTbl[i] != NO_ITEM) {
u32 index = fopAcM_create(PROC_ShopItem, itemTbl[i], &pos, fopAcM_GetRoomNo(this), &mCurrent.mAngle, NULL, -1);
u32 index = fopAcM_create(PROC_ShopItem, itemTbl[i], &pos, fopAcM_GetRoomNo(this),
&mCurrent.mAngle, NULL, -1);
mItemCtrl.setItemIndex(i, index);
offFlag(i);
} else {