mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 15:01:53 -04:00
2579 lines
93 KiB
C++
2579 lines
93 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: d/msg/d_msg_flow
|
|
//
|
|
|
|
#include "d/msg/d_msg_flow.h"
|
|
#include "SSystem/SComponent/c_math.h"
|
|
#include "d/a/d_a_alink.h"
|
|
#include "d/com/d_com_inf_game.h"
|
|
#include "d/com/d_com_static.h"
|
|
#include "d/d_item.h"
|
|
#include "d/d_procname.h"
|
|
#include "d/meter/d_meter2_info.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_actor_mng.h"
|
|
#include "f_op/f_op_msg_mng.h"
|
|
#include "m_Do/m_Do_audio.h"
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
extern "C" void __ct__10dMsgFlow_cFv();
|
|
extern "C" void __dt__10dMsgFlow_cFv();
|
|
extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
|
|
extern "C" void checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi();
|
|
extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
|
|
extern "C" void checkEventRender__10dMsgFlow_cFPiPiPiPi();
|
|
extern "C" void remove__10dMsgFlow_cFv();
|
|
extern "C" void getEventId__10dMsgFlow_cFPi();
|
|
extern "C" void getMsgNo__10dMsgFlow_cFv();
|
|
extern "C" void getNowMsgNo__10dMsgFlow_cFv();
|
|
extern "C" void getMsg__10dMsgFlow_cFv();
|
|
extern "C" void setInitValue__10dMsgFlow_cFi();
|
|
extern "C" void setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c();
|
|
extern "C" void getMsgDataBlock__10dMsgFlow_cFPCc();
|
|
extern "C" void getInitNodeIndex__10dMsgFlow_cFUs();
|
|
extern "C" void setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c();
|
|
extern "C" void setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c();
|
|
extern "C" void setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c();
|
|
extern "C" void messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
|
|
extern "C" void branchNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
|
|
extern "C" void eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
|
|
extern "C" void nodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
|
|
extern "C" void getParam__10dMsgFlow_cFPUsPUsPUc();
|
|
extern "C" void getParam__10dMsgFlow_cFPUcPUc();
|
|
extern "C" void getParam__10dMsgFlow_cFPUc();
|
|
extern "C" void query001__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query002__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query003__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query004__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query006__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query011__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query012__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query013__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query014__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query015__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query016__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query017__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query018__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query019__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query020__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query021__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query023__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query026__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query030__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query033__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query034__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query035__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query036__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query037__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query042__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query044__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query046__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" bool query047__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query048__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query049__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query050__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query051__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query052__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void query053__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
|
|
extern "C" void event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event001__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event002__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event003__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event006__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event007__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event008__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event009__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event010__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event011__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" bool event012__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event013__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event014__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event015__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event016__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event017__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event018__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" bool event019__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event020__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event022__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event024__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event025__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event026__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event028__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event029__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event030__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event031__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event035__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event036__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event037__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event038__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event039__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void event041__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" bool event042__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
|
|
extern "C" void func_8024DAB0(void* _this, s32*);
|
|
extern "C" void __sinit_d_msg_flow_cpp();
|
|
extern "C" extern char const* const d_msg_d_msg_flow__stringBase0;
|
|
extern "C" u8 mQueryList__10dMsgFlow_c[636];
|
|
extern "C" u8 mEventList__10dMsgFlow_c[516];
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
extern "C" void fadeOut__13mDoGph_gInf_cFfR8_GXColor();
|
|
extern "C" void fopMsgM_SearchByID__FUi();
|
|
extern "C" void fopMsgM_messageSet__FUlP10fopAc_ac_cUl();
|
|
extern "C" void fopMsgM_messageSet__FUlUl();
|
|
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
|
|
extern "C" void setItemBombNumCount__14dComIfG_play_cFUcs();
|
|
extern "C" void dComIfGp_getReverb__Fi();
|
|
extern "C" void dComIfGs_onZoneSwitch__Fii();
|
|
extern "C" void dComIfGs_offZoneSwitch__Fii();
|
|
extern "C" void dComIfGs_isZoneSwitch__Fii();
|
|
extern "C" void dComIfGs_onOneZoneSwitch__Fii();
|
|
extern "C" void dComIfGs_offOneZoneSwitch__Fii();
|
|
extern "C" void dComIfGs_isOneZoneSwitch__Fii();
|
|
extern "C" void dComIfGs_isZoneItem__Fii();
|
|
extern "C" void dComIfGs_isOneZoneItem__Fii();
|
|
extern "C" void dComIfGs_setSelectItemIndex__FiUc();
|
|
extern "C" void dComIfGs_setMixItemIndex__FiUc();
|
|
extern "C" void dComIfGs_getMixItemIndex__Fi();
|
|
extern "C" void dComIfGp_setSelectItem__Fi();
|
|
extern "C" void dComIfGs_checkGetInsectNum__Fv();
|
|
extern "C" void daNpcKakashi_getSwdTutorialStep__Fv();
|
|
extern "C" void daNpcKakashi_getSwdTutorialResult__Fv();
|
|
extern "C" void daNpcKakashi_getSuccessCount__Fv();
|
|
extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi();
|
|
extern "C" void getRupeeMax__21dSv_player_status_a_cCFv();
|
|
extern "C" void setItem__17dSv_player_item_cFiUc();
|
|
extern "C" void getItem__17dSv_player_item_cCFib();
|
|
extern "C" void setBottleItemIn__17dSv_player_item_cFUcUc();
|
|
extern "C" void setEmptyBottleItemIn__17dSv_player_item_cFUc();
|
|
extern "C" void checkInsectBottle__17dSv_player_item_cFv();
|
|
extern "C" void checkEmptyBottle__17dSv_player_item_cFv();
|
|
extern "C" void checkBombBag__17dSv_player_item_cFUc();
|
|
extern "C" void setWarashibeItem__17dSv_player_item_cFUc();
|
|
extern "C" void offFirstBit__21dSv_player_get_item_cFUc();
|
|
extern "C" void setBombNum__24dSv_player_item_record_cFUcUc();
|
|
extern "C" void getBombNum__24dSv_player_item_record_cCFUc();
|
|
extern "C" void getBombNum__21dSv_player_item_max_cCFUc();
|
|
extern "C" void getLightDropNum__16dSv_light_drop_cCFUc();
|
|
extern "C" void onLightDropGetFlag__16dSv_light_drop_cFUc();
|
|
extern "C" void isTbox__12dSv_memBit_cCFi();
|
|
extern "C" void onSwitch__12dSv_memBit_cFi();
|
|
extern "C" void offSwitch__12dSv_memBit_cFi();
|
|
extern "C" void isSwitch__12dSv_memBit_cCFi();
|
|
extern "C" void isItem__12dSv_memBit_cCFi();
|
|
extern "C" void onEventBit__11dSv_event_cFUs();
|
|
extern "C" void offEventBit__11dSv_event_cFUs();
|
|
extern "C" void isEventBit__11dSv_event_cCFUs();
|
|
extern "C" void setEventReg__11dSv_event_cFUsUc();
|
|
extern "C" void getEventReg__11dSv_event_cCFUs();
|
|
extern "C" void onSwitch__12dSv_danBit_cFi();
|
|
extern "C" void offSwitch__12dSv_danBit_cFi();
|
|
extern "C" void isSwitch__12dSv_danBit_cCFi();
|
|
extern "C" void isItem__12dSv_danBit_cCFi();
|
|
extern "C" void checkDistance__12dAttention_cFP4cXyzsP4cXyzffff();
|
|
extern "C" void execItemGet__FUc();
|
|
extern "C" void checkItemGet__FUci();
|
|
extern "C" void setMidnaMsg__9daAlink_cFv();
|
|
extern "C" void getDistTable__12dAttention_cFi();
|
|
extern "C" void getAttentionOffsetY__9daPy_py_cFv();
|
|
extern "C" void setMidnaMotionNum__9daPy_py_cFi();
|
|
extern "C" void setMidnaFaceNum__9daPy_py_cFi();
|
|
extern "C" void isFlag__13dShopSystem_cFi();
|
|
extern "C" void setSoldOutFlag__13dShopSystem_cFv();
|
|
extern "C" void resetMiniGameItem__13dMeter2Info_cFb();
|
|
extern "C" void dMeter2Info_getNewLetterNum__Fv();
|
|
extern "C" void dMeter2Info_setNewLetterSender__Fv();
|
|
extern "C" void dMeter2Info_recieveLetter__Fv();
|
|
extern "C" void isMidonaMessage__12dMsgObject_cFv();
|
|
extern "C" void isKillMessageFlag__12dMsgObject_cFv();
|
|
extern "C" void onKillMessageFlag__12dMsgObject_cFv();
|
|
extern "C" void setTalkPartner__12dMsgObject_cFP10fopAc_ac_c();
|
|
extern "C" void setNowTalkFlowNo__12dMsgObject_cFs();
|
|
extern "C" void changeFlowGroup__12dMsgObject_cFl();
|
|
extern "C" void endFlowGroup__12dMsgObject_cFv();
|
|
extern "C" void getMsgDtPtr__12dMsgObject_cFv();
|
|
extern "C" void getStatus__12dMsgObject_cFv();
|
|
extern "C" void setSelectCursorPos__12dMsgObject_cFUc();
|
|
extern "C" void setArrowNum__12dMsgObject_cFUc();
|
|
extern "C" void setSelectWordFlag__12dMsgObject_cFUc();
|
|
extern "C" void getSelectBombBagID__12dMsgObject_cFv();
|
|
extern "C" void getSelectBombPrice__12dMsgObject_cFv();
|
|
extern "C" void setEquipBombInfo__12dMsgObject_cFv();
|
|
extern "C" void setSelectCancelPos__12dMsgObject_cFUc();
|
|
extern "C" void dMsgObject_getFundRaising__Fv();
|
|
extern "C" void dMsgObject_setFundRaising__FUs();
|
|
extern "C" void dMsgObject_getOffering__Fv();
|
|
extern "C" void dMsgObject_addOffering__Fs();
|
|
extern "C" void __mi__4cXyzCFRC3Vec();
|
|
extern "C" void cM_rndF__Ff();
|
|
extern "C" void __mi__7cSAngleCFs();
|
|
extern "C" void __ct__7cSGlobeFRC4cXyz();
|
|
extern "C" void messageSePlay__7Z2SeMgrFUsP3VecSc();
|
|
extern "C" void __dl__FPv();
|
|
extern "C" void __ptmf_scall();
|
|
extern "C" void _savegpr_25();
|
|
extern "C" void _savegpr_26();
|
|
extern "C" void _savegpr_27();
|
|
extern "C" void _savegpr_28();
|
|
extern "C" void _savegpr_29();
|
|
extern "C" void _restgpr_25();
|
|
extern "C" void _restgpr_26();
|
|
extern "C" void _restgpr_27();
|
|
extern "C" void _restgpr_28();
|
|
extern "C" void _restgpr_29();
|
|
extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
|
|
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
|
extern "C" extern dScnKy_env_light_c g_env_light;
|
|
extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
|
|
extern "C" extern GXColor g_saftyWhiteColor;
|
|
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
|
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* ############################################################################################## */
|
|
/* 803C14B8-803C14C4 01E5D8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
|
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
/* 803C14C4-803C151C -00001 0058+00 1/1 0/0 0/0 .data @4646 */
|
|
SECTION_DATA static void* lit_4646[22] = {
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x138),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
|
|
};
|
|
|
|
/* 803C151C-803C1584 -00001 0068+00 1/1 0/0 0/0 .data @4645 */
|
|
SECTION_DATA static void* lit_4645[26] = {
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
|
|
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
|
|
};
|
|
|
|
/* 803C1584-803C15D0 -00001 004C+00 1/1 0/0 0/0 .data @4936 */
|
|
SECTION_DATA static void* lit_4936[19] = {
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x14C),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x160),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x1BC),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
|
|
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x1BC),
|
|
};
|
|
|
|
/* 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,
|
|
};
|
|
|
|
/* 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,
|
|
};
|
|
|
|
/* 803C1ED0-803C1EF0 -00001 0020+00 1/1 0/0 0/0 .data @6324 */
|
|
SECTION_DATA static void* lit_6324[8] = {
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xD8),
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x34),
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x4C),
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x64),
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x7C),
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x94),
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xAC),
|
|
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC4),
|
|
};
|
|
|
|
/* 803C1EF0-803C1F20 -00001 0030+00 1/1 0/0 0/0 .data @6503 */
|
|
SECTION_DATA static void* lit_6503[12] = {
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC4),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x160),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x1FC),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x298),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x298),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x2B8),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x308),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x358),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
|
|
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
|
|
};
|
|
|
|
/* 803C1F20-803C1F40 -00001 0020+00 1/1 0/0 0/0 .data @6752 */
|
|
SECTION_DATA static void* lit_6752[8] = {
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xF4),
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x34),
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x50),
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x6C),
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x88),
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xA4),
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC0),
|
|
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xDC),
|
|
};
|
|
|
|
/* 80249F00-80249F48 244840 0048+00 0/0 5/5 154/154 .text __ct__10dMsgFlow_cFv */
|
|
dMsgFlow_c::dMsgFlow_c() {
|
|
mNonStopJunpFlowFlag = 0;
|
|
setInitValue(1);
|
|
}
|
|
|
|
/* 80249F48-80249F90 244888 0048+00 1/0 7/7 111/111 .text __dt__10dMsgFlow_cFv */
|
|
dMsgFlow_c::~dMsgFlow_c() {}
|
|
|
|
/* ############################################################################################## */
|
|
/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
|
#pragma push
|
|
#pragma force_active on
|
|
SECTION_DEAD static char const* const stringBase_80399CB0 = "FLW1";
|
|
SECTION_DEAD static char const* const stringBase_80399CB5 = "FLI1";
|
|
#pragma pop
|
|
|
|
/* 80249F90-8024A13C 2448D0 01AC+00 0/0 10/10 86/86 .text
|
|
* init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c */
|
|
void dMsgFlow_c::init(fopAc_ac_c* param_0, int param_1, int param_2, fopAc_ac_c** param_3) {
|
|
u16 uVar4;
|
|
u16 flow_val;
|
|
|
|
if (!dMsgObject_isTalkNowCheck()) {
|
|
if (param_3 == NULL) {
|
|
dComIfGp_setMesgCameraInfoActor(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL);
|
|
}
|
|
|
|
if (param_2 == 0 && g_MsgObject_HIO_c.mMsgDebug == 2) {
|
|
param_1 = g_MsgObject_HIO_c.mFlowIndex;
|
|
}
|
|
flow_val = param_1;
|
|
|
|
dMsgObject_changeFlowGroup(param_1);
|
|
if (param_2 == 0) {
|
|
setInitValue(1);
|
|
mFlow_p = getMsgDataBlock("FLW1");
|
|
mLabelInfo_p = getMsgDataBlock("FLI1");
|
|
mFlowNodeTBL = (mesg_flow_node*)(mFlow_p + 0x10);
|
|
field_0x14 = (u16*)(mFlowNodeTBL + (*(u16*)(mFlow_p + 8)));
|
|
field_0x18 = field_0x14 + *(u16*)(mFlow_p + 8);
|
|
|
|
mFlow = flow_val;
|
|
if (param_0 != NULL) {
|
|
dMsgObject_setTalkPartner(param_0);
|
|
}
|
|
setNodeIndex(getInitNodeIndex(mFlow), param_3);
|
|
} else {
|
|
uVar4 = field_0x10;
|
|
setInitValue(0);
|
|
if (param_0 != NULL) {
|
|
dMsgObject_setTalkPartner(param_0);
|
|
}
|
|
setNodeIndex(uVar4, param_3);
|
|
}
|
|
dMsgObject_setSelectWordFlag(0);
|
|
}
|
|
}
|
|
|
|
/* 8024A13C-8024A2D8 244A7C 019C+00 2/0 0/0 2/2 .text checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi
|
|
*/
|
|
// regalloc, instruction issues
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::checkOpenDoor(fopAc_ac_c *param_1,int *param_2) {
|
|
if (dMsgObject_isTalkNowCheck()) {
|
|
return 0;
|
|
} else {
|
|
int iVar3 = 0;
|
|
int iVar7 = 0;
|
|
s32 bVar2 = 0;
|
|
mesg_flow_node* iVar8;
|
|
u16 uVar5 = getInitNodeIndex(mFlow);
|
|
while (((uVar5 != 0xffff && (!iVar3)) && (!bVar2))) {
|
|
iVar8 = &mFlowNodeTBL[uVar5];
|
|
switch(iVar8->type) {
|
|
case 0:
|
|
default:
|
|
break;
|
|
case 1:
|
|
uVar5 = *(u16*)iVar8->params;
|
|
iVar7 = iVar7 + 1;
|
|
break;
|
|
case 2:
|
|
mesg_flow_node_branch* nodeBranch = (mesg_flow_node_branch*)iVar8;
|
|
switch(iVar8->msg_index) {
|
|
case 0:
|
|
case 4:
|
|
case 7:
|
|
case 8:
|
|
case 9:
|
|
case 0x19:
|
|
bVar2 = 1;
|
|
break;
|
|
}
|
|
u32 sVar6 = (this->*mQueryList[iVar8->msg_index])(nodeBranch, param_1, 0);
|
|
uVar5 = field_0x14[(*(u16*)(iVar8->params + 2)) + sVar6];
|
|
break;
|
|
|
|
case 3:
|
|
switch(iVar8->field_0x1) {
|
|
case 8:
|
|
case 9:
|
|
case 0xd:
|
|
case 0x10:
|
|
case 0x13:
|
|
case 0x1d:
|
|
bVar2 = 1;
|
|
break;
|
|
case 0xc:
|
|
iVar3 = 1;
|
|
break;
|
|
default:
|
|
uVar5 = field_0x14[iVar8->msg_index];
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if (param_2 != NULL) {
|
|
*param_2 = iVar7;
|
|
}
|
|
return iVar3;
|
|
}
|
|
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::checkOpenDoor(fopAc_ac_c* param_0, int* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024A2D8-8024A424 244C18 014C+00 0/0 21/21 78/78 .text
|
|
* doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci */
|
|
int dMsgFlow_c::doFlow(fopAc_ac_c* param_0, fopAc_ac_c** param_1, int flow) {
|
|
int check = false;
|
|
u16 set_flow = flow;
|
|
dMsgObject_changeFlowGroup(mFlow);
|
|
|
|
if (dMsgObject_isKillMessageFlag()) {
|
|
field_0x27 = 1;
|
|
field_0x26 = 1;
|
|
set_flow = 0;
|
|
}
|
|
|
|
if (field_0x26 != 0 && set_flow != 0) {
|
|
setInitValue(0);
|
|
mFlow = set_flow;
|
|
setNodeIndex(getInitNodeIndex(mFlow), param_1);
|
|
check = true;
|
|
}
|
|
|
|
if (field_0x26 != 0 || field_0x27 != 0) {
|
|
msg_class* msg = fopMsgM_SearchByID(mMsg);
|
|
if (msg != NULL) {
|
|
if (msg->mMode != 0x12) {
|
|
return 0;
|
|
}
|
|
|
|
msg->mMode = 0x13;
|
|
mMsg = -1;
|
|
}
|
|
field_0x27 = 0;
|
|
}
|
|
|
|
if (field_0x26 != 0) {
|
|
daPy_py_c::setMidnaMotionNum(0);
|
|
daPy_py_c::setMidnaFaceNum(0);
|
|
return 1;
|
|
}
|
|
|
|
int proc_status = nodeProc(param_0, param_1);
|
|
return proc_status != 0 || check;
|
|
}
|
|
|
|
/* 8024A424-8024A4C4 244D64 00A0+00 0/0 2/2 1/1 .text checkEventRender__10dMsgFlow_cFPiPiPiPi */
|
|
int dMsgFlow_c::checkEventRender(int* param_0, int* param_1, int* param_2, int* param_3) {
|
|
if (field_0x47) {
|
|
if (param_0 != NULL) {
|
|
int tmp0;
|
|
if (field_0x42 == 0xFF) {
|
|
tmp0 = -1;
|
|
} else {
|
|
tmp0 = field_0x42;
|
|
}
|
|
*param_0 = tmp0;
|
|
}
|
|
|
|
if (param_1 != NULL) {
|
|
int tmp1;
|
|
if (field_0x43 == 0xFF) {
|
|
tmp1 = -1;
|
|
} else {
|
|
tmp1 = field_0x43;
|
|
}
|
|
*param_1 = tmp1;
|
|
}
|
|
|
|
if (param_2 != NULL) {
|
|
int tmp2;
|
|
if (field_0x44 == 0xFF) {
|
|
tmp2 = -1;
|
|
} else {
|
|
tmp2 = field_0x44;
|
|
}
|
|
*param_2 = tmp2;
|
|
}
|
|
|
|
if (param_3 != NULL) {
|
|
int tmp3;
|
|
if (field_0x45 == 0xFF) {
|
|
tmp3 = -1;
|
|
} else {
|
|
tmp3 = field_0x45;
|
|
}
|
|
*param_3 = tmp3;
|
|
}
|
|
}
|
|
|
|
return field_0x47 == 1;
|
|
}
|
|
|
|
/* 8024A4C4-8024A528 244E04 0064+00 0/0 0/0 10/10 .text remove__10dMsgFlow_cFv */
|
|
void dMsgFlow_c::remove() {
|
|
field_0x27 = 0;
|
|
field_0x26 = 1;
|
|
|
|
if (fopMsgM_SearchByID(mMsg) != NULL) {
|
|
dMsgObject_c::onKillMessageFlag();
|
|
mMsg = -1;
|
|
}
|
|
|
|
daPy_py_c::setMidnaMotionNum(0);
|
|
daPy_py_c::setMidnaFaceNum(0);
|
|
}
|
|
|
|
/* 8024A528-8024A538 244E68 0010+00 0/0 2/2 66/66 .text getEventId__10dMsgFlow_cFPi */
|
|
u16 dMsgFlow_c::getEventId(int* oItemId_p) {
|
|
*oItemId_p = field_0x30;
|
|
return mEventId;
|
|
}
|
|
|
|
/* 8024A538-8024A540 244E78 0008+00 0/0 3/3 4/4 .text getMsgNo__10dMsgFlow_cFv */
|
|
int dMsgFlow_c::getMsgNo() {
|
|
return mMsgNo;
|
|
}
|
|
|
|
/* 8024A540-8024A548 244E80 0008+00 0/0 0/0 12/12 .text getNowMsgNo__10dMsgFlow_cFv */
|
|
int dMsgFlow_c::getNowMsgNo() {
|
|
return mNowMsgNo;
|
|
}
|
|
|
|
/* 8024A548-8024A580 244E88 0038+00 0/0 2/2 4/4 .text getMsg__10dMsgFlow_cFv */
|
|
msg_class* dMsgFlow_c::getMsg() {
|
|
if (mMsg != -1) {
|
|
return fopMsgM_SearchByID(mMsg);
|
|
}
|
|
|
|
return NULL;
|
|
}
|
|
|
|
/* 8024A580-8024A618 244EC0 0098+00 5/5 0/0 0/0 .text setInitValue__10dMsgFlow_cFi */
|
|
void dMsgFlow_c::setInitValue(int param_0) {
|
|
if (param_0 != 0) {
|
|
mFlow_p = NULL;
|
|
mLabelInfo_p = NULL;
|
|
mFlowNodeTBL = NULL;
|
|
field_0x14 = NULL;
|
|
field_0x18 = 0;
|
|
mMsg = -1;
|
|
mMsgNo = 0;
|
|
mNowMsgNo = 0;
|
|
}
|
|
|
|
field_0x10 = -1;
|
|
mFlow = 0;
|
|
field_0x46 = 0;
|
|
mSelectMessage = 0;
|
|
field_0x25 = 0;
|
|
field_0x26 = 0;
|
|
field_0x27 = 0;
|
|
field_0x30 = 0;
|
|
mEventId = 0;
|
|
field_0x34 = 91;
|
|
field_0x38 = 0;
|
|
mChoiceNo = -1;
|
|
field_0x3c = 0;
|
|
field_0x40 = 0;
|
|
field_0x41 = 0;
|
|
field_0x42 = -1;
|
|
field_0x43 = -1;
|
|
field_0x44 = -1;
|
|
field_0x45 = -1;
|
|
field_0x47 = 0;
|
|
}
|
|
|
|
/* 8024A618-8024A6EC 244F58 00D4+00 1/1 0/0 0/0 .text
|
|
* setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c */
|
|
void dMsgFlow_c::setInitValueGroupChange(int param_1, fopAc_ac_c** param_2) {
|
|
u8* pJVar1;
|
|
u32 uVar2;
|
|
s32 unaff_r13;
|
|
|
|
dMsgObject_changeFlowGroup(param_1);
|
|
setInitValue(0);
|
|
mFlow_p = getMsgDataBlock("FLW1");
|
|
mLabelInfo_p = getMsgDataBlock("FLI1");
|
|
mFlowNodeTBL = (mesg_flow_node*)(mFlow_p + 0x10);
|
|
field_0x14 = (u16*)(mFlowNodeTBL + *(u16*)(mFlow_p + 8));
|
|
field_0x18 = field_0x14 + *(u16*)(mFlow_p + 8);
|
|
mFlow = param_1;
|
|
setNodeIndex(getInitNodeIndex(mFlow), param_2);
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
|
|
/* 8024A6EC-8024A784 24502C 0098+00 4/4 0/0 0/0 .text getMsgDataBlock__10dMsgFlow_cFPCc
|
|
*/
|
|
u8* dMsgFlow_c::getMsgDataBlock(char const* block_tag) {
|
|
char tag[5] = {0};
|
|
u8* dt_p = dMsgObject_c::getMsgDtPtr();
|
|
u8* block;
|
|
u32 num;
|
|
u32 i;
|
|
|
|
num = *(u32*)(dt_p + 0xC);
|
|
i = 0;
|
|
block = dt_p + 0x20;
|
|
|
|
for (; i < num; i++) {
|
|
memcpy(tag, block, 4);
|
|
|
|
if (!strcmp(tag, block_tag)) {
|
|
return block;
|
|
}
|
|
block = block + *(int*)(block + 4);
|
|
}
|
|
|
|
return NULL;
|
|
}
|
|
|
|
/* 8024A784-8024A7CC 2450C4 0048+00 5/5 0/0 0/0 .text getInitNodeIndex__10dMsgFlow_cFUs
|
|
*/
|
|
u16 dMsgFlow_c::getInitNodeIndex(u16 param_1) {
|
|
u8* puVar4;
|
|
u16 uVar2;
|
|
uVar2 = -1;
|
|
puVar4 = mLabelInfo_p + 0x10;
|
|
for (int i = 0; i < *(u16*)(mLabelInfo_p + 8); i++) {
|
|
if (*(u32*)puVar4 >> 16 == param_1) {
|
|
uVar2 = *(u16*)(puVar4 + 4);
|
|
}
|
|
puVar4 += 8;
|
|
}
|
|
return uVar2;
|
|
}
|
|
|
|
/* 8024A7CC-8024A95C 24510C 0190+00 6/6 0/0 0/0 .text setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c
|
|
*/
|
|
void dMsgFlow_c::setNodeIndex(u16 param_1, fopAc_ac_c** param_2) {
|
|
msg_class* msg = NULL;
|
|
if (mMsg != -1) {
|
|
msg = fopMsgM_SearchByID(mMsg);
|
|
}
|
|
|
|
if (param_1 == 0xffff) {
|
|
if (msg != NULL) {
|
|
msg->mMode = 0x10;
|
|
}
|
|
dMsgObject_endFlowGroup();
|
|
field_0x26 = 0x1;
|
|
} else {
|
|
switch (mFlowNodeTBL[param_1].type) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
field_0x25 = 0x1;
|
|
break;
|
|
case 2:
|
|
break;
|
|
case 3:
|
|
mesg_flow_node* node = &mFlowNodeTBL[param_1];
|
|
if (node->field_0x1 == 21 || node->field_0x1 == 32 ||
|
|
node->field_0x1 == 33) {
|
|
if (node->field_0x1 == 21) {
|
|
field_0x3c = getParam(node->params);
|
|
} else {
|
|
u16 local_22[3];
|
|
getParam(local_22, local_22 + 1, node->params);
|
|
field_0x3c = local_22[1] + 1;
|
|
}
|
|
if (msg != NULL) {
|
|
msg->mMode = 0x10;
|
|
dMsgObject_endFlowGroup();
|
|
}
|
|
field_0x27 = 1;
|
|
}
|
|
if (node->field_0x1 == 9) {
|
|
field_0x27 = 1;
|
|
} else if (node->field_0x1 == 19) {
|
|
u16 local_26;
|
|
u16 local_28;
|
|
getParam(&local_28, &local_26, node->params);
|
|
field_0x38 = local_26;
|
|
if (param_2 != NULL) {
|
|
dMsgObject_setTalkPartner(param_2[field_0x38]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
field_0x10 = param_1;
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
|
#pragma push
|
|
#pragma force_active on
|
|
SECTION_DEAD static char const* const stringBase_80399CBA = "";
|
|
SECTION_DEAD static char const* const stringBase_80399CBB = "INF1";
|
|
#pragma pop
|
|
|
|
/* 8024A95C-8024AA50 24529C 00F4+00 1/1 0/0 0/0 .text
|
|
* setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c */
|
|
int dMsgFlow_c::setSelectMsg(mesg_flow_node* param_1, mesg_flow_node* param_2,
|
|
fopAc_ac_c* param_3) {
|
|
u32 uVar1;
|
|
u32 uVar2;
|
|
u16* iVar3;
|
|
|
|
iVar3 = (u16*) getMsgDataBlock("INF1");
|
|
uVar1 = ((iVar3 + (param_2->msg_index) * 10))[10];
|
|
uVar2 = ((iVar3 + (param_1->msg_index) * 10))[10];
|
|
|
|
if (mMsg != -1) {
|
|
msg_class* iVar3 = fopMsgM_SearchByID(mMsg);
|
|
iVar3->mMode = 0xf;
|
|
fopMsgM_messageSet(uVar2, uVar1);
|
|
} else {
|
|
if (dMeter2Info_getFloatingFlowID() == 0xffff) {
|
|
mMsg = fopMsgM_messageSet(uVar2, param_3, uVar1);
|
|
if (mMsg == -1) {
|
|
return 0;
|
|
}
|
|
dMsgObject_setNowTalkFlowNo(mFlow);
|
|
}
|
|
}
|
|
mMsgNo = uVar2;
|
|
field_0x41 = 1;
|
|
return 1;
|
|
}
|
|
|
|
/* 8024AA50-8024AB30 245390 00E0+00 1/1 0/0 0/0 .text
|
|
* setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c */
|
|
int dMsgFlow_c::setNormalMsg(mesg_flow_node* param_1, fopAc_ac_c* param_2) {
|
|
u32 uVar2;
|
|
u16* iVar3;
|
|
|
|
iVar3 = (u16*) getMsgDataBlock("INF1");
|
|
uVar2 = ((iVar3 + (param_1->msg_index) * 10))[10];
|
|
|
|
if (mMsg != -1) {
|
|
msg_class* iVar3 = fopMsgM_SearchByID(mMsg);
|
|
iVar3->mMode = 0xf;
|
|
fopMsgM_messageSet(uVar2, 1000);
|
|
} else {
|
|
if (dMeter2Info_getFloatingFlowID() == 0xffff) {
|
|
mMsg = fopMsgM_messageSet(uVar2, param_2, 1000);
|
|
if (mMsg == -1) {
|
|
return 0;
|
|
}
|
|
dMsgObject_setNowTalkFlowNo(mFlow);
|
|
}
|
|
}
|
|
mMsgNo = uVar2;
|
|
field_0x41 = 1;
|
|
return 1;
|
|
}
|
|
|
|
/* 8024AB30-8024AD54 245470 0224+00 2/1 0/0 0/0 .text
|
|
* messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */
|
|
// Matches with literals (switch table)
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::messageNodeProc(fopAc_ac_c* param_1, fopAc_ac_c** param_2) {
|
|
mesg_flow_node* uVar1;
|
|
|
|
uVar1 = &mFlowNodeTBL[field_0x10];
|
|
if (field_0x25 != 0) {
|
|
if (field_0x46 != 0) {
|
|
u16 pars = *(u16*)uVar1->params;
|
|
if ((field_0x46 == 1) &&
|
|
(mFlowNodeTBL[pars].type == 1)) {
|
|
if (setSelectMsg(mFlowNodeTBL + field_0x10,
|
|
mFlowNodeTBL + pars, param_1)) {
|
|
field_0x10 = pars;
|
|
field_0x46 = 0;
|
|
field_0x25 = 0;
|
|
}
|
|
} else if ((field_0x46 == 2) &&
|
|
(mFlowNodeTBL[pars].type == 2)) {
|
|
if (setNormalMsg(mFlowNodeTBL + field_0x10,param_1)) {
|
|
field_0x46 = 0;
|
|
field_0x25 = 0;
|
|
}
|
|
}
|
|
} else {
|
|
if (setNormalMsg(mFlowNodeTBL + field_0x10, param_1)) {
|
|
field_0x25 = 0;
|
|
}
|
|
}
|
|
return 0;
|
|
} else {
|
|
msg_class* msg = fopMsgM_SearchByID(mMsg);
|
|
if (msg == NULL) {
|
|
field_0x25 = 1;
|
|
} else {
|
|
int mesgCamInfo = dComIfGp_getMesgCameraInfo();
|
|
if (mesgCamInfo != field_0x34) {
|
|
field_0x34 = mesgCamInfo;
|
|
}
|
|
switch (msg->mMode) {
|
|
case 2:
|
|
field_0x41 = 1;
|
|
mNowMsgNo = msg->mMsgID;
|
|
break;
|
|
case 6:
|
|
field_0x40 = field_0x41;
|
|
int mesgAnimeAttrInfo = -1;
|
|
int mesgFaceAnimeAttrInfo = -1;
|
|
if (field_0x41 != 0) {
|
|
mesgAnimeAttrInfo = dComIfGp_getMesgAnimeAttrInfo();
|
|
mesgFaceAnimeAttrInfo = dComIfGp_getMesgFaceAnimeAttrInfo();
|
|
}
|
|
if (mesgAnimeAttrInfo >= 0x1f) {
|
|
daPy_py_c::setMidnaMotionNum(mesgAnimeAttrInfo);
|
|
}
|
|
if (mesgFaceAnimeAttrInfo >= 0x1f) {
|
|
daPy_py_c::setMidnaFaceNum(mesgFaceAnimeAttrInfo);
|
|
}
|
|
field_0x41 = 0;
|
|
mNowMsgNo = msg->mMsgID;
|
|
break;
|
|
case 0xe:
|
|
case 0x12:
|
|
setNodeIndex(*(u16*)uVar1->params, param_2);
|
|
mesg_flow_node* iVar4 = &mFlowNodeTBL[*(u16*)uVar1->params];
|
|
if (iVar4->field_0x1 == 0x15 || iVar4->field_0x1 == 0x20 ||
|
|
iVar4->field_0x1 == 0x21) {
|
|
return 0;
|
|
}
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
}
|
|
return 0;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::messageNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024AD54-8024ADEC 245694 0098+00 1/1 0/0 0/0 .text
|
|
* branchNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */
|
|
int dMsgFlow_c::branchNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) {
|
|
mesg_flow_node_branch* node = (mesg_flow_node_branch*)&mFlowNodeTBL[field_0x10];
|
|
int proc_status = (this->*mQueryList[node->msg_index])(node, param_0, 1);
|
|
|
|
setNodeIndex(field_0x14[(node->params[1] + proc_status) & 0xFFFF], param_1);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024ADEC-8024AFF8 24572C 020C+00 1/1 0/0 0/0 .text
|
|
* eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */
|
|
int dMsgFlow_c::eventNodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) {
|
|
mesg_flow_node_event* node = (mesg_flow_node_event*)&mFlowNodeTBL[field_0x10];
|
|
int proc_status = (this->*mEventList[node->field_0x1])(node, param_0);
|
|
|
|
switch (node->field_0x1) {
|
|
case 8:
|
|
getParam(&mEventId, &field_0x30, node->params);
|
|
setNodeIndex(field_0x14[node->msg_index], param_1);
|
|
|
|
if (field_0x26 != 0) {
|
|
break;
|
|
}
|
|
|
|
u16 tmp = field_0x10;
|
|
setNodeIndex(-1, param_1);
|
|
field_0x10 = tmp;
|
|
|
|
break;
|
|
|
|
case 9:
|
|
if (getParam(node->params) == 0) {
|
|
int msgNum;
|
|
if (daAlink_getAlinkActorClass()->getMidnaMsgNum() == 0xFFFF) {
|
|
s32 stayNo = dComIfGp_roomControl_getStayNo();
|
|
msgNum =
|
|
dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo()->mMsg;
|
|
} else {
|
|
msgNum = daAlink_getAlinkActorClass()->getMidnaMsgNum();
|
|
daAlink_getAlinkActorClass()->setMidnaMsg();
|
|
}
|
|
|
|
setInitValueGroupChange(msgNum, param_1);
|
|
break;
|
|
}
|
|
|
|
setInitValue(0);
|
|
mFlow = getParam(node->params);
|
|
setNodeIndex(getInitNodeIndex(mFlow), param_1);
|
|
|
|
if (mNonStopJunpFlowFlag) {
|
|
break;
|
|
}
|
|
|
|
if (dMsgObject_getMsgObjectClass()->isMidonaMessage()) {
|
|
break;
|
|
}
|
|
|
|
return 0;
|
|
|
|
case 21:
|
|
case 32:
|
|
case 33:
|
|
if (field_0x3c != 0) {
|
|
return 0;
|
|
}
|
|
default:
|
|
setNodeIndex(field_0x14[node->msg_index], param_1);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024AFF8-8024B0F0 245938 00F8+00 1/1 0/0 0/0 .text
|
|
* nodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c */
|
|
int dMsgFlow_c::nodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) {
|
|
fopAc_ac_c* tmp = param_0;
|
|
int proc_status = 1;
|
|
field_0x47 = 0;
|
|
field_0x42 = -1;
|
|
field_0x43 = -1;
|
|
field_0x44 = -1;
|
|
field_0x45 = -1;
|
|
|
|
while (proc_status != 0 && field_0x26 == 0) {
|
|
if (param_1 != NULL) {
|
|
tmp = param_1[field_0x38];
|
|
}
|
|
|
|
switch (mFlowNodeTBL[field_0x10].type) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
proc_status = messageNodeProc(tmp, param_1);
|
|
break;
|
|
case 2:
|
|
proc_status = branchNodeProc(tmp, param_1);
|
|
break;
|
|
case 3:
|
|
proc_status = eventNodeProc(tmp, param_1);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
/* 8024B0F0-8024B108 245A30 0018+00 16/16 0/0 0/0 .text getParam__10dMsgFlow_cFPUsPUsPUc
|
|
*/
|
|
int dMsgFlow_c::getParam(u16* prm0, u16* prm1, u8* params) {
|
|
*prm0 = *(u16*)params;
|
|
*prm1 = *(u16*)(params + 2);
|
|
|
|
return *(int*)params;
|
|
}
|
|
|
|
/* 8024B108-8024B130 245A48 0028+00 3/3 0/0 0/0 .text getParam__10dMsgFlow_cFPUcPUc */
|
|
int dMsgFlow_c::getParam(u8* prm0, u8* params) {
|
|
for (int i = 0; i < 4; i++) {
|
|
prm0[i] = params[i];
|
|
}
|
|
|
|
return *(int*)params;
|
|
}
|
|
|
|
/* 8024B130-8024B138 245A70 0008+00 20/20 0/0 0/0 .text getParam__10dMsgFlow_cFPUc */
|
|
int dMsgFlow_c::getParam(u8* params) {
|
|
return *(int*)params;
|
|
}
|
|
|
|
/* 8024B138-8024B180 245A78 0048+00 1/0 0/0 0/0 .text
|
|
* query001__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query001(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
|
|
return i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[flow_node->params[0] & 0xFFFF]) == false;
|
|
}
|
|
|
|
BOOL daPy_py_c::checkNowWolf() {
|
|
return dComIfGp_getLinkPlayer()->i_checkWolf();
|
|
}
|
|
|
|
/* 8024B180-8024B208 245AC0 0088+00 1/0 0/0 0/0 .text
|
|
* query002__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
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()) {
|
|
return 2;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 80454D90-80454D98 003390 0008+00 5/5 0/0 0/0 .sdata2 @5116 */
|
|
SECTION_SDATA2 static f64 lit_5116 = 4503599627370496.0 /* cast u32 to float */;
|
|
|
|
/* 8024B208-8024B250 245B48 0048+00 1/0 0/0 0/0 .text
|
|
* query003__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
// matches with literals
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::query003(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
|
|
return cM_rndF(flow_node->params[0]);
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query003(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query003__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024B250-8024B2C0 245B90 0070+00 1/0 0/0 0/0 .text
|
|
* query004__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query004(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u16 uVar1 = flow_node->params[0];
|
|
u16 uVar2;
|
|
int p0 = flow_node->params[0];
|
|
BOOL ret;
|
|
|
|
if ( uVar1 == 0 ) {
|
|
uVar2 = dComIfGs_getRupeeMax();
|
|
uVar1 = i_dComIfGs_getRupee();
|
|
ret = uVar1 < uVar2;
|
|
|
|
} else {
|
|
ret = i_dComIfGs_getRupee() < (u16)p0;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
/* 8024B2C0-8024B2F8 245C00 0038+00 2/1 1/1 1/1 .text
|
|
* query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query005(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
return mChoiceNo = fopMsgM_SearchByID(mMsg)->mSelectedChoiceIdx;
|
|
}
|
|
|
|
/* 8024B2F8-8024B32C 245C38 0034+00 1/0 0/0 0/0 .text
|
|
* query006__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query006(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int) {
|
|
int r3 = query005(flow_node, param_1, 0);
|
|
mChoiceNo = r3;
|
|
return r3;
|
|
}
|
|
|
|
/* 8024B32C-8024B45C 245C6C 0130+00 1/0 0/0 0/0 .text
|
|
* query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
// instruction order and u16 issue
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u32 uVar3 = *(u16*)(flow_node->params);
|
|
cXyz this_00 = daPy_getPlayerActorClass()->mAttentionInfo.mPosition;
|
|
this_00.y -= daPy_getPlayerActorClass()->getAttentionOffsetY();
|
|
s16 uVar8 = (cSGlobe(param_1->mAttentionInfo.mPosition - this_00).U() - daPy_getPlayerActorClass()->shape_angle.GetY());
|
|
u8 attentionId = param_1->mAttentionInfo.field_0x0[3];
|
|
f32 fVar1 = dAttention_c::getDistTable(attentionId).field_0x4;
|
|
u16 x = uVar3;
|
|
if (x != 0) {
|
|
fVar1 = x;
|
|
}
|
|
|
|
return (u16) dComIfGp_getAttention().checkDistance(
|
|
&this_00, uVar8, ¶m_1->mAttentionInfo.mPosition, fVar1,
|
|
dAttention_c::getDistTable(attentionId).field_0x8,
|
|
dAttention_c::getDistTable(attentionId).field_0xc,
|
|
dAttention_c::getDistTable(attentionId).field_0x10);
|
|
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024B45C-8024B4A4 245D9C 0048+00 1/0 0/0 0/0 .text
|
|
* query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query008(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u32 prm0 = flow_node->params[0];
|
|
u16 prm1 = prm0;
|
|
return (u8)daNpcKakashi_getSwdTutorialStep() - 1 != (u16)prm1;
|
|
}
|
|
|
|
/* 8024B4A4-8024B4D0 245DE4 002C+00 1/0 0/0 0/0 .text
|
|
* query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query009(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return daNpcKakashi_getSwdTutorialResult() == 0;
|
|
}
|
|
|
|
/* 8024B4D0-8024B504 245E10 0034+00 1/0 0/0 0/0 .text
|
|
* query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query010(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return ((u8)daNpcKakashi_getSuccessCount()) != 1;
|
|
}
|
|
|
|
/* 8024B504-8024B54C 245E44 0048+00 1/0 0/0 0/0 .text
|
|
* query011__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query011(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return dComIfGs_isTmpBit(dSv_event_tmp_flag_c::tempBitLabels[flow_node->params[0] & 0xFFFF]) == 0;
|
|
}
|
|
|
|
/* 8024B54C-8024B584 245E8C 0038+00 1/0 0/0 0/0 .text
|
|
* query012__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query012(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return dComIfGs_isTbox(flow_node->params[0]) == 0;
|
|
}
|
|
|
|
/* 8024B584-8024B5BC 245EC4 0038+00 1/0 0/0 0/0 .text
|
|
* query013__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query013(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return dComIfGs_isSaveSwitch(flow_node->params[0]) == 0;
|
|
}
|
|
|
|
/* 8024B5BC-8024B5F4 245EFC 0038+00 1/0 0/0 0/0 .text
|
|
* query014__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query014(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return dComIfGs_isSaveItem(flow_node->params[0]) == 0;
|
|
}
|
|
|
|
/* 8024B5F4-8024B62C 245F34 0038+00 1/0 0/0 0/0 .text
|
|
* query015__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query015(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return dComIfGs_isSaveDunSwitch(flow_node->params[0]) == 0;
|
|
}
|
|
|
|
/* 8024B62C-8024B664 245F6C 0038+00 1/0 0/0 0/0 .text
|
|
* query016__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query016(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return dComIfGs_isSaveDunItem(flow_node->params[0]) == 0;
|
|
}
|
|
|
|
/* 8024B664-8024B6A8 245FA4 0044+00 1/0 0/0 0/0 .text
|
|
* query017__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query017(mesg_flow_node_branch* flow_node, fopAc_ac_c* actor, int param_2) {
|
|
int zone = flow_node->params[0];
|
|
int roomNo = -1;
|
|
|
|
if (actor != NULL) {
|
|
roomNo = fopAcM_GetRoomNo(actor);
|
|
}
|
|
|
|
return dComIfGs_isZoneSwitch(zone, roomNo) == 0;
|
|
}
|
|
|
|
/* 8024B6A8-8024B6EC 245FE8 0044+00 1/0 0/0 0/0 .text
|
|
* query018__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query018(mesg_flow_node_branch* flow_node, fopAc_ac_c* actor, int param_2) {
|
|
int zone = flow_node->params[0];
|
|
int roomNo = -1;
|
|
|
|
if (actor != NULL) {
|
|
roomNo = fopAcM_GetRoomNo(actor);
|
|
}
|
|
|
|
return dComIfGs_isZoneItem(zone, roomNo) == 0;
|
|
}
|
|
|
|
/* 8024B6EC-8024B730 24602C 0044+00 1/0 0/0 0/0 .text
|
|
* query019__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query019(mesg_flow_node_branch* flow_node, fopAc_ac_c* actor, int param_2) {
|
|
int zone = flow_node->params[0];
|
|
int roomNo = -1;
|
|
|
|
if (actor != NULL) {
|
|
roomNo = fopAcM_GetRoomNo(actor);
|
|
}
|
|
|
|
return dComIfGs_isOneZoneSwitch(zone, roomNo) == 0;
|
|
}
|
|
|
|
/* 8024B730-8024B774 246070 0044+00 1/0 0/0 0/0 .text
|
|
* query020__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query020(mesg_flow_node_branch* flow_node, fopAc_ac_c* actor, int param_2) {
|
|
int zone = flow_node->params[0];
|
|
int roomNo = -1;
|
|
|
|
if (actor != NULL) {
|
|
roomNo = fopAcM_GetRoomNo(actor);
|
|
}
|
|
|
|
return dComIfGs_isOneZoneItem(zone, roomNo) == 0;
|
|
}
|
|
|
|
/* 8024B774-8024B8E4 2460B4 0170+00 1/0 0/0 0/0 .text
|
|
* query021__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query021(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query021__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
|
|
#ifdef NONMATCHING
|
|
/* 8024B8E4-8024B918 246224 0034+00 1/0 0/0 0/0 .text
|
|
* query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query022(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
|
|
// fake match but 0 comparison zeroes out 24 bits while this function zeroes out 16
|
|
// return (__cntlzw(checkItemGet(flow_node->params[0], 1)) >> 5) & 0xffff;
|
|
return checkItemGet(flow_node->params[0], 1) == 0;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query022(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024B918-8024B954 246258 003C+00 1/0 0/0 0/0 .text
|
|
* query023__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query023(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return (u16)(3 - dComIfGs_checkBombBag(NO_ITEM));
|
|
}
|
|
|
|
/* 8024B954-8024B974 246294 0020+00 1/0 0/0 0/0 .text
|
|
* query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query024(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
return dComIfGs_getArrowNum() - (u8)*(u16*)flow_node->params < 0;
|
|
}
|
|
|
|
/* 8024B974-8024B9BC 2462B4 0048+00 1/0 0/0 0/0 .text
|
|
* query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query025(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u8 par = (u8)*(u16*)flow_node->params;
|
|
return dComIfGs_checkEmptyBottle() - par < 0;
|
|
}
|
|
|
|
/* 8024B9BC-8024B9E8 2462FC 002C+00 1/0 0/0 0/0 .text
|
|
* query026__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query026(mesg_flow_node_branch*, fopAc_ac_c* actor, int) {
|
|
dShopSystem_c* shop_ac = static_cast<dShopSystem_c*>(actor);
|
|
return (u16)shop_ac->isFlag(7);
|
|
}
|
|
|
|
/* 8024B9E8-8024BA4C 246328 0064+00 1/0 0/0 0/0 .text
|
|
* query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u8 uVar1 = *(u16*)flow_node->params;
|
|
if (uVar1 == 0) {
|
|
uVar1 = dComIfGp_getNeedLightDropNum();
|
|
}
|
|
return dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea()) < uVar1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024BA4C-8024BAA0 24638C 0054+00 1/0 0/0 0/0 .text
|
|
* query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query028(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
int timeSec = *(u16*)flow_node->params;
|
|
int iVar3 = dMeter2Info_getTimeMs();
|
|
int val2 = timeSec * 1000 + 999;
|
|
int rv = val2 < iVar3;
|
|
dMeter2Info_setMsgTimeMs(iVar3 <= val2 ? val2 - iVar3 : (iVar3 - timeSec * 1000) + 999);
|
|
return rv;
|
|
}
|
|
|
|
/* 8024BAA0-8024BAE0 2463E0 0040+00 1/0 0/0 0/0 .text
|
|
* query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query029(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u8 rv = 1;
|
|
if (dComIfGs_getOil() == 0 || dComIfGs_getMaxOil() == 0) {
|
|
rv = 2;
|
|
} else if (dComIfGs_getOil() == dComIfGs_getMaxOil()) {
|
|
rv = 0;
|
|
}
|
|
return rv;
|
|
}
|
|
|
|
/* 8024BAE0-8024BB18 246420 0038+00 1/0 0/0 0/0 .text
|
|
* query030__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query030(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
return dComIfGs_getTmpReg(0xFBFF);
|
|
}
|
|
|
|
/* 8024BB18-8024BB74 246458 005C+00 1/0 0/0 0/0 .text
|
|
* query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query031(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u16 uVar3 = *(u16*)(flow_node->params);
|
|
return (0x14 - i_dComIfGs_getEventReg(0xff1f)) < uVar3;
|
|
}
|
|
|
|
/* 8024BB74-8024BB9C 2464B4 0028+00 1/0 0/0 0/0 .text
|
|
* query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query032(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
|
|
u8 rv = 1;
|
|
u16 uVar1 = *(u16*)flow_node->params;
|
|
if (i_dComIfGs_getLife() >= (int)uVar1) {
|
|
rv = 0;
|
|
}
|
|
|
|
return rv;
|
|
}
|
|
|
|
/* 8024BB9C-8024BBE4 2464DC 0048+00 1/0 0/0 0/0 .text
|
|
* query033__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query033(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
return daPy_getPlayerActorClass()->checkUseKandelaar(1) == false;
|
|
}
|
|
|
|
/* 8024BBE4-8024BC14 246524 0030+00 1/0 0/0 0/0 .text
|
|
* query034__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query034(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
u8 time = dComIfGs_getTime() * (1.0f / 15.0f);
|
|
return time;
|
|
}
|
|
|
|
/* 8024BC14-8024BC3C 246554 0028+00 1/0 0/0 0/0 .text
|
|
* query035__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query035(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
|
|
bool check = false;
|
|
if (dComIfGs_getMagic() < flow_node->params[0]) {
|
|
check = true;
|
|
}
|
|
|
|
return check;
|
|
}
|
|
|
|
/* 8024BC3C-8024BC80 24657C 0044+00 1/0 0/0 0/0 .text
|
|
* query036__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query036(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
int tmp = fopMsgM_SearchByID(mMsg)->mSelectedChoiceIdx;
|
|
|
|
if (dMsgObject_getMsgObjectClass()->getSelectPushFlag() == 2) {
|
|
tmp = 2;
|
|
}
|
|
|
|
return tmp;
|
|
}
|
|
|
|
/* 8024BC80-8024BCC4 2465C0 0044+00 1/0 0/0 0/0 .text
|
|
* query037__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query037(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
int tmp = fopMsgM_SearchByID(mMsg)->mSelectedChoiceIdx;
|
|
|
|
if (dMsgObject_getMsgObjectClass()->getSelectPushFlag() == 2) {
|
|
tmp = 3;
|
|
}
|
|
|
|
return tmp;
|
|
}
|
|
|
|
/* 8024BCC4-8024BDB0 246604 00EC+00 1/0 0/0 0/0 .text
|
|
* query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query038(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
|
|
int uVar5 = *(u16*)param_0->params;
|
|
u8 val;
|
|
if (uVar5 >= 1 && uVar5 < 4) {
|
|
val = uVar5 - 1;
|
|
} else if (uVar5 == 4) {
|
|
u8 rentalBombBag = dMeter2Info_getRentalBombBag();
|
|
if (rentalBombBag != 0xff) {
|
|
val = rentalBombBag;
|
|
}
|
|
} else {
|
|
val = dComIfGs_getTmpReg(0xfbff) - 1;
|
|
}
|
|
|
|
u8 uVar4 = 0;
|
|
switch(dComIfGs_getItem((u8)(val + 0xf), 0)) {
|
|
case 0x70:
|
|
uVar4 = 1;
|
|
break;
|
|
case 0x71:
|
|
uVar4 = 2;
|
|
break;
|
|
case 0x72:
|
|
uVar4 = 3;
|
|
break;
|
|
}
|
|
dMsgObject_setEquipBombInfo();
|
|
return uVar4;
|
|
}
|
|
|
|
/* 8024BDB0-8024BE4C 2466F0 009C+00 1/0 0/0 0/0 .text
|
|
* query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query039(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8024BE4C-8024BF50 24678C 0104+00 1/0 0/0 0/0 .text
|
|
* query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query040(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8024BF50-8024BFEC 246890 009C+00 1/0 0/0 0/0 .text
|
|
* query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query041(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8024BFEC-8024C0A8 24692C 00BC+00 1/0 0/0 0/0 .text
|
|
* query042__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query042(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
daMidna_c* midna = daPy_py_c::getMidnaActor();
|
|
|
|
u8 ret = 0;
|
|
if (!strcmp("F_SP116", dComIfGp_getStartStageName()) && dComIfGs_isSaveDunSwitch(0x3C)) {
|
|
ret = 4;
|
|
} else if (midna->checkNpcNear()) {
|
|
ret = 1;
|
|
} else if (midna->checkNpcFar()) {
|
|
ret = 2;
|
|
} else if (g_env_light.mEvilInitialized & 0x80) {
|
|
ret = 3;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
/* 8024C0A8-8024C144 2469E8 009C+00 1/0 0/0 0/0 .text
|
|
* query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query043(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
|
|
u16 prm0 = flow_node->params[0];
|
|
u8 bomb_num = dComIfGs_getBombNum(dComIfGs_getTmpReg(0xFBFF) - 1);
|
|
u8 bomb_max = dComIfGs_getBombMax(POKE_BOMB);
|
|
|
|
return bomb_max >= bomb_num + prm0;
|
|
}
|
|
|
|
/* 8024C144-8024C18C 246A84 0048+00 1/0 0/0 0/0 .text
|
|
* query044__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query044(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
return daAlink_getAlinkActorClass()->checkAcceptDungeonWarpAlink(0) == false;
|
|
}
|
|
|
|
/* 8024C18C-8024C218 246ACC 008C+00 1/0 0/0 0/0 .text
|
|
* query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::query045(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8024C218-8024C248 246B58 0030+00 1/0 0/0 0/0 .text
|
|
* query046__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query046(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
return dComIfGs_checkInsectBottle();
|
|
}
|
|
|
|
/* 8024C248-8024C250 246B88 0008+00 1/0 0/0 0/0 .text
|
|
* query047__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query047(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
return 0;
|
|
}
|
|
|
|
/* 8024C250-8024C2A0 246B90 0050+00 1/0 0/0 0/0 .text
|
|
* query048__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query048(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
u8 new_num = dMeter2Info_getNewLetterNum();
|
|
|
|
if (new_num > 2) {
|
|
new_num = 2;
|
|
}
|
|
|
|
if (new_num == 1) {
|
|
dMeter2Info_setNewLetterSender();
|
|
}
|
|
|
|
return new_num;
|
|
}
|
|
|
|
/* 8024C2A0-8024C2FC 246BE0 005C+00 1/0 0/0 0/0 .text
|
|
* query049__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query049(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
u8 uVar1;
|
|
u32 num = dComIfGs_getPohSpiritNum();
|
|
|
|
if (num == 0) {
|
|
uVar1 = 0;
|
|
} else if ((u8)num <= 19) {
|
|
uVar1 = 1;
|
|
} else if ((u8)num <= 39) {
|
|
uVar1 = 2;
|
|
} else if ((u8)num <= 59) {
|
|
uVar1 = 3;
|
|
} else {
|
|
uVar1 = 4;
|
|
}
|
|
|
|
return uVar1;
|
|
}
|
|
|
|
/* 8024C2FC-8024C340 246C3C 0044+00 1/0 0/0 0/0 .text
|
|
* query050__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query050(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
|
|
u16 prm0 = flow_node->params[0];
|
|
int offering = dMsgObject_getOffering();
|
|
return offering < prm0;
|
|
}
|
|
|
|
/* 8024C340-8024C3A0 246C80 0060+00 1/0 0/0 0/0 .text
|
|
* query051__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query051(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
u8 ret;
|
|
if (dComIfGp_getMessageCountNumber() == 0) {
|
|
ret = 0;
|
|
} else if (dComIfGp_getMessageCountNumber() < 1000) {
|
|
ret = 1;
|
|
} else if (dComIfGp_getMessageCountNumber() < 10000) {
|
|
ret = 2;
|
|
} else if (dComIfGp_getMessageCountNumber() < 0xF00E) {
|
|
ret = 3;
|
|
} else {
|
|
ret = 4;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
/* 8024C3A0-8024C3D4 246CE0 0034+00 1/0 0/0 0/0 .text
|
|
* 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() ||
|
|
i_dComIfGp_checkPlayerStatus0(0, 0x100000)) {
|
|
phi_r4 = true;
|
|
}
|
|
|
|
return phi_r4;
|
|
}
|
|
|
|
/* 8024C3D4-8024C3FC 246D14 0028+00 1/0 0/0 0/0 .text
|
|
* query053__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
|
|
int dMsgFlow_c::query053(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
|
bool phi_r4 = false;
|
|
if (daPy_getPlayerActorClass()->i_checkEquipHeavyBoots()) {
|
|
phi_r4 = true;
|
|
}
|
|
|
|
return phi_r4;
|
|
}
|
|
|
|
/* 8024C3FC-8024C488 246D3C 008C+00 1/0 0/0 0/0 .text
|
|
* event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event000(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
|
|
int tmp = getParam(&prm0, &prm1, flow_node->params);
|
|
if (prm0 != 0) {
|
|
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[prm0]);
|
|
}
|
|
if (prm1 != 0) {
|
|
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[prm1]);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C488-8024C514 246DC8 008C+00 1/0 0/0 0/0 .text
|
|
* event001__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event001(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
|
|
int tmp = getParam(&prm0, &prm1, flow_node->params);
|
|
if (prm0 != 0) {
|
|
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[prm0]);
|
|
}
|
|
if (prm1 != 0) {
|
|
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[prm1]);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C514-8024C550 246E54 003C+00 1/0 0/0 0/0 .text
|
|
* event002__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event002(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
|
|
i_dComIfGp_setItemRupeeCount(prm0);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C550-8024C590 246E90 0040+00 1/0 0/0 0/0 .text
|
|
* event003__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event003(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
|
|
i_dComIfGp_setItemRupeeCount(-prm0);
|
|
return 1;
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 80454DA0-80454DA8 0033A0 0008+00 3/3 0/0 0/0 .sdata2 @6040 */
|
|
SECTION_SDATA2 static f64 lit_6040 = 4503601774854144.0 /* cast s32 to float */;
|
|
|
|
/* 8024C590-8024C5F0 246ED0 0060+00 1/0 0/0 0/0 .text
|
|
* event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// matches with literals
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event004(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
f32 prm0 = getParam(flow_node->params);
|
|
|
|
i_dComIfGp_setItemLifeCount(prm0, 0);
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event004(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024C5F0-8024C654 246F30 0064+00 1/0 0/0 0/0 .text
|
|
* event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// matches with literals
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event005(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
f32 prm0 = getParam(flow_node->params);
|
|
|
|
f32 prm1 = -prm0;
|
|
i_dComIfGp_setItemLifeCount(prm1, 0);
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event005(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024C654-8024C694 246F94 0040+00 1/0 0/0 0/0 .text
|
|
* event006__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event006(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
dComIfGp_setItemMagicCount(prm0);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C694-8024C6D8 246FD4 0044+00 1/0 0/0 0/0 .text
|
|
* event007__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event007(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
dComIfGp_setItemMagicCount(-prm0);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C6D8-8024C744 247018 006C+00 1/0 0/0 0/0 .text
|
|
* event008__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event008(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
if (prm0 == 27) {
|
|
int fund_raising = dMsgObject_getFundRaising();
|
|
int tmp = 2000 - (fund_raising & 0xFFFF);
|
|
|
|
if (tmp >= 200) {
|
|
dMsgObject_setFundRaising(0);
|
|
} else {
|
|
dMsgObject_setFundRaising(200 - tmp);
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C744-8024C76C 247084 0028+00 1/0 0/0 0/0 .text
|
|
* event009__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event009(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
getParam(flow_node->params);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C76C-8024C7F8 2470AC 008C+00 1/0 0/0 0/0 .text
|
|
* event010__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event010(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
if (prm0 != 0) {
|
|
dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[prm0]);
|
|
}
|
|
|
|
if (prm1 != 0) {
|
|
dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[prm1]);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C7F8-8024C884 247138 008C+00 1/0 0/0 0/0 .text
|
|
* event011__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event011(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
if (prm0 != 0) {
|
|
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[prm0]);
|
|
}
|
|
|
|
if (prm1 != 0) {
|
|
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[prm1]);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C884-8024C88C 2471C4 0008+00 1/0 0/0 0/0 .text
|
|
* event012__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event012(mesg_flow_node_event*, fopAc_ac_c*) {
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C88C-8024C8CC 2471CC 0040+00 1/0 0/0 0/0 .text
|
|
* event013__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event013(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
field_0x46 = 1;
|
|
mSelectMessage = 1;
|
|
field_0x25 = 1;
|
|
|
|
int prm0 = getParam(flow_node->params);
|
|
dMsgObject_c::setSelectCancelPos(prm0);
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C8CC-8024C994 24720C 00C8+00 1/0 0/0 0/0 .text
|
|
* event014__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event014(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
int roomNo = -1;
|
|
if (actor != NULL) {
|
|
roomNo = fopAcM_GetRoomNo(actor);
|
|
}
|
|
|
|
switch (prm0) {
|
|
case 0:
|
|
dComIfGs_onSaveSwitch(prm1);
|
|
break;
|
|
case 1:
|
|
dComIfGs_onSaveDunSwitch(prm1);
|
|
break;
|
|
case 2:
|
|
dComIfGs_onZoneSwitch(prm1, roomNo);
|
|
break;
|
|
case 3:
|
|
dComIfGs_onOneZoneSwitch(prm1, roomNo);
|
|
break;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024C994-8024CA5C 2472D4 00C8+00 1/0 0/0 0/0 .text
|
|
* event015__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event015(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
int roomNo = -1;
|
|
if (actor != NULL) {
|
|
roomNo = fopAcM_GetRoomNo(actor);
|
|
}
|
|
|
|
switch (prm0) {
|
|
case 0:
|
|
dComIfGs_offSaveSwitch(prm1);
|
|
break;
|
|
case 1:
|
|
dComIfGs_offSaveDunSwitch(prm1);
|
|
break;
|
|
case 2:
|
|
dComIfGs_offZoneSwitch(prm1, roomNo);
|
|
break;
|
|
case 3:
|
|
dComIfGs_offOneZoneSwitch(prm1, roomNo);
|
|
break;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CA5C-8024CA94 24739C 0038+00 1/0 0/0 0/0 .text
|
|
* event016__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event016(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
|
|
static_cast<dShopSystem_c*>(actor)->setEventParam(*(u32*)flow_node->params);
|
|
|
|
u8 prm0;
|
|
getParam(&prm0, flow_node->params);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CA94-8024CBB0 2473D4 011C+00 1/0 0/0 0/0 .text
|
|
* event017__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event017(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
if (prm1 <= 1) {
|
|
switch (prm0) {
|
|
case DROP_CONTAINER:
|
|
dMeter2Info_setLightDropGetFlag(0, 1);
|
|
dComIfGs_onLightDropGetFlag(0);
|
|
break;
|
|
case DROP_CONTAINER02:
|
|
dMeter2Info_setLightDropGetFlag(1, 1);
|
|
dComIfGs_onLightDropGetFlag(1);
|
|
break;
|
|
case DROP_CONTAINER03:
|
|
dMeter2Info_setLightDropGetFlag(2, 1);
|
|
dComIfGs_onLightDropGetFlag(2);
|
|
break;
|
|
default:
|
|
execItemGet(prm0);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
for (int i = 0; i < prm1; i++) {
|
|
execItemGet(prm0);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CBB0-8024CCA4 2474F0 00F4+00 1/0 0/0 0/0 .text
|
|
* event018__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event018(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
|
|
u8 prm0[4];
|
|
getParam(prm0, flow_node->params);
|
|
|
|
field_0x47 = 1;
|
|
field_0x42 = prm0[0];
|
|
field_0x43 = prm0[1];
|
|
field_0x44 = prm0[2];
|
|
field_0x45 = prm0[3];
|
|
|
|
if (actor != NULL) {
|
|
int stayNo = dComIfGp_roomControl_getStayNo();
|
|
if (stayNo != 0) {
|
|
mDoAud_messageSePlay(field_0x45, &actor->current.pos,
|
|
dComIfGp_getReverb(stayNo));
|
|
} else {
|
|
mDoAud_messageSePlay(field_0x45, &actor->current.pos, 0);
|
|
}
|
|
} else {
|
|
int stayNo = dComIfGp_roomControl_getStayNo();
|
|
if (stayNo != 0) {
|
|
mDoAud_messageSePlay(field_0x45, NULL, dComIfGp_getReverb(stayNo));
|
|
} else {
|
|
mDoAud_messageSePlay(field_0x45, NULL, 0);
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CCA4-8024CCAC 2475E4 0008+00 1/0 0/0 0/0 .text
|
|
* event019__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event019(mesg_flow_node_event*, fopAc_ac_c*) {
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CCAC-8024CD84 2475EC 00D8+00 1/0 0/0 0/0 .text
|
|
* event020__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
|
|
int prm0 = getParam(flow_node->params);
|
|
daPy_py_c* player = daPy_getPlayerActorClass();
|
|
dStage_roomStatus_c* room = dComIfGp_roomControl_getStatusRoomDt(fopAcM_GetRoomNo(actor));
|
|
stage_actor_data_class* actor_data = room->mRoomDt.getPlayer()->mEntries;
|
|
|
|
for (int i = 0; i < room->mRoomDt.getPlayerNum(); i++, actor_data++) {
|
|
if ((u8)actor_data->mAngle.z == prm0) {
|
|
player->setPlayerPosAndAngle(&actor_data->mSpawnPos, player->current.angle.y, 0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CD84-8024CDAC 2476C4 0028+00 1/0 0/0 0/0 .text
|
|
* event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80454DA8-80454DAC 0033A8 0004+00 1/1 0/0 0/0 .sdata2 @6273 */
|
|
SECTION_SDATA2 static f32 lit_6273 = 100.0f;
|
|
|
|
/* 8024CDAC-8024CE40 2476EC 0094+00 1/0 0/0 0/0 .text
|
|
* event022__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// matches with literals
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event022(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
if (prm0 == 0) {
|
|
prm0 = 100;
|
|
}
|
|
|
|
dComIfGp_setItemOilCount(dComIfGs_getMaxOil() * (prm0 / 100.0f));
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event022(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event022__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024CE40-8024CF2C 247780 00EC+00 2/0 0/0 0/0 .text
|
|
* event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// matches with literals
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event023(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
|
|
switch (prm0) {
|
|
case 1:
|
|
dComIfGs_setEmptyBottleItemIn(RED_BOTTLE);
|
|
break;
|
|
case 2:
|
|
dComIfGs_setEmptyBottleItemIn(GREEN_BOTTLE);
|
|
break;
|
|
case 3:
|
|
dComIfGs_setEmptyBottleItemIn(BLUE_BOTTLE);
|
|
break;
|
|
case 4:
|
|
dComIfGs_setEmptyBottleItemIn(MILK_BOTTLE);
|
|
break;
|
|
case 5:
|
|
dComIfGs_setEmptyBottleItemIn(HALF_MILK_BOTTLE);
|
|
break;
|
|
case 6:
|
|
dComIfGs_setEmptyBottleItemIn(OIL_BOTTLE);
|
|
break;
|
|
case 7:
|
|
dComIfGs_setEmptyBottleItemIn(HOT_SPRING);
|
|
break;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event023(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024CF2C-8024CF54 24786C 0028+00 1/0 0/0 0/0 .text
|
|
* event024__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event024(mesg_flow_node_event*, fopAc_ac_c* actor) {
|
|
static_cast<dShopSystem_c*>(actor)->setSoldOutFlag();
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CF54-8024CF9C 247894 0048+00 1/0 0/0 0/0 .text
|
|
* event025__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event025(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
dComIfGs_setTmpReg(0xFBFF, prm0);
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024CF9C-8024D004 2478DC 0068+00 1/0 0/0 0/0 .text
|
|
* event026__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// todo: setup required classes
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event026(mesg_flow_node_event*, fopAc_ac_c* actor) {
|
|
if (fopAcM_GetName(actor) == PROC_MYNA) {
|
|
actor = static_cast<daMyna_c*>(actor)->getSpeakActorPtr();
|
|
}
|
|
|
|
if (actor != NULL) {
|
|
if (fopAcM_GetName(actor) == PROC_OBJ_SSITEM || fopAcM_GetName(actor) == PROC_OBJ_SSDRINK ||
|
|
fopAcM_GetName(actor) == PROC_TAG_SSDRINK) {
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event026(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event026__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024D004-8024D3C4 247944 03C0+00 2/0 0/0 0/0 .text
|
|
* event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// matches with literals
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event027(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
u8 aParam8[2];
|
|
getParam(aParam8, flow_node->params);
|
|
|
|
u8 slot;
|
|
if (aParam8[0] >= 1 && aParam8[0] < 4) {
|
|
slot = aParam8[0] - 1;
|
|
} else if (aParam8[0] == 4) {
|
|
if (dMeter2Info_getRentalBombBag() != 0xFF) {
|
|
slot = dMeter2Info_getRentalBombBag();
|
|
}
|
|
} else {
|
|
slot = dComIfGs_getTmpReg(0xFBFF) - 1;
|
|
}
|
|
|
|
switch (aParam8[1]) {
|
|
case 0:
|
|
if (dComIfGs_getItem((u8)(SLOT_15 + slot), false) == BOMB_BAG_LV1) {
|
|
dComIfGs_setItem((u8)(SLOT_15 + slot), NORMAL_BOMB);
|
|
}
|
|
|
|
if (prm1 != 0) {
|
|
dComIfGp_setItemBombNumCount(slot, (u8)prm1);
|
|
} else {
|
|
dComIfGp_setItemBombNumCount(slot, dComIfGs_getBombMax(NORMAL_BOMB));
|
|
}
|
|
break;
|
|
case 1:
|
|
if (dComIfGs_getItem((u8)(SLOT_15 + slot), false) == BOMB_BAG_LV1) {
|
|
dComIfGs_setItem((u8)(SLOT_15 + slot), WATER_BOMB);
|
|
}
|
|
|
|
if (prm1 != 0) {
|
|
dComIfGp_setItemBombNumCount(slot, (u8)prm1);
|
|
} else {
|
|
dComIfGp_setItemBombNumCount(slot, dComIfGs_getBombMax(WATER_BOMB));
|
|
}
|
|
break;
|
|
case 2:
|
|
if (dComIfGs_getItem((u8)(SLOT_15 + slot), false) == BOMB_BAG_LV1) {
|
|
dComIfGs_setItem((u8)(SLOT_15 + slot), POKE_BOMB);
|
|
}
|
|
|
|
if (prm1 != 0) {
|
|
dComIfGp_setItemBombNumCount(slot, (u8)prm1);
|
|
} else {
|
|
dComIfGp_setItemBombNumCount(slot, dComIfGs_getBombMax(POKE_BOMB));
|
|
}
|
|
break;
|
|
case 3:
|
|
break;
|
|
case 4:
|
|
case 5:
|
|
dComIfGp_setItemBombNumCount(slot, (u8)prm1);
|
|
break;
|
|
case 6:
|
|
dComIfGs_setItem((u8)(SLOT_15 + slot), NORMAL_BOMB);
|
|
dComIfGp_setItemBombNumCount(slot, dComIfGs_getBombMax(NORMAL_BOMB));
|
|
break;
|
|
case 7:
|
|
dComIfGs_setItem((u8)(SLOT_15 + slot), WATER_BOMB);
|
|
dComIfGp_setItemBombNumCount(slot, dComIfGs_getBombMax(WATER_BOMB));
|
|
break;
|
|
case 8:
|
|
dComIfGs_setItem((u8)(SLOT_15 + slot), POKE_BOMB);
|
|
dComIfGp_setItemBombNumCount(slot, dComIfGs_getBombMax(POKE_BOMB));
|
|
break;
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
break;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event027(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024D3C4-8024D500 247D04 013C+00 1/0 0/0 0/0 .text
|
|
* event028__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// regalloc
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
dMsgObject_c::setSelectCursorPos(dComIfGs_getTmpReg(0xFBFF) - 1);
|
|
u8 bagID = dMsgObject_c::getSelectBombBagID();
|
|
s16 bombPrice = dMsgObject_c::getSelectBombPrice();
|
|
|
|
i_dComIfGp_setItemRupeeCount(bombPrice);
|
|
dComIfGs_setBombNum(bagID, 0);
|
|
|
|
if (dComIfGs_getItem((u8)(SLOT_15 + bagID), true) != BOMB_ARROW) {
|
|
dComIfGs_setItem((u8)(SLOT_15 + bagID), BOMB_BAG_LV1);
|
|
} 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);
|
|
|
|
dComIfGs_setMixItemIndex(i, NO_ITEM);
|
|
dComIfGs_setSelectItemIndex(i, mix_item);
|
|
dComIfGp_setSelectItem(i);
|
|
}
|
|
}
|
|
dComIfGs_setItem((u8)(SLOT_15 + bagID), BOMB_BAG_LV1);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event028__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024D500-8024D544 247E40 0044+00 1/0 0/0 0/0 .text
|
|
* event029__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event029(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
field_0x46 = 2;
|
|
mSelectMessage = 1;
|
|
field_0x25 = 1;
|
|
dMsgObject_c::setSelectCancelPos(getParam(flow_node->params));
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D544-8024D5BC 247E84 0078+00 1/0 0/0 0/0 .text
|
|
* event030__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event030(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
s16 arrowNum = prm1;
|
|
if (arrowNum == 0) {
|
|
arrowNum = dComIfGs_getArrowMax();
|
|
}
|
|
|
|
if (prm0 == 0) {
|
|
dComIfGp_setItemArrowNumCount(arrowNum);
|
|
} else {
|
|
dMsgObject_c::setArrowNum(arrowNum);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D5BC-8024D5EC 247EFC 0030+00 1/0 0/0 0/0 .text
|
|
* event031__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event031(mesg_flow_node_event*, fopAc_ac_c*) {
|
|
dMeter2Info_resetMiniGameItem(false);
|
|
return 1;
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 80454DAC-80454DB0 0033AC 0004+00 2/2 0/0 0/0 .sdata2 @6613 */
|
|
SECTION_SDATA2 static f32 lit_6613 = 1.0f;
|
|
|
|
/* 8024D5EC-8024D6BC 247F2C 00D0+00 1/0 0/0 0/0 .text
|
|
* event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
#ifdef NONMATCHING
|
|
// Matches with literals and cLib_calcTimer implementation in the end
|
|
int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
u16 uVar1;
|
|
u16 uVar2;
|
|
GXColor color;
|
|
|
|
getParam(&uVar2, &uVar1, param_0->params);
|
|
if (uVar1 + 1 == field_0x3c) {
|
|
if (uVar2 == 0) {
|
|
color.r = 0;
|
|
color.g = 0;
|
|
color.b = 0;
|
|
color.a = 0;
|
|
} else {
|
|
color = g_saftyWhiteColor;
|
|
}
|
|
mDoGph_gInf_c::fadeOut( -(1.0f / uVar1), color);
|
|
}
|
|
cLib_calcTimer(&field_0x3c);
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024D6BC-8024D788 247FFC 00CC+00 1/0 0/0 0/0 .text
|
|
* event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8024D788-8024D7C8 2480C8 0040+00 1/0 0/0 0/0 .text
|
|
* event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event034(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
dComIfGs_setWarashibeItem(prm0);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D7C8-8024D870 248108 00A8+00 1/0 0/0 0/0 .text
|
|
* event035__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event035(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
|
|
if (prm0 == TOMATO_PUREE || prm0 == TASTE) {
|
|
dComIfGs_offItemFirstBit(prm0);
|
|
} else if (prm0 == RAFRELS_MEMO || prm0 == ASHS_SCRIBBLING) {
|
|
dComIfGs_setItem(SLOT_19, NO_ITEM);
|
|
} else if (prm0 == LETTER || prm0 == BILL || prm0 == WOOD_STATUE || prm0 == IRIAS_PENDANT) {
|
|
dComIfGs_setWarashibeItem(NO_ITEM);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D870-8024D8C4 2481B0 0054+00 1/0 0/0 0/0 .text
|
|
* event036__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event036(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
dComIfGs_onSaveSwitch(prm0, prm1);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D8C4-8024D918 248204 0054+00 1/0 0/0 0/0 .text
|
|
* event037__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event037(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
u16 prm1;
|
|
u16 prm0;
|
|
getParam(&prm0, &prm1, flow_node->params);
|
|
|
|
dComIfGs_offSaveSwitch(prm0, prm1);
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D918-8024D93C 248258 0024+00 1/0 0/0 0/0 .text
|
|
* event038__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event038(mesg_flow_node_event*, fopAc_ac_c*) {
|
|
dMeter2Info_recieveLetter();
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D93C-8024D970 24827C 0034+00 1/0 0/0 0/0 .text
|
|
* event039__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event039(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
dMeter2Info_setTableMapRegionNo(getParam(flow_node->params));
|
|
return 1;
|
|
}
|
|
|
|
/* 8024D970-8024DA78 2482B0 0108+00 2/0 0/0 0/0 .text
|
|
* event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
// matches with literals
|
|
#ifdef NONMATCHING
|
|
int dMsgFlow_c::event040(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
|
|
switch (prm0) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
dComIfGs_setBottleItemIn(RED_BOTTLE, EMPTY_BOTTLE);
|
|
break;
|
|
case 2:
|
|
dComIfGs_setBottleItemIn(GREEN_BOTTLE, EMPTY_BOTTLE);
|
|
break;
|
|
case 3:
|
|
dComIfGs_setBottleItemIn(BLUE_BOTTLE, EMPTY_BOTTLE);
|
|
break;
|
|
case 4:
|
|
dComIfGs_setBottleItemIn(MILK_BOTTLE, EMPTY_BOTTLE);
|
|
break;
|
|
case 5:
|
|
dComIfGs_setBottleItemIn(HALF_MILK_BOTTLE, EMPTY_BOTTLE);
|
|
break;
|
|
case 6:
|
|
dComIfGs_setBottleItemIn(OIL_BOTTLE, EMPTY_BOTTLE);
|
|
break;
|
|
case 7:
|
|
dComIfGs_setBottleItemIn(HOT_SPRING, EMPTY_BOTTLE);
|
|
break;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
#else
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm int dMsgFlow_c::event040(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
|
|
}
|
|
#pragma pop
|
|
#endif
|
|
|
|
/* 8024DA78-8024DAA8 2483B8 0030+00 1/0 0/0 0/0 .text
|
|
* event041__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event041(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
|
|
int prm0 = getParam(flow_node->params);
|
|
dMsgObject_addOffering(prm0);
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8024DAA8-8024DAB0 2483E8 0008+00 1/0 0/0 0/0 .text
|
|
* event042__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
|
|
int dMsgFlow_c::event042(mesg_flow_node_event*, fopAc_ac_c*) {
|
|
return 1;
|
|
}
|
|
|
|
/* 8024DAB0-8024DACC 2483F0 001C+00 3/3 0/0 0/0 .text cLib_calcTimer<l>__FPl */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
extern "C" asm void func_8024DAB0(void* _this, s32* param_0) {
|
|
nofralloc
|
|
#include "asm/d/msg/d_msg_flow/func_8024DAB0.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|