From 046d178003035ea87d3042a61917c2d482c68c74 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Wed, 29 Jun 2022 13:19:09 -0700 Subject: [PATCH] work on daalink, fop actor, mDo machine, msg_scrn, + various (#201) * work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress --- Progress.md | 20 +- ...ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap.s | 33 - .../JUTCacheFont/__dt__12JUTCacheFontFv.s | 40 - ...eteMemBlocks_CacheFont__12JUTCacheFontFv.s | 36 - .../initialize_state__12JUTCacheFontFv.s | 16 - ...__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s | 27 - ...__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s | 70 - .../JUTConsole/create__10JUTConsoleFUiPvUl.s | 36 - .../create__10JUTConsoleFUiUiP7JKRHeap.s | 38 - .../d_a_obj_item/CountTimer__8daItem_cFv.s | 41 - .../_daItem_delete__8daItem_cFv.s | 33 - .../d_a_obj_item/_daItem_draw__8daItem_cFv.s | 29 - .../checkCountTimer__8daItem_cFv.s | 29 - .../checkPlayerGet__8daItem_cFv.s | 18 - .../d_a_obj_item/deleteItem__8daItem_cFv.s | 12 - .../d_a_obj_item/getData__12daItemBase_cFv.s | 4 - .../obj/d_a_obj_item/initAngle__8daItem_cFv.s | 7 - .../d_a_obj_item/initBaseMtx__8daItem_cFv.s | 19 - .../itemActionForRupee__8daItem_cFv.s | 53 - .../itemGetNextExecute__8daItem_cFv.s | 123 -- .../obj/d_a_obj_item/mode_wait__8daItem_cFv.s | 73 - .../mode_wait_init__8daItem_cFv.s | 16 - .../mode_water_init__8daItem_cFv.s | 19 - .../procInitBoomHitWait__8daItem_cFv.s | 13 - .../procInitForceGet__8daItem_cFv.s | 20 - .../procInitGetDemoEvent__8daItem_cFv.s | 44 - .../procInitNormal__8daItem_cFv.s | 18 - .../procInitSwOnWait__8daItem_cFv.s | 24 - .../procMainForceGet__8daItem_cFv.s | 9 - .../procMainGetDemoEvent__8daItem_cFv.s | 26 - .../procMainNormal__8daItem_cFv.s | 85 - .../procMainSwOnWait__8daItem_cFv.s | 52 - .../procWaitGetDemoEvent__8daItem_cFv.s | 76 - .../d_a_obj_item/setBaseMtx_0__8daItem_cFv.s | 15 - .../d_a_obj_item/setBaseMtx__8daItem_cFv.s | 39 - .../d_a_obj_item/setCullInfo__8daItem_cFv.s | 7 - .../obj/d_a_obj_item/setTevStr__8daItem_cFv.s | 23 - .../__ct__14daObj_SSBase_cFv.s | 23 - .../__dt__14daObj_SSBase_cFv.s | 26 - .../getProcessID__14daObj_SSBase_cFv.s | 8 - .../a/d_a_alink/checkBossRoom__9daAlink_cFv.s | 19 - .../d_a_alink/checkCastleTown__9daAlink_cFv.s | 19 - .../a/d_a_alink/checkCloudSea__9daAlink_cFv.s | 19 - .../a/d_a_alink/checkDungeon__9daAlink_cFv.s | 19 - asm/d/a/d_a_alink/checkField__9daAlink_cFv.s | 18 - .../checkGroupItem__9daAlink_cCFii.s | 24 - .../checkItemSetButton__9daAlink_cFi.s | 36 - .../checkLv7DungeonShop__9daAlink_cFv.s | 23 - .../checkMagneBootsFly__9daAlink_cFv.s | 51 - .../a/d_a_alink/checkRoomOnly__9daAlink_cFv.s | 27 - .../checkRoomSpecial__9daAlink_cFv.s | 31 - .../checkSetItemTrigger__9daAlink_cFi.s | 47 - ...nMagneLineCheck__9daAlink_cFP4cXyzP4cXyz.s | 30 - .../concatMagneBootInvMtx__9daAlink_cFv.s | 18 - .../concatMagneBootMtx__9daAlink_cFv.s | 18 - .../a/d_a_alink/keepItemData__9daAlink_cFv.s | 13 - ...ultVecMagneBootInvMtx__9daAlink_cFP4cXyz.s | 15 - asm/d/a/d_a_alink/playerInit__9daAlink_cFv.s | 561 ------ .../procDungeonWarpReadyInit__9daAlink_cFv.s | 79 - .../procMasterSwordPullInit__9daAlink_cFv.s | 32 - .../procMasterSwordStickInit__9daAlink_cFv.s | 36 - .../procMasterSwordStick__9daAlink_cFv.s | 50 - .../returnKeepItemData__9daAlink_cFv.s | 20 - ...ex__9daAlink_cFQ29daAlink_c11daAlink_ANM.s | 10 - .../a/d_a_alink/setItemModel__9daAlink_cFv.s | 82 - .../a/d_a_alink/setRollJump__9daAlink_cFffs.s | 9 - .../setSelectEquipItem__9daAlink_cFi.s | 195 -- ...ComIfGp_setNextStage__FPCcsScScfUliScsii.s | 166 -- .../checkMagneA__12daTagMagne_cFv.s | 25 - .../checkMagneB__12daTagMagne_cFv.s | 25 - .../checkMagneC__12daTagMagne_cFv.s | 25 - ...netCode__12daTagMagne_cFR13cBgS_PolyInfo.s | 48 - .../chkSaveFlag__12daObjCarry_cFv.s | 6 - .../chkSttsFlag__12daObjCarry_cFiUc.s | 9 - .../clrSaveFlag__12daObjCarry_cFv.s | 4 - .../getRoomNo__12daObjCarry_cFi.s | 4 - .../offSttsFlag__12daObjCarry_cFiUc.s | 6 - .../onSttsFlag__12daObjCarry_cFiUc.s | 6 - .../setRoomNo__12daObjCarry_cFiSc.s | 4 - .../setSaveFlag__12daObjCarry_cFv.s | 4 - asm/d/d_lib/Yinit__9STControlFv.s | 13 - asm/d/d_tresure/create__7dTres_cFv.s | 20 - .../getBossIconFloorNo__7dTres_cFPi.s | 62 - asm/d/d_tresure/getFirstData__7dTres_cFUc.s | 18 - ...__7dTres_cFPCQ27dTres_c15typeGroupData_c.s | 8 - ...a__7dTres_cFPQ27dTres_c15typeGroupData_c.s | 8 - .../getTypeGroupNoToType__7dTres_cFUc.s | 6 - .../getTypeToTypeGroupNo__7dTres_cFUc.s | 23 - asm/d/d_tresure/onStatus__7dTres_cFUcii.s | 38 - asm/d/d_tresure/reset__7dTres_cFv.s | 20 - .../setPosition__7dTres_cFiUcPC3Veci.s | 57 - ...agProc__14dEvt_control_cFP12dEvt_order_c.s | 19 - ...agProc__14dEvt_control_cFP12dEvt_order_c.s | 14 - .../compulsory__14dEvt_control_cFPvPCcUs.s | 37 - .../event/d_event/dEv_defaultSkipStb__FPvi.s | 98 - .../event/d_event/dEv_defaultSkipZev__FPvi.s | 96 - .../event/d_event/entry__14dEvt_control_cFv.s | 111 - .../d_event/reset__14dEvt_control_cFPv.s | 41 - .../event/d_event/reset__14dEvt_control_cFv.s | 46 - ...searchMapEventData__14dEvt_control_cFUcl.s | 76 - ...tParam__14dEvt_control_cFP12dEvt_order_c.s | 82 - .../d_event/skipper__14dEvt_control_cFv.s | 135 -- .../menu/d_menu_save/__ct__12dMenu_save_cFv.s | 70 - asm/d/menu/d_menu_save/__ct__9dMs_HIO_cFv.s | 20 - .../d_menu_save/__dt__16dDlst_MenuSave_cFv.s | 20 - .../__dt__23dDlst_MenuSaveExplain_cFv.s | 20 - asm/d/menu/d_menu_save/__dt__9dMs_HIO_cFv.s | 20 - .../d_menu_save/__sinit_d_menu_save_cpp.s | 387 ---- .../d_menu_save/_close__12dMenu_save_cFv.s | 7 - .../d_menu_save/_create__12dMenu_save_cFv.s | 98 - .../d_menu_save/_draw2__12dMenu_save_cFv.s | 61 - .../d_menu_save/_draw__12dMenu_save_cFv.s | 19 - .../d_menu_save/_move__12dMenu_save_cFv.s | 50 - .../d_menu_save/_open__12dMenu_save_cFv.s | 102 - .../d_menu_save/dataSave__12dMenu_save_cFv.s | 15 - .../d_menu_save/dataWrite__12dMenu_save_cFv.s | 43 - .../displayInit__12dMenu_save_cFv.s | 22 - .../errorTxtSet__12dMenu_save_cFUs.s | 54 - ...gameFileMakeSelInitSet__12dMenu_save_cFv.s | 23 - .../headerTxtSet__12dMenu_save_cFUs.s | 54 - .../initialize__12dMenu_save_cFv.s | 9 - .../iplSelMsgInitSet__12dMenu_save_cFv.s | 10 - .../makeGameFileDisp__12dMenu_save_cFv.s | 40 - .../makeGameFileSelDisp__12dMenu_save_cFv.s | 34 - .../memCardErrMsgWaitKey__12dMenu_save_cFv.s | 39 - .../memCardFormat__12dMenu_save_cFv.s | 27 - ...memCardMakeGameFileSel__12dMenu_save_cFv.s | 41 - .../memCardWatch__12dMenu_save_cFv.s | 39 - .../msgTxtSet__12dMenu_save_cFUsb.s | 56 - .../saveSelAnm__12dMenu_save_cFv.s | 20 - .../setInitSaveData__12dMenu_save_cFv.s | 27 - .../setSaveData__12dMenu_save_cFv.s | 98 - .../dMeter2Info_getNowLifeGauge__Fv.s | 6 - .../dMeter2Info_isItemOpenCheck__Fv.s | 27 - .../get2ndTexture__13dMeter2Info_cFUc.s | 29 - .../setFloatingFlow__13dMeter2Info_cFUssb.s | 51 - ...setFloatingMessage__13dMeter2Info_cFUssb.s | 17 - .../setMeterString__13dMeter2Info_cFl.s | 32 - .../warpOutProc__13dMeter2Info_cFv.s | 107 - .../changeFlowGroupLocal__12dMsgObject_cFl.s | 18 - .../demoMessageGroupLocal__12dMsgObject_cFv.s | 12 - .../endFlowGroupLocal__12dMsgObject_cFv.s | 4 - .../getItemEquipButton__12dMsgObject_cFv.s | 6 - .../getSelectBombBagID__12dMsgObject_cFv.s | 12 - .../getSelectBombPrice__12dMsgObject_cFv.s | 12 - .../isGetItemMessage__12dMsgObject_cFv.s | 6 - .../isHowlHearingMode__12dMsgObject_cFv.s | 12 - .../isHowlMessage__12dMsgObject_cFv.s | 6 - .../isKanbanMessage__12dMsgObject_cFv.s | 14 - ...sgObject_cFPP25mDoDvdThd_mountXArchive_c.s | 40 - .../setEquipBombInfo__12dMsgObject_cFv.s | 12 - .../setSelectCancelPos__12dMsgObject_cFUc.s | 6 - .../d_msg_out_font/__ct__10COutFont_cFUc.s | 55 - .../d_msg_out_font/__ct__13COutFontSet_cFv.s | 16 - .../msg/d_msg_out_font/__dt__10COutFont_cFv.s | 80 - .../d_msg_out_font/__dt__13COutFontSet_cFv.s | 20 - ...nt__10COutFont_cFP10J2DTextBoxUcffffUlUc.s | 27 - ..._13COutFontSet_cFP10J2DTextBoxUcffffUlUc.s | 10 - .../getBtiName__10COutFont_cFi.s | 21 - .../initialize__10COutFont_cFv.s | 23 - .../initialize__13COutFontSet_cFv.s | 14 - .../reset__10COutFont_cFP10J2DTextBox.s | 21 - .../setAlphaRatio__10COutFont_cFf.s | 3 - .../setPane__10COutFont_cFP10J2DPicture.s | 13 - asm/f_op/f_op_actor/__ct__10fopAc_ac_cFv.s | 28 - asm/f_op/f_op_actor/__dt__10fopAc_ac_cFv.s | 24 - asm/f_op/f_op_actor/fopAc_Draw__FPv.s | 56 - asm/f_op/f_op_actor/fopAc_Execute__FPv.s | 112 -- asm/f_op/f_op_actor/fopAc_IsActor__FPv.s | 12 - asm/f_op/f_op_actor/fopAc_IsDelete__FPv.s | 23 - .../f_op_actor_mng/event_second_actor__FUs.s | 5 - .../fopAcM_cancelCarryNow__FP10fopAc_ac_c.s | 50 - .../fopAcM_carryOffRevise__FP10fopAc_ac_c.s | 79 - ...resentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz.s | 38 - ...ForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz.s | 37 - asm/f_op/f_op_actor_mng/fopAcM_delete__FUi.s | 27 - ...AcM_findObject4EventCB__FP10fopAc_ac_cPv.s | 52 - .../fopAcM_findObjectCB__FPC10fopAc_ac_cPv.s | 50 - .../fopAcM_getEventPartner__FPC10fopAc_ac_c.s | 32 - ...AcM_getItemEventPartner__FPC10fopAc_ac_c.s | 13 - ...AcM_getTalkEventPartner__FPC10fopAc_ac_c.s | 13 - ...chEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s | 45 - ..._orderChangeEventId__FP10fopAc_ac_csUsUs.s | 40 - ...orEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s | 68 - ...olAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs.s | 11 - ...derMapToolEvent__FP10fopAc_ac_cUcsUsUsUs.s | 85 - ...derOtherEventId__FP10fopAc_ac_csUcUsUsUs.s | 88 - ...nt__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs.s | 74 - ...orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs.s | 78 - ...rderPotentialEvent__FP10fopAc_ac_cUsUsUs.s | 57 - ...lkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s | 44 - ...Event__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs.s | 47 - ...reEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s | 45 - ...erBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c.s | 56 - .../fopAcM_plAngleCheck__FPC10fopAc_ac_cs.s | 20 - ..._rollPlayerCrash__FPC10fopAc_ac_cfUlffif.s | 94 - .../fopAcM_searchFromName__FPCcUlUl.s | 25 - .../fopAcM_setCarryNow__FP10fopAc_ac_ci.s | 24 - ...lSizeBox2__FP10fopAc_ac_cP12J3DModelData.s | 26 - .../fopAcM_setRoomLayer__FPvi.s | 38 - .../fopAcM_setStageLayer__FPv.s | 31 - .../fopAcM_wayBgCheck__FPC10fopAc_ac_cff.s | 69 - ...elativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz.s | 43 - .../m_Do_machine/developKeyCheck__FUlUl.s | 50 - .../myGetHeapTypeByString__FP7JKRHeap.s | 146 -- .../myHeapCheckRecursive__FP7JKRHeap.s | 46 - .../myMemoryErrorRoutine__FPvUli.s | 130 -- .../__ct__14dMsgScrnBase_cFv.s | 19 - .../__dt__14dMsgScrnBase_cFv.s | 20 - .../drawOutFont__14dMsgScrnBase_cFfff.s | 14 - .../drawSelf__14dMsgScrnBase_cFv.s | 12 - .../draw__14dMsgScrnBase_cFv.s | 36 - .../fontAlpha__14dMsgScrnBase_cFf.s | 36 - .../fukiAlpha__14dMsgScrnBase_cFf.s | 21 - .../fukiScale__14dMsgScrnBase_cFf.s | 11 - .../fukiTrans__14dMsgScrnBase_cFff.s | 10 - .../init__14dMsgScrnBase_cFv.s | 53 - .../isTalkNow__14dMsgScrnBase_cFv.s | 24 - .../multiDraw__14dMsgScrnBase_cFv.s | 18 - .../setRubyString__14dMsgScrnBase_cFPc.s | 30 - .../setString__14dMsgScrnBase_cFPcPc.s | 39 - .../__ct__14dMsgScrnBoss_cFv.s | 224 --- .../__dt__14dMsgScrnBoss_cFv.s | 96 - .../drawSelf__14dMsgScrnBoss_cFv.s | 23 - .../exec__14dMsgScrnBoss_cFv.s | 70 - .../fukiAlpha__14dMsgScrnBoss_cFf.s | 37 - .../d_a_scene_exit/checkWork__8daScex_cFv.s | 87 - .../d_a_npc_tr/__dt__14daNPC_TR_HIO_cFv.s | 20 - .../d_a_npc_tr/__sinit_d_a_npc_tr_cpp.s | 16 - .../daNPC_TR_Delete__FP12npc_tr_class.s | 23 - .../daNPC_TR_Draw__FP12npc_tr_class.s | 26 - .../daNPC_TR_Execute__FP12npc_tr_class.s | 65 - .../d_a_npc_tr/useHeapInit__FP10fopAc_ac_c.s | 51 - .../d_a_tag_magne/Create__12daTagMagne_cFv.s | 19 - .../d_a_tag_magne/_delete__12daTagMagne_cFv.s | 6 - .../d_a_tag_magne/func_805A54DC.s | 45 - .../f_pc_profile_lst/ModuleEpilog.s | 5 - .../f_pc_profile_lst/ModuleProlog.s | 6 - include/JSystem/J2DGraph/J2DTextBox.h | 9 +- include/JSystem/J2DGraph/J2DTextBoxEx.h | 2 +- .../JSystem/J3DGraphAnimator/J3DAnimation.h | 4 +- include/JSystem/J3DGraphAnimator/J3DJoint.h | 3 + include/JSystem/J3DGraphAnimator/J3DModel.h | 1 + .../JSystem/J3DGraphAnimator/J3DModelData.h | 2 + include/JSystem/JFramework/JFWSystem.h | 8 + include/JSystem/JKernel/JKRDvdAramRipper.h | 2 + include/JSystem/JKernel/JKRDvdRipper.h | 2 + include/JSystem/JKernel/JKRHeap.h | 3 + include/JSystem/JMessage/control.h | 24 +- include/JSystem/JMessage/processor.h | 267 ++- include/JSystem/JMessage/resource.h | 4 +- include/JSystem/JParticle/JPAParticle.h | 10 +- include/JSystem/JUtility/JUTCacheFont.h | 73 + include/JSystem/JUtility/JUTConsole.h | 27 +- include/JSystem/JUtility/JUTException.h | 1 + include/JSystem/JUtility/JUTFader.h | 2 +- include/JSystem/JUtility/JUTFont.h | 26 +- include/JSystem/JUtility/JUTResFont.h | 2 +- include/JSystem/JUtility/TColor.h | 1 + .../SSystem/SComponent/c_API_controller_pad.h | 1 + include/SSystem/SComponent/c_cc_d.h | 7 + include/SSystem/SComponent/c_lib.h | 7 +- include/SSystem/SComponent/c_xyz.h | 2 + include/a/obj/d_a_obj_item.h | 6 - include/a/obj/d_a_obj_ss_base.h | 6 - include/d/a/d_a_alink.h | 841 +++++--- include/d/a/d_a_horse_static.h | 16 +- include/d/a/d_a_item_static.h | 141 +- include/d/a/d_a_itembase.h | 27 +- include/d/a/d_a_itembase_static.h | 2 + include/d/a/d_a_npc.h | 3 + include/{a/npc => d/a}/d_a_npc_cd.h | 0 include/{a/npc => d/a}/d_a_npc_cd2.h | 0 include/d/a/d_a_obj_item.h | 24 + include/d/a/d_a_obj_ss_base.h | 21 + include/d/a/d_a_player.h | 38 +- include/d/bg/d_bg_s.h | 6 +- include/d/bg/d_bg_s_acch.h | 14 + include/d/bg/d_bg_w.h | 12 +- include/d/bg/d_bg_w_base.h | 6 +- include/d/bg/d_bg_w_kcol.h | 4 +- include/d/cc/d_cc_d.h | 20 +- include/d/com/d_com_inf_actor.h | 12 + include/d/com/d_com_inf_game.h | 202 +- include/d/com/d_com_static.h | 2 +- include/d/d_camera.h | 56 +- include/d/d_demo.h | 59 +- include/d/d_drawlist.h | 2 + include/d/d_item.h | 3 +- include/d/d_item_data.h | 4 + include/d/d_lib.h | 24 +- include/d/d_model.h | 2 +- include/d/d_path.h | 2 + include/d/d_stage.h | 25 +- include/d/d_tresure.h | 39 +- include/d/event/d_event.h | 69 +- include/d/event/d_event_manager.h | 4 +- include/d/file/d_file_sel_warning.h | 21 +- include/d/kankyo/d_kankyo.h | 4 + include/d/map/d_map_path_dmap.h | 2 +- include/d/menu/d_menu_save.h | 175 +- include/d/menu/d_menu_window.h | 60 +- include/d/meter/d_meter2.h | 3 + include/d/meter/d_meter2_info.h | 71 +- include/d/msg/d_msg_class.h | 4 +- include/d/msg/d_msg_object.h | 231 ++- include/d/msg/d_msg_out_font.h | 58 + include/d/msg/d_msg_string.h | 22 +- include/d/msg/d_msg_string_base.h | 37 +- include/d/pane/d_pane_class_alpha.h | 1 + include/d/particle/d_particle.h | 28 +- include/d/s/d_s_logo.h | 4 +- include/d/save/d_save.h | 7 +- include/d/save/d_save_HIO.h | 3 +- include/dolphin/gx/GX.h | 6 + include/dolphin/os/OS.h | 2 + include/f_op/f_op_actor.h | 38 +- include/f_op/f_op_actor_mng.h | 287 ++- include/f_op/f_op_actor_tag.h | 4 + include/f_op/f_op_draw_tag.h | 2 + include/f_pc/f_pc_leaf.h | 7 +- include/f_pc/f_pc_manager.h | 23 +- include/f_pc/f_pc_node.h | 4 - include/f_pc/f_pc_profile.h | 9 +- include/m_Do/m_Do_DVDError.h | 1 + include/m_Do/m_Do_MemCard.h | 4 + include/m_Do/m_Do_ext.h | 22 +- include/m_Do/m_Do_graphic.h | 6 + include/m_Do/m_Do_machine.h | 2 +- include/m_Do/m_Do_machine_exception.h | 3 + include/m_Do/m_Do_mtx.h | 8 + include/msg/scrn/d_msg_scrn_base.h | 68 +- include/msg/scrn/d_msg_scrn_boss.h | 19 +- include/msg/scrn/d_msg_scrn_explain.h | 66 +- include/rel/d/a/d_a_horse/d_a_horse.h | 9 +- .../rel/d/a/d_a_scene_exit/d_a_scene_exit.h | 19 + .../rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h | 16 +- .../rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h | 24 + libs/JSystem/J2DGraph/J2DTextBoxEx.cpp | 2 +- libs/JSystem/JKernel/JKRAram.cpp | 1 - libs/JSystem/JKernel/JKRHeap.cpp | 1 - libs/JSystem/JMessage/processor.cpp | 9 +- libs/JSystem/JUtility/JUTCacheFont.cpp | 336 ++-- libs/JSystem/JUtility/JUTConsole.cpp | 194 +- libs/JSystem/JUtility/JUTResFont.cpp | 2 +- .../SComponent/c_API_controller_pad.cpp | 2 +- obj_files.mk | 8 +- rel/d/a/d_a_boomerang/d_a_boomerang.cpp | 13 - rel/d/a/d_a_crod/d_a_crod.cpp | 16 - rel/d/a/d_a_horse/d_a_horse.cpp | 22 - rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp | 159 +- rel/d/a/d_a_title/d_a_title_nonmatching.cpp | 654 ++++++ rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp | 53 +- rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp | 2 +- rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp | 350 ++-- rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp | 25 - rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp | 67 +- .../f_pc_profile_lst/f_pc_profile_lst.cpp | 1605 ++++++++------- src/a/obj/d_a_obj_ss_base.cpp | 92 - src/d/a/d_a_alink.cpp | 1750 ++++++++++++---- src/d/a/d_a_item_static.cpp | 4 +- src/d/a/d_a_itembase.cpp | 90 +- src/d/a/d_a_itembase_static.cpp | 3 +- src/{a/npc => d/a}/d_a_npc_cd.cpp | 2 +- src/{a/npc => d/a}/d_a_npc_cd2.cpp | 2 +- src/{a/obj => d/a}/d_a_obj_item.cpp | 1119 ++++++----- src/d/a/d_a_obj_ss_base.cpp | 33 + src/d/a/d_a_player.cpp | 12 +- src/d/bg/d_bg_s.cpp | 8 +- src/d/bg/d_bg_w.cpp | 6 +- src/d/bg/d_bg_w_kcol.cpp | 4 +- src/d/cc/d_cc_s.cpp | 10 - src/d/com/d_com_inf_actor.cpp | 9 +- src/d/com/d_com_inf_game.cpp | 44 +- src/d/com/d_com_static.cpp | 201 +- src/d/d_attention.cpp | 1 - src/d/d_camera.cpp | 2 +- src/d/d_demo.cpp | 43 +- src/d/d_item.cpp | 85 +- src/d/d_lib.cpp | 142 +- src/d/d_path.cpp | 2 +- src/d/d_resorce.cpp | 4 - src/d/d_stage.cpp | 70 +- src/d/d_tresure.cpp | 246 ++- src/d/event/d_event.cpp | 782 +++++-- src/d/event/d_event_manager.cpp | 57 +- src/d/file/d_file_sel_info.cpp | 4 +- src/d/file/d_file_sel_warning.cpp | 60 +- src/d/kankyo/d_kankyo.cpp | 6 +- src/d/menu/d_menu_fmap.cpp | 1 - src/d/menu/d_menu_save.cpp | 1790 ++++++++--------- src/d/menu/d_menu_window.cpp | 1 - src/d/meter/d_meter2.cpp | 2 +- src/d/meter/d_meter2_info.cpp | 759 ++++--- src/d/msg/d_msg_object.cpp | 183 +- src/d/msg/d_msg_out_font.cpp | 729 ++++--- src/d/msg/d_msg_string.cpp | 35 - src/d/msg/d_msg_string_base.cpp | 50 - src/d/particle/d_particle.cpp | 15 +- src/d/s/d_s_play.cpp | 137 +- src/f_op/f_op_actor.cpp | 269 ++- src/f_op/f_op_actor_mng.cpp | 1731 +++++++++------- src/f_op/f_op_msg_mng.cpp | 2 +- src/f_pc/f_pc_leaf.cpp | 4 +- src/f_pc/f_pc_node.cpp | 3 +- src/f_pc/f_pc_profile.cpp | 5 +- src/m_Do/m_Do_ext.cpp | 3 +- src/m_Do/m_Do_machine.cpp | 660 ++++-- src/m_Do/m_Do_machine_exception.cpp | 6 +- src/msg/scrn/d_msg_scrn_base.cpp | 387 +--- src/msg/scrn/d_msg_scrn_boss.cpp | 293 +-- src/msg/scrn/d_msg_scrn_explain.cpp | 111 +- 412 files changed, 12030 insertions(+), 16833 deletions(-) delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/__ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap.s delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/__dt__12JUTCacheFontFv.s delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/deleteMemBlocks_CacheFont__12JUTCacheFontFv.s delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/initialize_state__12JUTCacheFontFv.s delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s delete mode 100644 asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiPvUl.s delete mode 100644 asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiUiP7JKRHeap.s delete mode 100644 asm/a/obj/d_a_obj_item/CountTimer__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/_daItem_delete__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/_daItem_draw__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/checkCountTimer__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/checkPlayerGet__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/deleteItem__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/getData__12daItemBase_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/initAngle__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/initBaseMtx__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/itemActionForRupee__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/itemGetNextExecute__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/mode_wait__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/mode_wait_init__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/mode_water_init__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procInitBoomHitWait__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procInitForceGet__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procInitGetDemoEvent__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procInitNormal__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procInitSwOnWait__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procMainForceGet__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procMainGetDemoEvent__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procMainNormal__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procMainSwOnWait__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procWaitGetDemoEvent__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/setBaseMtx_0__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/setBaseMtx__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/setCullInfo__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/setTevStr__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_ss_base/__ct__14daObj_SSBase_cFv.s delete mode 100644 asm/a/obj/d_a_obj_ss_base/__dt__14daObj_SSBase_cFv.s delete mode 100644 asm/a/obj/d_a_obj_ss_base/getProcessID__14daObj_SSBase_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkBossRoom__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCastleTown__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCloudSea__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkDungeon__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkField__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGroupItem__9daAlink_cCFii.s delete mode 100644 asm/d/a/d_a_alink/checkItemSetButton__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkLv7DungeonShop__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkMagneBootsFly__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkRoomOnly__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkRoomSpecial__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkSetItemTrigger__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz.s delete mode 100644 asm/d/a/d_a_alink/concatMagneBootInvMtx__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/concatMagneBootMtx__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/keepItemData__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/multVecMagneBootInvMtx__9daAlink_cFP4cXyz.s delete mode 100644 asm/d/a/d_a_alink/playerInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procDungeonWarpReadyInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procMasterSwordPullInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procMasterSwordStickInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procMasterSwordStick__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/returnKeepItemData__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM.s delete mode 100644 asm/d/a/d_a_alink/setItemModel__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setRollJump__9daAlink_cFffs.s delete mode 100644 asm/d/a/d_a_alink/setSelectEquipItem__9daAlink_cFi.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfGp_setNextStage__FPCcsScScfUliScsii.s delete mode 100644 asm/d/com/d_com_static/checkMagneA__12daTagMagne_cFv.s delete mode 100644 asm/d/com/d_com_static/checkMagneB__12daTagMagne_cFv.s delete mode 100644 asm/d/com/d_com_static/checkMagneC__12daTagMagne_cFv.s delete mode 100644 asm/d/com/d_com_static/checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo.s delete mode 100644 asm/d/com/d_com_static/chkSaveFlag__12daObjCarry_cFv.s delete mode 100644 asm/d/com/d_com_static/chkSttsFlag__12daObjCarry_cFiUc.s delete mode 100644 asm/d/com/d_com_static/clrSaveFlag__12daObjCarry_cFv.s delete mode 100644 asm/d/com/d_com_static/getRoomNo__12daObjCarry_cFi.s delete mode 100644 asm/d/com/d_com_static/offSttsFlag__12daObjCarry_cFiUc.s delete mode 100644 asm/d/com/d_com_static/onSttsFlag__12daObjCarry_cFiUc.s delete mode 100644 asm/d/com/d_com_static/setRoomNo__12daObjCarry_cFiSc.s delete mode 100644 asm/d/com/d_com_static/setSaveFlag__12daObjCarry_cFv.s delete mode 100644 asm/d/d_lib/Yinit__9STControlFv.s delete mode 100644 asm/d/d_tresure/create__7dTres_cFv.s delete mode 100644 asm/d/d_tresure/getBossIconFloorNo__7dTres_cFPi.s delete mode 100644 asm/d/d_tresure/getFirstData__7dTres_cFUc.s delete mode 100644 asm/d/d_tresure/getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c.s delete mode 100644 asm/d/d_tresure/getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c.s delete mode 100644 asm/d/d_tresure/getTypeGroupNoToType__7dTres_cFUc.s delete mode 100644 asm/d/d_tresure/getTypeToTypeGroupNo__7dTres_cFUc.s delete mode 100644 asm/d/d_tresure/onStatus__7dTres_cFUcii.s delete mode 100644 asm/d/d_tresure/reset__7dTres_cFv.s delete mode 100644 asm/d/d_tresure/setPosition__7dTres_cFiUcPC3Veci.s delete mode 100644 asm/d/event/d_event/afterFlagProc__14dEvt_control_cFP12dEvt_order_c.s delete mode 100644 asm/d/event/d_event/beforeFlagProc__14dEvt_control_cFP12dEvt_order_c.s delete mode 100644 asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s delete mode 100644 asm/d/event/d_event/dEv_defaultSkipStb__FPvi.s delete mode 100644 asm/d/event/d_event/dEv_defaultSkipZev__FPvi.s delete mode 100644 asm/d/event/d_event/entry__14dEvt_control_cFv.s delete mode 100644 asm/d/event/d_event/reset__14dEvt_control_cFPv.s delete mode 100644 asm/d/event/d_event/reset__14dEvt_control_cFv.s delete mode 100644 asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUcl.s delete mode 100644 asm/d/event/d_event/setParam__14dEvt_control_cFP12dEvt_order_c.s delete mode 100644 asm/d/event/d_event/skipper__14dEvt_control_cFv.s delete mode 100644 asm/d/menu/d_menu_save/__ct__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/__ct__9dMs_HIO_cFv.s delete mode 100644 asm/d/menu/d_menu_save/__dt__16dDlst_MenuSave_cFv.s delete mode 100644 asm/d/menu/d_menu_save/__dt__23dDlst_MenuSaveExplain_cFv.s delete mode 100644 asm/d/menu/d_menu_save/__dt__9dMs_HIO_cFv.s delete mode 100644 asm/d/menu/d_menu_save/__sinit_d_menu_save_cpp.s delete mode 100644 asm/d/menu/d_menu_save/_close__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/_create__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/_draw2__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/_draw__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/_move__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/_open__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/dataSave__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/dataWrite__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/displayInit__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/errorTxtSet__12dMenu_save_cFUs.s delete mode 100644 asm/d/menu/d_menu_save/gameFileMakeSelInitSet__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/headerTxtSet__12dMenu_save_cFUs.s delete mode 100644 asm/d/menu/d_menu_save/initialize__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/iplSelMsgInitSet__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/makeGameFileDisp__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/makeGameFileSelDisp__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/memCardErrMsgWaitKey__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/memCardFormat__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/memCardMakeGameFileSel__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/memCardWatch__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/msgTxtSet__12dMenu_save_cFUsb.s delete mode 100644 asm/d/menu/d_menu_save/saveSelAnm__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/setInitSaveData__12dMenu_save_cFv.s delete mode 100644 asm/d/menu/d_menu_save/setSaveData__12dMenu_save_cFv.s delete mode 100644 asm/d/meter/d_meter2_info/dMeter2Info_getNowLifeGauge__Fv.s delete mode 100644 asm/d/meter/d_meter2_info/dMeter2Info_isItemOpenCheck__Fv.s delete mode 100644 asm/d/meter/d_meter2_info/get2ndTexture__13dMeter2Info_cFUc.s delete mode 100644 asm/d/meter/d_meter2_info/setFloatingFlow__13dMeter2Info_cFUssb.s delete mode 100644 asm/d/meter/d_meter2_info/setFloatingMessage__13dMeter2Info_cFUssb.s delete mode 100644 asm/d/meter/d_meter2_info/setMeterString__13dMeter2Info_cFl.s delete mode 100644 asm/d/meter/d_meter2_info/warpOutProc__13dMeter2Info_cFv.s delete mode 100644 asm/d/msg/d_msg_object/changeFlowGroupLocal__12dMsgObject_cFl.s delete mode 100644 asm/d/msg/d_msg_object/demoMessageGroupLocal__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/endFlowGroupLocal__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/getItemEquipButton__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/getSelectBombBagID__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/getSelectBombPrice__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/isGetItemMessage__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/isHowlHearingMode__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/isHowlMessage__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/isKanbanMessage__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c.s delete mode 100644 asm/d/msg/d_msg_object/setEquipBombInfo__12dMsgObject_cFv.s delete mode 100644 asm/d/msg/d_msg_object/setSelectCancelPos__12dMsgObject_cFUc.s delete mode 100644 asm/d/msg/d_msg_out_font/__ct__10COutFont_cFUc.s delete mode 100644 asm/d/msg/d_msg_out_font/__ct__13COutFontSet_cFv.s delete mode 100644 asm/d/msg/d_msg_out_font/__dt__10COutFont_cFv.s delete mode 100644 asm/d/msg/d_msg_out_font/__dt__13COutFontSet_cFv.s delete mode 100644 asm/d/msg/d_msg_out_font/drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc.s delete mode 100644 asm/d/msg/d_msg_out_font/drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc.s delete mode 100644 asm/d/msg/d_msg_out_font/getBtiName__10COutFont_cFi.s delete mode 100644 asm/d/msg/d_msg_out_font/initialize__10COutFont_cFv.s delete mode 100644 asm/d/msg/d_msg_out_font/initialize__13COutFontSet_cFv.s delete mode 100644 asm/d/msg/d_msg_out_font/reset__10COutFont_cFP10J2DTextBox.s delete mode 100644 asm/d/msg/d_msg_out_font/setAlphaRatio__10COutFont_cFf.s delete mode 100644 asm/d/msg/d_msg_out_font/setPane__10COutFont_cFP10J2DPicture.s delete mode 100644 asm/f_op/f_op_actor/__ct__10fopAc_ac_cFv.s delete mode 100644 asm/f_op/f_op_actor/__dt__10fopAc_ac_cFv.s delete mode 100644 asm/f_op/f_op_actor/fopAc_Draw__FPv.s delete mode 100644 asm/f_op/f_op_actor/fopAc_Execute__FPv.s delete mode 100644 asm/f_op/f_op_actor/fopAc_IsActor__FPv.s delete mode 100644 asm/f_op/f_op_actor/fopAc_IsDelete__FPv.s delete mode 100644 asm/f_op/f_op_actor_mng/event_second_actor__FUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_cancelCarryNow__FP10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_carryOffRevise__FP10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_delete__FUi.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_findObject4EventCB__FP10fopAc_ac_cPv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_findObjectCB__FPC10fopAc_ac_cPv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_getEventPartner__FPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_getItemEventPartner__FPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_getTalkEventPartner__FPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_plAngleCheck__FPC10fopAc_ac_cs.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_searchFromName__FPCcUlUl.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_setCarryNow__FP10fopAc_ac_ci.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_setRoomLayer__FPvi.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_setStageLayer__FPv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_wayBgCheck__FPC10fopAc_ac_cff.s delete mode 100644 asm/f_op/f_op_actor_mng/fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz.s delete mode 100644 asm/m_Do/m_Do_machine/developKeyCheck__FUlUl.s delete mode 100644 asm/m_Do/m_Do_machine/myGetHeapTypeByString__FP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_machine/myHeapCheckRecursive__FP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_machine/myMemoryErrorRoutine__FPvUli.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/__ct__14dMsgScrnBase_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/__dt__14dMsgScrnBase_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/drawOutFont__14dMsgScrnBase_cFfff.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/drawSelf__14dMsgScrnBase_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/draw__14dMsgScrnBase_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/fontAlpha__14dMsgScrnBase_cFf.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/fukiAlpha__14dMsgScrnBase_cFf.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/fukiScale__14dMsgScrnBase_cFf.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/fukiTrans__14dMsgScrnBase_cFff.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/init__14dMsgScrnBase_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/isTalkNow__14dMsgScrnBase_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/multiDraw__14dMsgScrnBase_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/setRubyString__14dMsgScrnBase_cFPc.s delete mode 100644 asm/msg/scrn/d_msg_scrn_base/setString__14dMsgScrnBase_cFPcPc.s delete mode 100644 asm/msg/scrn/d_msg_scrn_boss/__ct__14dMsgScrnBoss_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_boss/__dt__14dMsgScrnBoss_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_boss/drawSelf__14dMsgScrnBoss_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_boss/exec__14dMsgScrnBoss_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_boss/fukiAlpha__14dMsgScrnBoss_cFf.s delete mode 100644 asm/rel/d/a/d_a_scene_exit/d_a_scene_exit/checkWork__8daScex_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__dt__14daNPC_TR_HIO_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__sinit_d_a_npc_tr_cpp.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Delete__FP12npc_tr_class.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Draw__FP12npc_tr_class.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Execute__FP12npc_tr_class.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/useHeapInit__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/Create__12daTagMagne_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/_delete__12daTagMagne_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/func_805A54DC.s delete mode 100644 asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleEpilog.s delete mode 100644 asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleProlog.s delete mode 100644 include/a/obj/d_a_obj_item.h delete mode 100644 include/a/obj/d_a_obj_ss_base.h rename include/{a/npc => d/a}/d_a_npc_cd.h (100%) rename include/{a/npc => d/a}/d_a_npc_cd2.h (100%) create mode 100644 include/d/a/d_a_obj_item.h create mode 100644 include/d/a/d_a_obj_ss_base.h create mode 100644 rel/d/a/d_a_title/d_a_title_nonmatching.cpp delete mode 100644 src/a/obj/d_a_obj_ss_base.cpp rename src/{a/npc => d/a}/d_a_npc_cd.cpp (99%) rename src/{a/npc => d/a}/d_a_npc_cd2.cpp (99%) rename src/{a/obj => d/a}/d_a_obj_item.cpp (68%) create mode 100644 src/d/a/d_a_obj_ss_base.cpp diff --git a/Progress.md b/Progress.md index 04c2ace3e6..26fe2809c6 100644 --- a/Progress.md +++ b/Progress.md @@ -7,28 +7,28 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 91.849662% | 8700 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 13.006820% | 467796 | 3596544 +.text | 14.351444% | 516156 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 22.164255% | 891152 | 4020672 +Total | 23.367039% | 939512 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 22.164255% | 891152 | 4020672 -RELs | 33.172039% | 3814892 | 11500324 -Total | 30.320503% | 4706044 | 15520996 +main.dol | 23.367039% | 939512 | 4020672 +RELs | 33.183726% | 3816236 | 11500324 +Total | 30.640740% | 4755748 | 15520996 ## RELs Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -f_pc_profile_lst | 99.872141% | 28120 | 28156 +f_pc_profile_lst | 100.000000% | 28156 | 28156 d_a_hozelda | 28.805621% | 4920 | 17080 d_a_ni | 27.299309% | 8216 | 30096 d_a_mg_fshop | 36.363636% | 9360 | 25740 @@ -47,7 +47,7 @@ d_a_nbomb | 28.739233% | 8808 | 30648 d_a_talk | 45.434783% | 836 | 1840 d_a_coach_2D | 38.344915% | 2428 | 6332 d_a_ykgr | 44.400631% | 2252 | 5072 -d_a_scene_exit | 46.019417% | 948 | 2060 +d_a_scene_exit | 61.359223% | 1264 | 2060 d_a_tbox2 | 42.486445% | 4388 | 10328 d_a_shop_item | 43.088737% | 2020 | 4688 d_a_midna | 22.953368% | 12404 | 54040 @@ -152,7 +152,7 @@ d_a_tag_allmato | 30.234070% | 3720 | 12304 d_a_tag_bottle_item | 38.554217% | 1024 | 2656 d_a_tag_push | 41.000000% | 1148 | 2800 d_a_tag_stream | 49.729730% | 736 | 1480 -d_a_tag_magne | 66.810345% | 620 | 928 +d_a_tag_magne | 93.103448% | 864 | 928 d_a_tag_spinner | 45.850622% | 884 | 1928 d_a_tag_schedule | 82.022472% | 584 | 712 d_a_tag_setBall | 100.000000% | 880 | 880 @@ -605,7 +605,7 @@ d_a_npc_ashB | 32.906995% | 8336 | 25332 d_a_npc_kn | 34.989558% | 48252 | 137904 d_a_npc_chat | 56.591640% | 32384 | 57224 d_a_npc_ash | 31.737680% | 9892 | 31168 -d_a_npc_tr | 42.322991% | 2128 | 5028 +d_a_npc_tr | 57.199682% | 2876 | 5028 d_a_npc_blue_ns | 31.763122% | 7552 | 23776 d_a_npc_yamid | 36.895778% | 7236 | 19612 d_a_npc_zanb | 37.827310% | 6992 | 18484 @@ -785,4 +785,4 @@ d_a_b_oh2 | 37.960954% | 2100 | 5532 d_a_b_bq | 28.033347% | 11164 | 39824 d_a_b_zant_sima | 40.995025% | 1648 | 4020 d_a_b_gm | 30.376176% | 11628 | 38280 -Total | 33.172039% | 3814892 | 11500324 +Total | 33.183726% | 3816236 | 11500324 diff --git a/asm/JSystem/JUtility/JUTCacheFont/__ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap.s b/asm/JSystem/JUtility/JUTCacheFont/__ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap.s deleted file mode 100644 index f63b25a5ff..0000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/__ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802DD188: -/* 802DD188 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802DD18C 7C 08 02 A6 */ mflr r0 -/* 802DD190 90 01 00 24 */ stw r0, 0x24(r1) -/* 802DD194 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DD198 48 08 50 41 */ bl _savegpr_28 -/* 802DD19C 7C 7C 1B 78 */ mr r28, r3 -/* 802DD1A0 7C 9D 23 78 */ mr r29, r4 -/* 802DD1A4 7C BE 2B 78 */ mr r30, r5 -/* 802DD1A8 7C DF 33 78 */ mr r31, r6 -/* 802DD1AC 48 00 1D 9D */ bl __ct__10JUTResFontFv -/* 802DD1B0 3C 60 80 3D */ lis r3, __vt__12JUTCacheFont@ha /* 0x803CC540@ha */ -/* 802DD1B4 38 03 C5 40 */ addi r0, r3, __vt__12JUTCacheFont@l /* 0x803CC540@l */ -/* 802DD1B8 90 1C 00 00 */ stw r0, 0(r28) -/* 802DD1BC 7F 83 E3 78 */ mr r3, r28 -/* 802DD1C0 48 00 01 61 */ bl initialize_state__12JUTCacheFontFv -/* 802DD1C4 7F 83 E3 78 */ mr r3, r28 -/* 802DD1C8 48 00 1E E9 */ bl initialize_state__10JUTResFontFv -/* 802DD1CC 7F 83 E3 78 */ mr r3, r28 -/* 802DD1D0 48 00 1B 55 */ bl initialize_state__7JUTFontFv -/* 802DD1D4 7F 83 E3 78 */ mr r3, r28 -/* 802DD1D8 7F A4 EB 78 */ mr r4, r29 -/* 802DD1DC 38 A0 00 00 */ li r5, 0 -/* 802DD1E0 7F C6 F3 78 */ mr r6, r30 -/* 802DD1E4 7F E7 FB 78 */ mr r7, r31 -/* 802DD1E8 48 00 03 05 */ bl initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap -/* 802DD1EC 7F 83 E3 78 */ mr r3, r28 -/* 802DD1F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DD1F4 48 08 50 31 */ bl _restgpr_28 -/* 802DD1F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802DD1FC 7C 08 03 A6 */ mtlr r0 -/* 802DD200 38 21 00 20 */ addi r1, r1, 0x20 -/* 802DD204 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTCacheFont/__dt__12JUTCacheFontFv.s b/asm/JSystem/JUtility/JUTCacheFont/__dt__12JUTCacheFontFv.s deleted file mode 100644 index 2f2efffbc2..0000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/__dt__12JUTCacheFontFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_802DD208: -/* 802DD208 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DD20C 7C 08 02 A6 */ mflr r0 -/* 802DD210 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DD214 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DD218 93 C1 00 08 */ stw r30, 8(r1) -/* 802DD21C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802DD220 7C 9F 23 78 */ mr r31, r4 -/* 802DD224 41 82 00 5C */ beq lbl_802DD280 -/* 802DD228 3C 80 80 3D */ lis r4, __vt__12JUTCacheFont@ha /* 0x803CC540@ha */ -/* 802DD22C 38 04 C5 40 */ addi r0, r4, __vt__12JUTCacheFont@l /* 0x803CC540@l */ -/* 802DD230 90 1E 00 00 */ stw r0, 0(r30) -/* 802DD234 88 1E 00 04 */ lbz r0, 4(r30) -/* 802DD238 28 00 00 00 */ cmplwi r0, 0 -/* 802DD23C 41 82 00 28 */ beq lbl_802DD264 -/* 802DD240 48 00 00 5D */ bl deleteMemBlocks_CacheFont__12JUTCacheFontFv -/* 802DD244 7F C3 F3 78 */ mr r3, r30 -/* 802DD248 48 00 00 D9 */ bl initialize_state__12JUTCacheFontFv -/* 802DD24C 7F C3 F3 78 */ mr r3, r30 -/* 802DD250 48 00 1E 3D */ bl deleteMemBlocks_ResFont__10JUTResFontFv -/* 802DD254 7F C3 F3 78 */ mr r3, r30 -/* 802DD258 48 00 1E 59 */ bl initialize_state__10JUTResFontFv -/* 802DD25C 7F C3 F3 78 */ mr r3, r30 -/* 802DD260 48 00 1A C5 */ bl initialize_state__7JUTFontFv -lbl_802DD264: -/* 802DD264 7F C3 F3 78 */ mr r3, r30 -/* 802DD268 38 80 00 00 */ li r4, 0 -/* 802DD26C 48 00 1D 95 */ bl __dt__10JUTResFontFv -/* 802DD270 7F E0 07 35 */ extsh. r0, r31 -/* 802DD274 40 81 00 0C */ ble lbl_802DD280 -/* 802DD278 7F C3 F3 78 */ mr r3, r30 -/* 802DD27C 4B FF 1A C1 */ bl __dl__FPv -lbl_802DD280: -/* 802DD280 7F C3 F3 78 */ mr r3, r30 -/* 802DD284 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DD288 83 C1 00 08 */ lwz r30, 8(r1) -/* 802DD28C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DD290 7C 08 03 A6 */ mtlr r0 -/* 802DD294 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DD298 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTCacheFont/deleteMemBlocks_CacheFont__12JUTCacheFontFv.s b/asm/JSystem/JUtility/JUTCacheFont/deleteMemBlocks_CacheFont__12JUTCacheFontFv.s deleted file mode 100644 index 8b81591c33..0000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/deleteMemBlocks_CacheFont__12JUTCacheFontFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_802DD29C: -/* 802DD29C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DD2A0 7C 08 02 A6 */ mflr r0 -/* 802DD2A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DD2A8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DD2AC 7C 7F 1B 78 */ mr r31, r3 -/* 802DD2B0 88 03 00 B0 */ lbz r0, 0xb0(r3) -/* 802DD2B4 28 00 00 00 */ cmplwi r0, 0 -/* 802DD2B8 41 82 00 0C */ beq lbl_802DD2C4 -/* 802DD2BC 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 802DD2C0 4B FF 1A A1 */ bl __dla__FPv -lbl_802DD2C4: -/* 802DD2C4 80 7F 00 AC */ lwz r3, 0xac(r31) -/* 802DD2C8 28 03 00 00 */ cmplwi r3, 0 -/* 802DD2CC 41 82 00 18 */ beq lbl_802DD2E4 -/* 802DD2D0 38 80 00 01 */ li r4, 1 -/* 802DD2D4 81 83 00 00 */ lwz r12, 0(r3) -/* 802DD2D8 81 8C 00 08 */ lwz r12, 8(r12) -/* 802DD2DC 7D 89 03 A6 */ mtctr r12 -/* 802DD2E0 4E 80 04 21 */ bctrl -lbl_802DD2E4: -/* 802DD2E4 80 7F 00 4C */ lwz r3, 0x4c(r31) -/* 802DD2E8 4B FF 1A 55 */ bl __dl__FPv -/* 802DD2EC 80 7F 00 50 */ lwz r3, 0x50(r31) -/* 802DD2F0 4B FF 1A 4D */ bl __dl__FPv -/* 802DD2F4 80 7F 00 7C */ lwz r3, 0x7c(r31) -/* 802DD2F8 4B FF 1A 45 */ bl __dl__FPv -/* 802DD2FC 80 7F 00 80 */ lwz r3, 0x80(r31) -/* 802DD300 4B FF 1A 3D */ bl __dl__FPv -/* 802DD304 80 7F 00 84 */ lwz r3, 0x84(r31) -/* 802DD308 4B FF 1A 35 */ bl __dl__FPv -/* 802DD30C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DD310 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DD314 7C 08 03 A6 */ mtlr r0 -/* 802DD318 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DD31C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTCacheFont/initialize_state__12JUTCacheFontFv.s b/asm/JSystem/JUtility/JUTCacheFont/initialize_state__12JUTCacheFontFv.s deleted file mode 100644 index 92627a22ab..0000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/initialize_state__12JUTCacheFontFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802DD320: -/* 802DD320 38 00 00 00 */ li r0, 0 -/* 802DD324 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 802DD328 90 03 00 90 */ stw r0, 0x90(r3) -/* 802DD32C 90 03 00 AC */ stw r0, 0xac(r3) -/* 802DD330 90 03 00 4C */ stw r0, 0x4c(r3) -/* 802DD334 90 03 00 7C */ stw r0, 0x7c(r3) -/* 802DD338 90 03 00 80 */ stw r0, 0x80(r3) -/* 802DD33C 90 03 00 84 */ stw r0, 0x84(r3) -/* 802DD340 90 03 00 50 */ stw r0, 0x50(r3) -/* 802DD344 90 03 00 8C */ stw r0, 0x8c(r3) -/* 802DD348 90 03 00 88 */ stw r0, 0x88(r3) -/* 802DD34C 90 03 00 90 */ stw r0, 0x90(r3) -/* 802DD350 90 03 00 9C */ stw r0, 0x9c(r3) -/* 802DD354 90 03 00 A0 */ stw r0, 0xa0(r3) -/* 802DD358 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTCacheFont/initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s b/asm/JSystem/JUtility/JUTCacheFont/initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s deleted file mode 100644 index 9bf781b351..0000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802DD4EC: -/* 802DD4EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DD4F0 7C 08 02 A6 */ mflr r0 -/* 802DD4F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DD4F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DD4FC 7C 7F 1B 78 */ mr r31, r3 -/* 802DD500 48 00 00 4D */ bl internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap -/* 802DD504 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802DD508 40 82 00 2C */ bne lbl_802DD534 -/* 802DD50C 7F E3 FB 78 */ mr r3, r31 -/* 802DD510 4B FF FD 8D */ bl deleteMemBlocks_CacheFont__12JUTCacheFontFv -/* 802DD514 7F E3 FB 78 */ mr r3, r31 -/* 802DD518 48 00 1B 75 */ bl deleteMemBlocks_ResFont__10JUTResFontFv -/* 802DD51C 7F E3 FB 78 */ mr r3, r31 -/* 802DD520 48 00 18 05 */ bl initialize_state__7JUTFontFv -/* 802DD524 38 00 00 00 */ li r0, 0 -/* 802DD528 98 1F 00 04 */ stb r0, 4(r31) -/* 802DD52C 38 60 00 00 */ li r3, 0 -/* 802DD530 48 00 00 08 */ b lbl_802DD538 -lbl_802DD534: -/* 802DD534 38 60 00 01 */ li r3, 1 -lbl_802DD538: -/* 802DD538 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DD53C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DD540 7C 08 03 A6 */ mtlr r0 -/* 802DD544 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DD548 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTCacheFont/internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s b/asm/JSystem/JUtility/JUTCacheFont/internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s deleted file mode 100644 index 0190291eee..0000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_802DD54C: -/* 802DD54C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802DD550 7C 08 02 A6 */ mflr r0 -/* 802DD554 90 01 00 34 */ stw r0, 0x34(r1) -/* 802DD558 39 61 00 30 */ addi r11, r1, 0x30 -/* 802DD55C 48 08 4C 79 */ bl _savegpr_27 -/* 802DD560 7C 7B 1B 78 */ mr r27, r3 -/* 802DD564 7C 9C 23 78 */ mr r28, r4 -/* 802DD568 7C BD 2B 78 */ mr r29, r5 -/* 802DD56C 7C DE 33 78 */ mr r30, r6 -/* 802DD570 7C FF 3B 78 */ mr r31, r7 -/* 802DD574 4B FF FD 29 */ bl deleteMemBlocks_CacheFont__12JUTCacheFontFv -/* 802DD578 7F 63 DB 78 */ mr r3, r27 -/* 802DD57C 4B FF FD A5 */ bl initialize_state__12JUTCacheFontFv -/* 802DD580 7F 63 DB 78 */ mr r3, r27 -/* 802DD584 48 00 1B 09 */ bl deleteMemBlocks_ResFont__10JUTResFontFv -/* 802DD588 7F 63 DB 78 */ mr r3, r27 -/* 802DD58C 48 00 1B 25 */ bl initialize_state__10JUTResFontFv -/* 802DD590 7F 63 DB 78 */ mr r3, r27 -/* 802DD594 48 00 17 91 */ bl initialize_state__7JUTFontFv -/* 802DD598 28 1C 00 00 */ cmplwi r28, 0 -/* 802DD59C 40 82 00 0C */ bne lbl_802DD5A8 -/* 802DD5A0 38 60 00 00 */ li r3, 0 -/* 802DD5A4 48 00 00 94 */ b lbl_802DD638 -lbl_802DD5A8: -/* 802DD5A8 93 9B 00 48 */ stw r28, 0x48(r27) -/* 802DD5AC 38 00 00 01 */ li r0, 1 -/* 802DD5B0 98 1B 00 04 */ stb r0, 4(r27) -/* 802DD5B4 38 1B 00 88 */ addi r0, r27, 0x88 -/* 802DD5B8 90 01 00 08 */ stw r0, 8(r1) -/* 802DD5BC 7F 63 DB 78 */ mr r3, r27 -/* 802DD5C0 7F 84 E3 78 */ mr r4, r28 -/* 802DD5C4 38 BB 00 60 */ addi r5, r27, 0x60 -/* 802DD5C8 38 DB 00 70 */ addi r6, r27, 0x70 -/* 802DD5CC 38 FB 00 62 */ addi r7, r27, 0x62 -/* 802DD5D0 39 1B 00 74 */ addi r8, r27, 0x74 -/* 802DD5D4 39 3B 00 64 */ addi r9, r27, 0x64 -/* 802DD5D8 39 5B 00 78 */ addi r10, r27, 0x78 -/* 802DD5DC 4B FF FD 81 */ bl getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl -/* 802DD5E0 7F 63 DB 78 */ mr r3, r27 -/* 802DD5E4 7F A4 EB 78 */ mr r4, r29 -/* 802DD5E8 7F C5 F3 78 */ mr r5, r30 -/* 802DD5EC 7F E6 FB 78 */ mr r6, r31 -/* 802DD5F0 48 00 00 61 */ bl allocArea__12JUTCacheFontFPvUlP7JKRHeap -/* 802DD5F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802DD5F8 40 82 00 0C */ bne lbl_802DD604 -/* 802DD5FC 38 60 00 00 */ li r3, 0 -/* 802DD600 48 00 00 38 */ b lbl_802DD638 -lbl_802DD604: -/* 802DD604 7F 63 DB 78 */ mr r3, r27 -/* 802DD608 7F E4 FB 78 */ mr r4, r31 -/* 802DD60C 48 00 01 F9 */ bl allocArray__12JUTCacheFontFP7JKRHeap -/* 802DD610 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802DD614 40 82 00 0C */ bne lbl_802DD620 -/* 802DD618 38 60 00 00 */ li r3, 0 -/* 802DD61C 48 00 00 1C */ b lbl_802DD638 -lbl_802DD620: -/* 802DD620 7F 63 DB 78 */ mr r3, r27 -/* 802DD624 81 9B 00 00 */ lwz r12, 0(r27) -/* 802DD628 81 8C 00 48 */ lwz r12, 0x48(r12) -/* 802DD62C 7D 89 03 A6 */ mtctr r12 -/* 802DD630 4E 80 04 21 */ bctrl -/* 802DD634 38 60 00 01 */ li r3, 1 -lbl_802DD638: -/* 802DD638 39 61 00 30 */ addi r11, r1, 0x30 -/* 802DD63C 48 08 4B E5 */ bl _restgpr_27 -/* 802DD640 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802DD644 7C 08 03 A6 */ mtlr r0 -/* 802DD648 38 21 00 30 */ addi r1, r1, 0x30 -/* 802DD64C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiPvUl.s b/asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiPvUl.s deleted file mode 100644 index e9311be2b7..0000000000 --- a/asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiPvUl.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_802E73E4: -/* 802E73E4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E73E8 7C 08 02 A6 */ mflr r0 -/* 802E73EC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E73F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E73F4 48 07 AD E5 */ bl _savegpr_28 -/* 802E73F8 7C 7C 1B 78 */ mr r28, r3 -/* 802E73FC 7C 9D 23 78 */ mr r29, r4 -/* 802E7400 83 CD 8F F0 */ lwz r30, sManager__17JUTConsoleManager(r13) -/* 802E7404 7C A3 2B 78 */ mr r3, r5 -/* 802E7408 7F 84 E3 78 */ mr r4, r28 -/* 802E740C 48 00 01 D1 */ bl getLineFromObjectSize__10JUTConsoleFUlUi -/* 802E7410 7C 65 1B 78 */ mr r5, r3 -/* 802E7414 7F BF EB 78 */ mr r31, r29 -/* 802E7418 28 1D 00 00 */ cmplwi r29, 0 -/* 802E741C 41 82 00 18 */ beq lbl_802E7434 -/* 802E7420 7F A3 EB 78 */ mr r3, r29 -/* 802E7424 7F 84 E3 78 */ mr r4, r28 -/* 802E7428 38 C0 00 00 */ li r6, 0 -/* 802E742C 48 00 00 41 */ bl __ct__10JUTConsoleFUiUib -/* 802E7430 7C 7F 1B 78 */ mr r31, r3 -lbl_802E7434: -/* 802E7434 38 1D 00 6C */ addi r0, r29, 0x6c -/* 802E7438 90 1F 00 28 */ stw r0, 0x28(r31) -/* 802E743C 7F E3 FB 78 */ mr r3, r31 -/* 802E7440 48 00 01 AD */ bl clear__10JUTConsoleFv -/* 802E7444 7F C3 F3 78 */ mr r3, r30 -/* 802E7448 7F E4 FB 78 */ mr r4, r31 -/* 802E744C 48 00 0D F5 */ bl appendConsole__17JUTConsoleManagerFP10JUTConsole -/* 802E7450 7F E3 FB 78 */ mr r3, r31 -/* 802E7454 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E7458 48 07 AD CD */ bl _restgpr_28 -/* 802E745C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E7460 7C 08 03 A6 */ mtlr r0 -/* 802E7464 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E7468 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiUiP7JKRHeap.s b/asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiUiP7JKRHeap.s deleted file mode 100644 index ac245d7a8f..0000000000 --- a/asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiUiP7JKRHeap.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_802E7354: -/* 802E7354 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E7358 7C 08 02 A6 */ mflr r0 -/* 802E735C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E7360 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E7364 48 07 AE 71 */ bl _savegpr_27 -/* 802E7368 7C 7B 1B 78 */ mr r27, r3 -/* 802E736C 7C 9C 23 78 */ mr r28, r4 -/* 802E7370 7C BD 2B 78 */ mr r29, r5 -/* 802E7374 83 CD 8F F0 */ lwz r30, sManager__17JUTConsoleManager(r13) -/* 802E7378 48 00 02 55 */ bl getObjectSizeFromBufferSize__10JUTConsoleFUiUi -/* 802E737C 38 80 00 00 */ li r4, 0 -/* 802E7380 7F A5 EB 78 */ mr r5, r29 -/* 802E7384 4B FE 70 F1 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802E7388 7C 60 1B 78 */ mr r0, r3 -/* 802E738C 7C 1D 03 78 */ mr r29, r0 -/* 802E7390 7F BF EB 79 */ or. r31, r29, r29 -/* 802E7394 41 82 00 18 */ beq lbl_802E73AC -/* 802E7398 7F 64 DB 78 */ mr r4, r27 -/* 802E739C 7F 85 E3 78 */ mr r5, r28 -/* 802E73A0 38 C0 00 01 */ li r6, 1 -/* 802E73A4 48 00 00 C9 */ bl __ct__10JUTConsoleFUiUib -/* 802E73A8 7C 7F 1B 78 */ mr r31, r3 -lbl_802E73AC: -/* 802E73AC 38 1D 00 6C */ addi r0, r29, 0x6c -/* 802E73B0 90 1F 00 28 */ stw r0, 0x28(r31) -/* 802E73B4 7F E3 FB 78 */ mr r3, r31 -/* 802E73B8 48 00 02 35 */ bl clear__10JUTConsoleFv -/* 802E73BC 7F C3 F3 78 */ mr r3, r30 -/* 802E73C0 7F E4 FB 78 */ mr r4, r31 -/* 802E73C4 48 00 0E 7D */ bl appendConsole__17JUTConsoleManagerFP10JUTConsole -/* 802E73C8 7F E3 FB 78 */ mr r3, r31 -/* 802E73CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E73D0 48 07 AE 51 */ bl _restgpr_27 -/* 802E73D4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E73D8 7C 08 03 A6 */ mtlr r0 -/* 802E73DC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E73E0 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/CountTimer__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/CountTimer__8daItem_cFv.s deleted file mode 100644 index 2f159204e2..0000000000 --- a/asm/a/obj/d_a_obj_item/CountTimer__8daItem_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_8015D95C: -/* 8015D95C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015D960 7C 08 02 A6 */ mflr r0 -/* 8015D964 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D968 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015D96C 7C 7F 1B 78 */ mr r31, r3 -/* 8015D970 80 63 09 24 */ lwz r3, 0x924(r3) -/* 8015D974 38 03 00 01 */ addi r0, r3, 1 -/* 8015D978 90 1F 09 24 */ stw r0, 0x924(r31) -/* 8015D97C A8 7F 09 28 */ lha r3, 0x928(r31) -/* 8015D980 80 0D 81 28 */ lwz r0, m_timer_max__8daItem_c(r13) -/* 8015D984 7C 03 00 00 */ cmpw r3, r0 -/* 8015D988 40 80 00 0C */ bge lbl_8015D994 -/* 8015D98C 38 03 00 01 */ addi r0, r3, 1 -/* 8015D990 B0 1F 09 28 */ sth r0, 0x928(r31) -lbl_8015D994: -/* 8015D994 7F E3 FB 78 */ mr r3, r31 -/* 8015D998 4B FF F9 D9 */ bl checkCountTimer__8daItem_cFv -/* 8015D99C 2C 03 00 00 */ cmpwi r3, 0 -/* 8015D9A0 41 82 00 30 */ beq lbl_8015D9D0 -/* 8015D9A4 A8 7F 09 42 */ lha r3, 0x942(r31) -/* 8015D9A8 2C 03 00 00 */ cmpwi r3, 0 -/* 8015D9AC 40 81 00 10 */ ble lbl_8015D9BC -/* 8015D9B0 38 03 FF FF */ addi r0, r3, -1 -/* 8015D9B4 B0 1F 09 42 */ sth r0, 0x942(r31) -/* 8015D9B8 48 00 00 18 */ b lbl_8015D9D0 -lbl_8015D9BC: -/* 8015D9BC A8 7F 09 44 */ lha r3, 0x944(r31) -/* 8015D9C0 2C 03 00 00 */ cmpwi r3, 0 -/* 8015D9C4 40 81 00 0C */ ble lbl_8015D9D0 -/* 8015D9C8 38 03 FF FF */ addi r0, r3, -1 -/* 8015D9CC B0 1F 09 44 */ sth r0, 0x944(r31) -lbl_8015D9D0: -/* 8015D9D0 38 7F 09 5E */ addi r3, r31, 0x95e -/* 8015D9D4 4B FE 41 15 */ bl func_80141AE8 -/* 8015D9D8 38 60 00 01 */ li r3, 1 -/* 8015D9DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015D9E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015D9E4 7C 08 03 A6 */ mtlr r0 -/* 8015D9E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015D9EC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/_daItem_delete__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/_daItem_delete__8daItem_cFv.s deleted file mode 100644 index 51f46aaa9a..0000000000 --- a/asm/a/obj/d_a_obj_item/_daItem_delete__8daItem_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8015BDE8: -/* 8015BDE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015BDEC 7C 08 02 A6 */ mflr r0 -/* 8015BDF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015BDF4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015BDF8 7C 7F 1B 78 */ mr r31, r3 -/* 8015BDFC 38 7F 09 78 */ addi r3, r31, 0x978 -/* 8015BE00 48 16 21 F9 */ bl deleteObject__14Z2SoundObjBaseFv -/* 8015BE04 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015BE08 28 00 00 06 */ cmplwi r0, 6 -/* 8015BE0C 41 82 00 0C */ beq lbl_8015BE18 -/* 8015BE10 28 00 00 07 */ cmplwi r0, 7 -/* 8015BE14 40 82 00 18 */ bne lbl_8015BE2C -lbl_8015BE18: -/* 8015BE18 38 7F 09 98 */ addi r3, r31, 0x998 -/* 8015BE1C 81 9F 09 98 */ lwz r12, 0x998(r31) -/* 8015BE20 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8015BE24 7D 89 03 A6 */ mtctr r12 -/* 8015BE28 4E 80 04 21 */ bctrl -lbl_8015BE2C: -/* 8015BE2C 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015BE30 54 00 20 36 */ slwi r0, r0, 4 -/* 8015BE34 3C 60 80 3B */ lis r3, field_item_res__10dItem_data@ha /* 0x803ADD88@ha */ -/* 8015BE38 38 63 DD 88 */ addi r3, r3, field_item_res__10dItem_data@l /* 0x803ADD88@l */ -/* 8015BE3C 7C 83 00 2E */ lwzx r4, r3, r0 -/* 8015BE40 7F E3 FB 78 */ mr r3, r31 -/* 8015BE44 4B FE 88 E1 */ bl DeleteBase__12daItemBase_cFPCc -/* 8015BE48 38 60 00 01 */ li r3, 1 -/* 8015BE4C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015BE50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015BE54 7C 08 03 A6 */ mtlr r0 -/* 8015BE58 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015BE5C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/_daItem_draw__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/_daItem_draw__8daItem_cFv.s deleted file mode 100644 index 815f29e79c..0000000000 --- a/asm/a/obj/d_a_obj_item/_daItem_draw__8daItem_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8015BD84: -/* 8015BD84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015BD88 7C 08 02 A6 */ mflr r0 -/* 8015BD8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015BD90 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015BD94 7C 7F 1B 78 */ mr r31, r3 -/* 8015BD98 80 03 05 74 */ lwz r0, 0x574(r3) -/* 8015BD9C 28 00 00 00 */ cmplwi r0, 0 -/* 8015BDA0 40 82 00 0C */ bne lbl_8015BDAC -/* 8015BDA4 38 60 00 01 */ li r3, 1 -/* 8015BDA8 48 00 00 2C */ b lbl_8015BDD4 -lbl_8015BDAC: -/* 8015BDAC 4B ED BD 21 */ bl chkDraw__12daItemBase_cFv -/* 8015BDB0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015BDB4 41 82 00 1C */ beq lbl_8015BDD0 -/* 8015BDB8 7F E3 FB 78 */ mr r3, r31 -/* 8015BDBC 81 9F 05 68 */ lwz r12, 0x568(r31) -/* 8015BDC0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8015BDC4 7D 89 03 A6 */ mtctr r12 -/* 8015BDC8 4E 80 04 21 */ bctrl -/* 8015BDCC 48 00 00 08 */ b lbl_8015BDD4 -lbl_8015BDD0: -/* 8015BDD0 38 60 00 01 */ li r3, 1 -lbl_8015BDD4: -/* 8015BDD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015BDD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015BDDC 7C 08 03 A6 */ mtlr r0 -/* 8015BDE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015BDE4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/checkCountTimer__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/checkCountTimer__8daItem_cFv.s deleted file mode 100644 index bbf8c30c53..0000000000 --- a/asm/a/obj/d_a_obj_item/checkCountTimer__8daItem_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8015D370: -/* 8015D370 38 C0 00 01 */ li r6, 1 -/* 8015D374 88 A3 09 4A */ lbz r5, 0x94a(r3) -/* 8015D378 28 05 00 01 */ cmplwi r5, 1 -/* 8015D37C 40 82 00 08 */ bne lbl_8015D384 -/* 8015D380 38 C0 00 00 */ li r6, 0 -lbl_8015D384: -/* 8015D384 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015D388 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8015D38C 41 82 00 08 */ beq lbl_8015D394 -/* 8015D390 38 C0 00 00 */ li r6, 0 -lbl_8015D394: -/* 8015D394 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015D398 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015D39C 88 04 4F AD */ lbz r0, 0x4fad(r4) -/* 8015D3A0 28 00 00 00 */ cmplwi r0, 0 -/* 8015D3A4 41 82 00 08 */ beq lbl_8015D3AC -/* 8015D3A8 38 C0 00 00 */ li r6, 0 -lbl_8015D3AC: -/* 8015D3AC 28 05 00 05 */ cmplwi r5, 5 -/* 8015D3B0 41 82 00 10 */ beq lbl_8015D3C0 -/* 8015D3B4 80 03 04 9C */ lwz r0, 0x49c(r3) -/* 8015D3B8 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 8015D3BC 41 82 00 08 */ beq lbl_8015D3C4 -lbl_8015D3C0: -/* 8015D3C0 38 C0 00 00 */ li r6, 0 -lbl_8015D3C4: -/* 8015D3C4 7C C3 33 78 */ mr r3, r6 -/* 8015D3C8 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/checkPlayerGet__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/checkPlayerGet__8daItem_cFv.s deleted file mode 100644 index b890567804..0000000000 --- a/asm/a/obj/d_a_obj_item/checkPlayerGet__8daItem_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8015D3CC: -/* 8015D3CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015D3D0 7C 08 02 A6 */ mflr r0 -/* 8015D3D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D3D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015D3DC 7C 7F 1B 78 */ mr r31, r3 -/* 8015D3E0 4B FF DC D9 */ bl getData__12daItemBase_cFv -/* 8015D3E4 A8 A3 00 36 */ lha r5, 0x36(r3) -/* 8015D3E8 A8 1F 09 28 */ lha r0, 0x928(r31) -/* 8015D3EC 7C 04 FE 70 */ srawi r4, r0, 0x1f -/* 8015D3F0 54 A3 0F FE */ srwi r3, r5, 0x1f -/* 8015D3F4 7C 05 00 10 */ subfc r0, r5, r0 -/* 8015D3F8 7C 64 19 14 */ adde r3, r4, r3 -/* 8015D3FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015D400 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015D404 7C 08 03 A6 */ mtlr r0 -/* 8015D408 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015D40C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/deleteItem__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/deleteItem__8daItem_cFv.s deleted file mode 100644 index 36752c8e14..0000000000 --- a/asm/a/obj/d_a_obj_item/deleteItem__8daItem_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8015D480: -/* 8015D480 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015D484 7C 08 02 A6 */ mflr r0 -/* 8015D488 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D48C 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015D490 60 00 00 20 */ ori r0, r0, 0x20 -/* 8015D494 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015D498 4B EB C7 E5 */ bl fopAcM_delete__FP10fopAc_ac_c -/* 8015D49C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015D4A0 7C 08 03 A6 */ mtlr r0 -/* 8015D4A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015D4A8 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/getData__12daItemBase_cFv.s b/asm/a/obj/d_a_obj_item/getData__12daItemBase_cFv.s deleted file mode 100644 index e9b77e28a2..0000000000 --- a/asm/a/obj/d_a_obj_item/getData__12daItemBase_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8015B0B8: -/* 8015B0B8 3C 60 80 38 */ lis r3, m_data__12daItemBase_c@ha /* 0x803792B0@ha */ -/* 8015B0BC 38 63 92 B0 */ addi r3, r3, m_data__12daItemBase_c@l /* 0x803792B0@l */ -/* 8015B0C0 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/initAngle__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/initAngle__8daItem_cFv.s deleted file mode 100644 index 8ecbfe4bfa..0000000000 --- a/asm/a/obj/d_a_obj_item/initAngle__8daItem_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8015DE38: -/* 8015DE38 38 00 00 00 */ li r0, 0 -/* 8015DE3C B0 03 04 E0 */ sth r0, 0x4e0(r3) -/* 8015DE40 B0 03 04 DC */ sth r0, 0x4dc(r3) -/* 8015DE44 B0 03 04 E8 */ sth r0, 0x4e8(r3) -/* 8015DE48 B0 03 04 E4 */ sth r0, 0x4e4(r3) -/* 8015DE4C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/initBaseMtx__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/initBaseMtx__8daItem_cFv.s deleted file mode 100644 index e314a6816f..0000000000 --- a/asm/a/obj/d_a_obj_item/initBaseMtx__8daItem_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8015B0C4: -/* 8015B0C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015B0C8 7C 08 02 A6 */ mflr r0 -/* 8015B0CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015B0D0 80 83 05 74 */ lwz r4, 0x574(r3) -/* 8015B0D4 28 04 00 00 */ cmplwi r4, 0 -/* 8015B0D8 41 82 00 20 */ beq lbl_8015B0F8 -/* 8015B0DC C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 8015B0E0 D0 04 00 18 */ stfs f0, 0x18(r4) -/* 8015B0E4 C0 03 04 F0 */ lfs f0, 0x4f0(r3) -/* 8015B0E8 D0 04 00 1C */ stfs f0, 0x1c(r4) -/* 8015B0EC C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 8015B0F0 D0 04 00 20 */ stfs f0, 0x20(r4) -/* 8015B0F4 48 00 00 15 */ bl setBaseMtx__8daItem_cFv -lbl_8015B0F8: -/* 8015B0F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015B0FC 7C 08 03 A6 */ mtlr r0 -/* 8015B100 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015B104 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/itemActionForRupee__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/itemActionForRupee__8daItem_cFv.s deleted file mode 100644 index 9f224d0db6..0000000000 --- a/asm/a/obj/d_a_obj_item/itemActionForRupee__8daItem_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_8015D4AC: -/* 8015D4AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015D4B0 7C 08 02 A6 */ mflr r0 -/* 8015D4B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D4B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015D4BC 7C 7F 1B 78 */ mr r31, r3 -/* 8015D4C0 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015D4C4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015D4C8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015D4CC 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015D4D0 4B F1 95 DD */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015D4D4 7F E3 FB 78 */ mr r3, r31 -/* 8015D4D8 48 00 02 5D */ bl bg_check__8daItem_cFv -/* 8015D4DC 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015D4E0 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 8015D4E4 41 82 00 28 */ beq lbl_8015D50C -/* 8015D4E8 7F E3 FB 78 */ mr r3, r31 -/* 8015D4EC 81 9F 05 68 */ lwz r12, 0x568(r31) -/* 8015D4F0 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8015D4F4 7D 89 03 A6 */ mtctr r12 -/* 8015D4F8 4E 80 04 21 */ bctrl -/* 8015D4FC C0 3F 05 2C */ lfs f1, 0x52c(r31) -/* 8015D500 C0 02 9B C0 */ lfs f0, lit_4979(r2) -/* 8015D504 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8015D508 D0 1F 05 2C */ stfs f0, 0x52c(r31) -lbl_8015D50C: -/* 8015D50C 88 1F 09 4B */ lbz r0, 0x94b(r31) -/* 8015D510 28 00 00 02 */ cmplwi r0, 2 -/* 8015D514 41 80 00 10 */ blt lbl_8015D524 -/* 8015D518 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015D51C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015D520 98 1F 09 48 */ stb r0, 0x948(r31) -lbl_8015D524: -/* 8015D524 88 1F 09 4B */ lbz r0, 0x94b(r31) -/* 8015D528 28 00 00 00 */ cmplwi r0, 0 -/* 8015D52C 40 82 00 20 */ bne lbl_8015D54C -/* 8015D530 7F E3 FB 78 */ mr r3, r31 -/* 8015D534 4B FF DB 85 */ bl getData__12daItemBase_cFv -/* 8015D538 A8 63 00 1A */ lha r3, 0x1a(r3) -/* 8015D53C A8 1F 04 E4 */ lha r0, 0x4e4(r31) -/* 8015D540 7C 00 1A 14 */ add r0, r0, r3 -/* 8015D544 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 8015D548 48 00 00 0C */ b lbl_8015D554 -lbl_8015D54C: -/* 8015D54C 38 00 00 00 */ li r0, 0 -/* 8015D550 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -lbl_8015D554: -/* 8015D554 38 60 00 01 */ li r3, 1 -/* 8015D558 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015D55C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015D560 7C 08 03 A6 */ mtlr r0 -/* 8015D564 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015D568 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/itemGetNextExecute__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/itemGetNextExecute__8daItem_cFv.s deleted file mode 100644 index a883c32a7d..0000000000 --- a/asm/a/obj/d_a_obj_item/itemGetNextExecute__8daItem_cFv.s +++ /dev/null @@ -1,123 +0,0 @@ -lbl_8015CEEC: -/* 8015CEEC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015CEF0 7C 08 02 A6 */ mflr r0 -/* 8015CEF4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015CEF8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015CEFC 48 20 52 E1 */ bl _savegpr_29 -/* 8015CF00 7C 7F 1B 78 */ mr r31, r3 -/* 8015CF04 88 83 09 48 */ lbz r4, 0x948(r3) -/* 8015CF08 54 80 06 B5 */ rlwinm. r0, r4, 0, 0x1a, 0x1a -/* 8015CF0C 40 82 01 84 */ bne lbl_8015D090 -/* 8015CF10 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 8015CF14 40 82 01 7C */ bne lbl_8015D090 -/* 8015CF18 60 80 00 10 */ ori r0, r4, 0x10 -/* 8015CF1C 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015CF20 3B A0 00 00 */ li r29, 0 -/* 8015CF24 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015CF28 2C 00 00 12 */ cmpwi r0, 0x12 -/* 8015CF2C 41 82 00 50 */ beq lbl_8015CF7C -/* 8015CF30 40 80 00 2C */ bge lbl_8015CF5C -/* 8015CF34 2C 00 00 08 */ cmpwi r0, 8 -/* 8015CF38 40 80 00 18 */ bge lbl_8015CF50 -/* 8015CF3C 2C 00 00 02 */ cmpwi r0, 2 -/* 8015CF40 40 80 00 3C */ bge lbl_8015CF7C -/* 8015CF44 2C 00 00 00 */ cmpwi r0, 0 -/* 8015CF48 40 80 00 20 */ bge lbl_8015CF68 -/* 8015CF4C 48 00 00 F0 */ b lbl_8015D03C -lbl_8015CF50: -/* 8015CF50 2C 00 00 0E */ cmpwi r0, 0xe -/* 8015CF54 40 80 00 14 */ bge lbl_8015CF68 -/* 8015CF58 48 00 00 E4 */ b lbl_8015D03C -lbl_8015CF5C: -/* 8015CF5C 2C 00 00 40 */ cmpwi r0, 0x40 -/* 8015CF60 41 82 00 D8 */ beq lbl_8015D038 -/* 8015CF64 48 00 00 D8 */ b lbl_8015D03C -lbl_8015CF68: -/* 8015CF68 7F E3 FB 78 */ mr r3, r31 -/* 8015CF6C 4B FF F0 ED */ bl procInitSimpleGetDemo__8daItem_cFv -/* 8015CF70 7F E3 FB 78 */ mr r3, r31 -/* 8015CF74 48 00 01 35 */ bl itemGet__8daItem_cFv -/* 8015CF78 48 00 00 C4 */ b lbl_8015D03C -lbl_8015CF7C: -/* 8015CF7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015CF80 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015CF84 80 7E 5D AC */ lwz r3, 0x5dac(r30) -/* 8015CF88 81 83 06 28 */ lwz r12, 0x628(r3) -/* 8015CF8C 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 8015CF90 7D 89 03 A6 */ mtctr r12 -/* 8015CF94 4E 80 04 21 */ bctrl -/* 8015CF98 28 03 00 00 */ cmplwi r3, 0 -/* 8015CF9C 40 82 00 20 */ bne lbl_8015CFBC -/* 8015CFA0 80 7E 5D AC */ lwz r3, 0x5dac(r30) -/* 8015CFA4 81 83 06 28 */ lwz r12, 0x628(r3) -/* 8015CFA8 81 8C 01 88 */ lwz r12, 0x188(r12) -/* 8015CFAC 7D 89 03 A6 */ mtctr r12 -/* 8015CFB0 4E 80 04 21 */ bctrl -/* 8015CFB4 28 03 00 00 */ cmplwi r3, 0 -/* 8015CFB8 41 82 00 4C */ beq lbl_8015D004 -lbl_8015CFBC: -/* 8015CFBC 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015CFC0 38 80 00 01 */ li r4, 1 -/* 8015CFC4 4B F3 AF 1D */ bl checkItemGet__FUci -/* 8015CFC8 2C 03 00 00 */ cmpwi r3, 0 -/* 8015CFCC 41 82 00 08 */ beq lbl_8015CFD4 -/* 8015CFD0 3B A0 00 01 */ li r29, 1 -lbl_8015CFD4: -/* 8015CFD4 7F E3 FB 78 */ mr r3, r31 -/* 8015CFD8 4B FF F0 81 */ bl procInitSimpleGetDemo__8daItem_cFv -/* 8015CFDC 7F E3 FB 78 */ mr r3, r31 -/* 8015CFE0 48 00 00 C9 */ bl itemGet__8daItem_cFv -/* 8015CFE4 2C 1D 00 00 */ cmpwi r29, 0 -/* 8015CFE8 40 82 00 54 */ bne lbl_8015D03C -/* 8015CFEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015CFF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015CFF4 38 63 00 CC */ addi r3, r3, 0xcc -/* 8015CFF8 88 9F 09 2A */ lbz r4, 0x92a(r31) -/* 8015CFFC 4B ED 6E 99 */ bl offFirstBit__21dSv_player_get_item_cFUc -/* 8015D000 48 00 00 3C */ b lbl_8015D03C -lbl_8015D004: -/* 8015D004 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D008 38 80 00 01 */ li r4, 1 -/* 8015D00C 4B F3 AE D5 */ bl checkItemGet__FUci -/* 8015D010 2C 03 00 00 */ cmpwi r3, 0 -/* 8015D014 40 82 00 10 */ bne lbl_8015D024 -/* 8015D018 7F E3 FB 78 */ mr r3, r31 -/* 8015D01C 4B FF F1 E5 */ bl procInitGetDemoEvent__8daItem_cFv -/* 8015D020 48 00 00 1C */ b lbl_8015D03C -lbl_8015D024: -/* 8015D024 7F E3 FB 78 */ mr r3, r31 -/* 8015D028 4B FF F0 31 */ bl procInitSimpleGetDemo__8daItem_cFv -/* 8015D02C 7F E3 FB 78 */ mr r3, r31 -/* 8015D030 48 00 00 79 */ bl itemGet__8daItem_cFv -/* 8015D034 48 00 00 08 */ b lbl_8015D03C -lbl_8015D038: -/* 8015D038 4B FF F1 C9 */ bl procInitGetDemoEvent__8daItem_cFv -lbl_8015D03C: -/* 8015D03C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015D040 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015D044 80 9F 09 20 */ lwz r4, 0x920(r31) -/* 8015D048 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8015D04C 7C 05 07 74 */ extsb r5, r0 -/* 8015D050 4B ED 84 91 */ bl onItem__10dSv_info_cFii -/* 8015D054 38 00 00 00 */ li r0, 0 -/* 8015D058 90 1F 08 08 */ stw r0, 0x808(r31) -/* 8015D05C 80 1F 08 0C */ lwz r0, 0x80c(r31) -/* 8015D060 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 8015D064 90 1F 08 0C */ stw r0, 0x80c(r31) -/* 8015D068 38 7F 07 E0 */ addi r3, r31, 0x7e0 -/* 8015D06C 81 9F 08 1C */ lwz r12, 0x81c(r31) -/* 8015D070 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8015D074 7D 89 03 A6 */ mtctr r12 -/* 8015D078 4E 80 04 21 */ bctrl -/* 8015D07C 38 7F 07 E0 */ addi r3, r31, 0x7e0 -/* 8015D080 81 9F 08 1C */ lwz r12, 0x81c(r31) -/* 8015D084 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 8015D088 7D 89 03 A6 */ mtctr r12 -/* 8015D08C 4E 80 04 21 */ bctrl -lbl_8015D090: -/* 8015D090 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015D094 48 20 51 95 */ bl _restgpr_29 -/* 8015D098 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015D09C 7C 08 03 A6 */ mtlr r0 -/* 8015D0A0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015D0A4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/mode_wait__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/mode_wait__8daItem_cFv.s deleted file mode 100644 index 9f0ebd98a0..0000000000 --- a/asm/a/obj/d_a_obj_item/mode_wait__8daItem_cFv.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_8015CCD0: -/* 8015CCD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015CCD4 7C 08 02 A6 */ mflr r0 -/* 8015CCD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015CCDC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015CCE0 7C 7F 1B 78 */ mr r31, r3 -/* 8015CCE4 80 03 09 24 */ lwz r0, 0x924(r3) -/* 8015CCE8 2C 00 00 05 */ cmpwi r0, 5 -/* 8015CCEC 40 80 00 20 */ bge lbl_8015CD0C -/* 8015CCF0 C0 3F 04 FC */ lfs f1, 0x4fc(r31) -/* 8015CCF4 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015CCF8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015CCFC 40 81 00 10 */ ble lbl_8015CD0C -/* 8015CD00 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015CD04 60 00 00 02 */ ori r0, r0, 2 -/* 8015CD08 90 1F 05 B8 */ stw r0, 0x5b8(r31) -lbl_8015CD0C: -/* 8015CD0C 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015CD10 2C 00 00 13 */ cmpwi r0, 0x13 -/* 8015CD14 40 80 00 24 */ bge lbl_8015CD38 -/* 8015CD18 2C 00 00 08 */ cmpwi r0, 8 -/* 8015CD1C 40 80 00 10 */ bge lbl_8015CD2C -/* 8015CD20 2C 00 00 00 */ cmpwi r0, 0 -/* 8015CD24 41 82 00 2C */ beq lbl_8015CD50 -/* 8015CD28 48 00 00 4C */ b lbl_8015CD74 -lbl_8015CD2C: -/* 8015CD2C 2C 00 00 0E */ cmpwi r0, 0xe -/* 8015CD30 40 80 00 2C */ bge lbl_8015CD5C -/* 8015CD34 48 00 00 40 */ b lbl_8015CD74 -lbl_8015CD38: -/* 8015CD38 2C 00 00 53 */ cmpwi r0, 0x53 -/* 8015CD3C 41 82 00 20 */ beq lbl_8015CD5C -/* 8015CD40 40 80 00 34 */ bge lbl_8015CD74 -/* 8015CD44 2C 00 00 40 */ cmpwi r0, 0x40 -/* 8015CD48 41 82 00 20 */ beq lbl_8015CD68 -/* 8015CD4C 48 00 00 28 */ b lbl_8015CD74 -lbl_8015CD50: -/* 8015CD50 7F E3 FB 78 */ mr r3, r31 -/* 8015CD54 48 00 08 19 */ bl itemActionForHeart__8daItem_cFv -/* 8015CD58 48 00 00 24 */ b lbl_8015CD7C -lbl_8015CD5C: -/* 8015CD5C 7F E3 FB 78 */ mr r3, r31 -/* 8015CD60 48 00 09 29 */ bl itemActionForArrow__8daItem_cFv -/* 8015CD64 48 00 00 18 */ b lbl_8015CD7C -lbl_8015CD68: -/* 8015CD68 7F E3 FB 78 */ mr r3, r31 -/* 8015CD6C 48 00 09 95 */ bl itemActionForBoomerang__8daItem_cFv -/* 8015CD70 48 00 00 0C */ b lbl_8015CD7C -lbl_8015CD74: -/* 8015CD74 7F E3 FB 78 */ mr r3, r31 -/* 8015CD78 48 00 07 35 */ bl itemActionForRupee__8daItem_cFv -lbl_8015CD7C: -/* 8015CD7C 88 1F 09 C0 */ lbz r0, 0x9c0(r31) -/* 8015CD80 28 00 00 00 */ cmplwi r0, 0 -/* 8015CD84 40 82 00 28 */ bne lbl_8015CDAC -/* 8015CD88 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015CD8C 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 -/* 8015CD90 41 82 00 1C */ beq lbl_8015CDAC -/* 8015CD94 C0 3F 07 58 */ lfs f1, 0x758(r31) -/* 8015CD98 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015CD9C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015CDA0 40 81 00 0C */ ble lbl_8015CDAC -/* 8015CDA4 7F E3 FB 78 */ mr r3, r31 -/* 8015CDA8 4B FF FE E1 */ bl mode_water_init__8daItem_cFv -lbl_8015CDAC: -/* 8015CDAC 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015CDB0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015CDB4 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015CDB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015CDBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015CDC0 7C 08 03 A6 */ mtlr r0 -/* 8015CDC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015CDC8 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/mode_wait_init__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/mode_wait_init__8daItem_cFv.s deleted file mode 100644 index 1707088fca..0000000000 --- a/asm/a/obj/d_a_obj_item/mode_wait_init__8daItem_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8015CC4C: -/* 8015CC4C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015CC50 7C 08 02 A6 */ mflr r0 -/* 8015CC54 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015CC58 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015CC5C 7C 7F 1B 78 */ mr r31, r3 -/* 8015CC60 38 00 00 00 */ li r0, 0 -/* 8015CC64 98 03 09 49 */ stb r0, 0x949(r3) -/* 8015CC68 4B FF E4 51 */ bl getData__12daItemBase_cFv -/* 8015CC6C C0 03 00 00 */ lfs f0, 0(r3) -/* 8015CC70 D0 1F 05 30 */ stfs f0, 0x530(r31) -/* 8015CC74 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015CC78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015CC7C 7C 08 03 A6 */ mtlr r0 -/* 8015CC80 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015CC84 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/mode_water_init__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/mode_water_init__8daItem_cFv.s deleted file mode 100644 index 65a6329a40..0000000000 --- a/asm/a/obj/d_a_obj_item/mode_water_init__8daItem_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8015CC88: -/* 8015CC88 38 00 00 01 */ li r0, 1 -/* 8015CC8C 98 03 09 49 */ stb r0, 0x949(r3) -/* 8015CC90 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015CC94 D0 03 04 F8 */ stfs f0, 0x4f8(r3) -/* 8015CC98 D0 03 04 FC */ stfs f0, 0x4fc(r3) -/* 8015CC9C D0 03 05 00 */ stfs f0, 0x500(r3) -/* 8015CCA0 D0 03 05 2C */ stfs f0, 0x52c(r3) -/* 8015CCA4 38 00 00 00 */ li r0, 0 -/* 8015CCA8 B0 03 04 E8 */ sth r0, 0x4e8(r3) -/* 8015CCAC B0 03 04 E4 */ sth r0, 0x4e4(r3) -/* 8015CCB0 B0 03 09 40 */ sth r0, 0x940(r3) -/* 8015CCB4 C0 03 09 30 */ lfs f0, 0x930(r3) -/* 8015CCB8 D0 03 04 EC */ stfs f0, 0x4ec(r3) -/* 8015CCBC C0 03 09 34 */ lfs f0, 0x934(r3) -/* 8015CCC0 D0 03 04 F0 */ stfs f0, 0x4f0(r3) -/* 8015CCC4 C0 03 09 38 */ lfs f0, 0x938(r3) -/* 8015CCC8 D0 03 04 F4 */ stfs f0, 0x4f4(r3) -/* 8015CCCC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procInitBoomHitWait__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procInitBoomHitWait__8daItem_cFv.s deleted file mode 100644 index 3457807992..0000000000 --- a/asm/a/obj/d_a_obj_item/procInitBoomHitWait__8daItem_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8015C708: -/* 8015C708 38 00 00 00 */ li r0, 0 -/* 8015C70C 90 03 08 D0 */ stw r0, 0x8d0(r3) -/* 8015C710 90 03 08 84 */ stw r0, 0x884(r3) -/* 8015C714 80 03 08 0C */ lwz r0, 0x80c(r3) -/* 8015C718 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 8015C71C 90 03 08 0C */ stw r0, 0x80c(r3) -/* 8015C720 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010020@ha */ -/* 8015C724 38 04 00 20 */ addi r0, r4, 0x0020 /* 0x00010020@l */ -/* 8015C728 90 03 08 08 */ stw r0, 0x808(r3) -/* 8015C72C 38 00 00 07 */ li r0, 7 -/* 8015C730 98 03 09 4A */ stb r0, 0x94a(r3) -/* 8015C734 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procInitForceGet__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procInitForceGet__8daItem_cFv.s deleted file mode 100644 index 5a77350f0e..0000000000 --- a/asm/a/obj/d_a_obj_item/procInitForceGet__8daItem_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8015BFEC: -/* 8015BFEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015BFF0 7C 08 02 A6 */ mflr r0 -/* 8015BFF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015BFF8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015BFFC 7C 7F 1B 78 */ mr r31, r3 -/* 8015C000 80 03 05 B8 */ lwz r0, 0x5b8(r3) -/* 8015C004 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015C008 90 03 05 B8 */ stw r0, 0x5b8(r3) -/* 8015C00C 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015C010 4B F1 B3 95 */ bl ClrMoveBGOnly__9dBgS_AcchFv -/* 8015C014 38 00 00 08 */ li r0, 8 -/* 8015C018 98 1F 09 4A */ stb r0, 0x94a(r31) -/* 8015C01C 7F E3 FB 78 */ mr r3, r31 -/* 8015C020 48 00 0E CD */ bl itemGetNextExecute__8daItem_cFv -/* 8015C024 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015C028 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015C02C 7C 08 03 A6 */ mtlr r0 -/* 8015C030 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015C034 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procInitGetDemoEvent__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procInitGetDemoEvent__8daItem_cFv.s deleted file mode 100644 index 9ef5a03d1d..0000000000 --- a/asm/a/obj/d_a_obj_item/procInitGetDemoEvent__8daItem_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8015C200: -/* 8015C200 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015C204 7C 08 02 A6 */ mflr r0 -/* 8015C208 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015C20C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015C210 7C 7F 1B 78 */ mr r31, r3 -/* 8015C214 4B ED B8 51 */ bl hide__12daItemBase_cFv -/* 8015C218 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015C21C 28 00 00 06 */ cmplwi r0, 6 -/* 8015C220 41 82 00 0C */ beq lbl_8015C22C -/* 8015C224 28 00 00 07 */ cmplwi r0, 7 -/* 8015C228 40 82 00 18 */ bne lbl_8015C240 -lbl_8015C22C: -/* 8015C22C 38 7F 09 98 */ addi r3, r31, 0x998 -/* 8015C230 81 9F 09 98 */ lwz r12, 0x998(r31) -/* 8015C234 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8015C238 7D 89 03 A6 */ mtctr r12 -/* 8015C23C 4E 80 04 21 */ bctrl -lbl_8015C240: -/* 8015C240 38 00 00 0A */ li r0, 0xa -/* 8015C244 98 1F 09 C1 */ stb r0, 0x9c1(r31) -/* 8015C248 7F E3 FB 78 */ mr r3, r31 -/* 8015C24C 38 80 00 00 */ li r4, 0 -/* 8015C250 38 A0 00 00 */ li r5, 0 -/* 8015C254 4B EB F7 7D */ bl fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs -/* 8015C258 A0 1F 00 FA */ lhz r0, 0xfa(r31) -/* 8015C25C 60 00 00 08 */ ori r0, r0, 8 -/* 8015C260 B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 8015C264 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8015C268 88 9F 09 2A */ lbz r4, 0x92a(r31) -/* 8015C26C 38 A0 FF FF */ li r5, -1 -/* 8015C270 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 8015C274 7C 06 07 74 */ extsb r6, r0 -/* 8015C278 38 E0 00 00 */ li r7, 0 -/* 8015C27C 39 00 00 00 */ li r8, 0 -/* 8015C280 4B EB F9 F5 */ bl fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz -/* 8015C284 90 7F 09 4C */ stw r3, 0x94c(r31) -/* 8015C288 38 00 00 03 */ li r0, 3 -/* 8015C28C 98 1F 09 4A */ stb r0, 0x94a(r31) -/* 8015C290 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015C294 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015C298 7C 08 03 A6 */ mtlr r0 -/* 8015C29C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015C2A0 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procInitNormal__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procInitNormal__8daItem_cFv.s deleted file mode 100644 index 46278aad13..0000000000 --- a/asm/a/obj/d_a_obj_item/procInitNormal__8daItem_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8015BE60: -/* 8015BE60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015BE64 7C 08 02 A6 */ mflr r0 -/* 8015BE68 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015BE6C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015BE70 7C 7F 1B 78 */ mr r31, r3 -/* 8015BE74 80 03 05 B8 */ lwz r0, 0x5b8(r3) -/* 8015BE78 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015BE7C 90 03 05 B8 */ stw r0, 0x5b8(r3) -/* 8015BE80 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015BE84 4B F1 B5 21 */ bl ClrMoveBGOnly__9dBgS_AcchFv -/* 8015BE88 38 00 00 00 */ li r0, 0 -/* 8015BE8C 98 1F 09 4A */ stb r0, 0x94a(r31) -/* 8015BE90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015BE94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015BE98 7C 08 03 A6 */ mtlr r0 -/* 8015BE9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015BEA0 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procInitSwOnWait__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procInitSwOnWait__8daItem_cFv.s deleted file mode 100644 index 5d5e8a9ac0..0000000000 --- a/asm/a/obj/d_a_obj_item/procInitSwOnWait__8daItem_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8015C5F4: -/* 8015C5F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015C5F8 7C 08 02 A6 */ mflr r0 -/* 8015C5FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015C600 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015C604 7C 7F 1B 78 */ mr r31, r3 -/* 8015C608 4B ED B4 5D */ bl hide__12daItemBase_cFv -/* 8015C60C A0 1F 09 2E */ lhz r0, 0x92e(r31) -/* 8015C610 54 00 06 BE */ clrlwi r0, r0, 0x1a -/* 8015C614 28 00 00 3F */ cmplwi r0, 0x3f -/* 8015C618 40 82 00 10 */ bne lbl_8015C628 -/* 8015C61C 38 00 00 0F */ li r0, 0xf -/* 8015C620 98 1F 09 5C */ stb r0, 0x95c(r31) -/* 8015C624 48 00 00 08 */ b lbl_8015C62C -lbl_8015C628: -/* 8015C628 98 1F 09 5C */ stb r0, 0x95c(r31) -lbl_8015C62C: -/* 8015C62C 38 00 00 06 */ li r0, 6 -/* 8015C630 98 1F 09 4A */ stb r0, 0x94a(r31) -/* 8015C634 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015C638 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015C63C 7C 08 03 A6 */ mtlr r0 -/* 8015C640 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015C644 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procMainForceGet__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procMainForceGet__8daItem_cFv.s deleted file mode 100644 index d3d7e7efc4..0000000000 --- a/asm/a/obj/d_a_obj_item/procMainForceGet__8daItem_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8015C038: -/* 8015C038 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015C03C 7C 08 02 A6 */ mflr r0 -/* 8015C040 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015C044 48 00 00 15 */ bl procInitSimpleGetDemo__8daItem_cFv -/* 8015C048 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015C04C 7C 08 03 A6 */ mtlr r0 -/* 8015C050 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015C054 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procMainGetDemoEvent__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procMainGetDemoEvent__8daItem_cFv.s deleted file mode 100644 index f1bc47d0cf..0000000000 --- a/asm/a/obj/d_a_obj_item/procMainGetDemoEvent__8daItem_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8015C3BC: -/* 8015C3BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015C3C0 7C 08 02 A6 */ mflr r0 -/* 8015C3C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015C3C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015C3CC 93 C1 00 08 */ stw r30, 8(r1) -/* 8015C3D0 7C 7E 1B 78 */ mr r30, r3 -/* 8015C3D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C3D8 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C3DC 38 7F 4F F8 */ addi r3, r31, 0x4ff8 -/* 8015C3E0 3C 80 80 39 */ lis r4, a_obj_d_a_obj_item__stringBase0@ha /* 0x80393D88@ha */ -/* 8015C3E4 38 84 3D 88 */ addi r4, r4, a_obj_d_a_obj_item__stringBase0@l /* 0x80393D88@l */ -/* 8015C3E8 4B EE B6 F5 */ bl endCheckOld__16dEvent_manager_cFPCc -/* 8015C3EC 2C 03 00 00 */ cmpwi r3, 0 -/* 8015C3F0 41 82 00 14 */ beq lbl_8015C404 -/* 8015C3F4 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 8015C3F8 4B EE 60 71 */ bl reset__14dEvt_control_cFv -/* 8015C3FC 7F C3 F3 78 */ mr r3, r30 -/* 8015C400 4B EB D8 7D */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8015C404: -/* 8015C404 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015C408 83 C1 00 08 */ lwz r30, 8(r1) -/* 8015C40C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015C410 7C 08 03 A6 */ mtlr r0 -/* 8015C414 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015C418 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procMainNormal__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procMainNormal__8daItem_cFv.s deleted file mode 100644 index 7f9a7f923e..0000000000 --- a/asm/a/obj/d_a_obj_item/procMainNormal__8daItem_cFv.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_8015BEA4: -/* 8015BEA4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8015BEA8 7C 08 02 A6 */ mflr r0 -/* 8015BEAC 90 01 00 44 */ stw r0, 0x44(r1) -/* 8015BEB0 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8015BEB4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8015BEB8 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 8015BEBC F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 8015BEC0 DB A1 00 10 */ stfd f29, 0x10(r1) -/* 8015BEC4 F3 A1 00 18 */ psq_st f29, 24(r1), 0, 0 /* qr0 */ -/* 8015BEC8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015BECC 7C 7F 1B 78 */ mr r31, r3 -/* 8015BED0 48 00 0B E9 */ bl move_proc_call__8daItem_cFv -/* 8015BED4 38 7F 04 EC */ addi r3, r31, 0x4ec -/* 8015BED8 38 9F 09 30 */ addi r4, r31, 0x930 -/* 8015BEDC 48 10 B1 91 */ bl __ne__4cXyzCFRC3Vec -/* 8015BEE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015BEE4 41 82 00 70 */ beq lbl_8015BF54 -/* 8015BEE8 7F E3 FB 78 */ mr r3, r31 -/* 8015BEEC 4B FF F1 CD */ bl getData__12daItemBase_cFv -/* 8015BEF0 C0 23 00 0C */ lfs f1, 0xc(r3) -/* 8015BEF4 C0 1F 09 30 */ lfs f0, 0x930(r31) -/* 8015BEF8 EF E0 08 24 */ fdivs f31, f0, f1 -/* 8015BEFC 7F E3 FB 78 */ mr r3, r31 -/* 8015BF00 4B FF F1 B9 */ bl getData__12daItemBase_cFv -/* 8015BF04 C0 23 00 0C */ lfs f1, 0xc(r3) -/* 8015BF08 C0 1F 09 34 */ lfs f0, 0x934(r31) -/* 8015BF0C EF C0 08 24 */ fdivs f30, f0, f1 -/* 8015BF10 7F E3 FB 78 */ mr r3, r31 -/* 8015BF14 4B FF F1 A5 */ bl getData__12daItemBase_cFv -/* 8015BF18 C0 23 00 0C */ lfs f1, 0xc(r3) -/* 8015BF1C C0 1F 09 38 */ lfs f0, 0x938(r31) -/* 8015BF20 EF A0 08 24 */ fdivs f29, f0, f1 -/* 8015BF24 38 7F 04 EC */ addi r3, r31, 0x4ec -/* 8015BF28 C0 3F 09 30 */ lfs f1, 0x930(r31) -/* 8015BF2C FC 40 F8 90 */ fmr f2, f31 -/* 8015BF30 48 11 48 11 */ bl cLib_chaseF__FPfff -/* 8015BF34 38 7F 04 F0 */ addi r3, r31, 0x4f0 -/* 8015BF38 C0 3F 09 34 */ lfs f1, 0x934(r31) -/* 8015BF3C FC 40 F0 90 */ fmr f2, f30 -/* 8015BF40 48 11 48 01 */ bl cLib_chaseF__FPfff -/* 8015BF44 38 7F 04 F4 */ addi r3, r31, 0x4f4 -/* 8015BF48 C0 3F 09 38 */ lfs f1, 0x938(r31) -/* 8015BF4C FC 40 E8 90 */ fmr f2, f29 -/* 8015BF50 48 11 47 F1 */ bl cLib_chaseF__FPfff -lbl_8015BF54: -/* 8015BF54 A8 1F 09 42 */ lha r0, 0x942(r31) -/* 8015BF58 2C 00 00 00 */ cmpwi r0, 0 -/* 8015BF5C 40 82 00 40 */ bne lbl_8015BF9C -/* 8015BF60 A8 1F 09 44 */ lha r0, 0x944(r31) -/* 8015BF64 2C 00 00 00 */ cmpwi r0, 0 -/* 8015BF68 40 82 00 0C */ bne lbl_8015BF74 -/* 8015BF6C 7F E3 FB 78 */ mr r3, r31 -/* 8015BF70 48 00 15 11 */ bl deleteItem__8daItem_cFv -lbl_8015BF74: -/* 8015BF74 7F E3 FB 78 */ mr r3, r31 -/* 8015BF78 4B FF F1 41 */ bl getData__12daItemBase_cFv -/* 8015BF7C A8 83 00 14 */ lha r4, 0x14(r3) -/* 8015BF80 80 7F 09 24 */ lwz r3, 0x924(r31) -/* 8015BF84 7C 03 23 D6 */ divw r0, r3, r4 -/* 8015BF88 7C 00 21 D6 */ mullw r0, r0, r4 -/* 8015BF8C 7C 00 18 51 */ subf. r0, r0, r3 -/* 8015BF90 40 82 00 0C */ bne lbl_8015BF9C -/* 8015BF94 7F E3 FB 78 */ mr r3, r31 -/* 8015BF98 4B ED BA ED */ bl changeDraw__12daItemBase_cFv -lbl_8015BF9C: -/* 8015BF9C 38 7F 09 04 */ addi r3, r31, 0x904 -/* 8015BFA0 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8015BFA4 48 11 32 39 */ bl SetC__8cM3dGCylFRC4cXyz -/* 8015BFA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015BFAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015BFB0 38 63 23 3C */ addi r3, r3, 0x233c -/* 8015BFB4 38 9F 07 E0 */ addi r4, r31, 0x7e0 -/* 8015BFB8 48 10 8B F1 */ bl Set__4cCcSFP8cCcD_Obj -/* 8015BFBC E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8015BFC0 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8015BFC4 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 8015BFC8 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 8015BFCC E3 A1 00 18 */ psq_l f29, 24(r1), 0, 0 /* qr0 */ -/* 8015BFD0 CB A1 00 10 */ lfd f29, 0x10(r1) -/* 8015BFD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015BFD8 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8015BFDC 7C 08 03 A6 */ mtlr r0 -/* 8015BFE0 38 21 00 40 */ addi r1, r1, 0x40 -/* 8015BFE4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procMainSwOnWait__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procMainSwOnWait__8daItem_cFv.s deleted file mode 100644 index 8e3d6c7270..0000000000 --- a/asm/a/obj/d_a_obj_item/procMainSwOnWait__8daItem_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_8015C648: -/* 8015C648 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015C64C 7C 08 02 A6 */ mflr r0 -/* 8015C650 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015C654 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015C658 7C 7F 1B 78 */ mr r31, r3 -/* 8015C65C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C660 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C664 80 9F 09 3C */ lwz r4, 0x93c(r31) -/* 8015C668 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8015C66C 7C 05 07 74 */ extsb r5, r0 -/* 8015C670 4B ED 8C F1 */ bl isSwitch__10dSv_info_cCFii -/* 8015C674 2C 03 00 00 */ cmpwi r3, 0 -/* 8015C678 41 82 00 7C */ beq lbl_8015C6F4 -/* 8015C67C 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015C680 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C684 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C688 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015C68C 4B F1 A4 21 */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015C690 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015C694 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 -/* 8015C698 41 82 00 24 */ beq lbl_8015C6BC -/* 8015C69C C0 5F 07 58 */ lfs f2, 0x758(r31) -/* 8015C6A0 C0 22 9B 80 */ lfs f1, lit_4070(r2) -/* 8015C6A4 C0 1F 04 AC */ lfs f0, 0x4ac(r31) -/* 8015C6A8 EC 01 00 2A */ fadds f0, f1, f0 -/* 8015C6AC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8015C6B0 40 81 00 0C */ ble lbl_8015C6BC -/* 8015C6B4 38 00 00 01 */ li r0, 1 -/* 8015C6B8 98 1F 09 C0 */ stb r0, 0x9c0(r31) -lbl_8015C6BC: -/* 8015C6BC 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 8015C6C0 54 00 27 3E */ srwi r0, r0, 0x1c -/* 8015C6C4 28 00 00 01 */ cmplwi r0, 1 -/* 8015C6C8 40 82 00 0C */ bne lbl_8015C6D4 -/* 8015C6CC 38 00 00 01 */ li r0, 1 -/* 8015C6D0 98 1F 09 C0 */ stb r0, 0x9c0(r31) -lbl_8015C6D4: -/* 8015C6D4 38 7F 09 5C */ addi r3, r31, 0x95c -/* 8015C6D8 4B FE 54 11 */ bl func_80141AE8 -/* 8015C6DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015C6E0 40 82 00 14 */ bne lbl_8015C6F4 -/* 8015C6E4 7F E3 FB 78 */ mr r3, r31 -/* 8015C6E8 4B ED B3 8D */ bl show__12daItemBase_cFv -/* 8015C6EC 7F E3 FB 78 */ mr r3, r31 -/* 8015C6F0 4B FF F7 71 */ bl procInitNormal__8daItem_cFv -lbl_8015C6F4: -/* 8015C6F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015C6F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015C6FC 7C 08 03 A6 */ mtlr r0 -/* 8015C700 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015C704 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procWaitGetDemoEvent__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procWaitGetDemoEvent__8daItem_cFv.s deleted file mode 100644 index a698dce65f..0000000000 --- a/asm/a/obj/d_a_obj_item/procWaitGetDemoEvent__8daItem_cFv.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_8015C2A4: -/* 8015C2A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015C2A8 7C 08 02 A6 */ mflr r0 -/* 8015C2AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015C2B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015C2B4 93 C1 00 08 */ stw r30, 8(r1) -/* 8015C2B8 7C 7E 1B 78 */ mr r30, r3 -/* 8015C2BC A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 8015C2C0 28 00 00 04 */ cmplwi r0, 4 -/* 8015C2C4 40 82 00 30 */ bne lbl_8015C2F4 -/* 8015C2C8 38 00 00 04 */ li r0, 4 -/* 8015C2CC 98 1E 09 4A */ stb r0, 0x94a(r30) -/* 8015C2D0 80 9E 09 4C */ lwz r4, 0x94c(r30) -/* 8015C2D4 3C 04 00 01 */ addis r0, r4, 1 -/* 8015C2D8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8015C2DC 41 82 00 C8 */ beq lbl_8015C3A4 -/* 8015C2E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C2E4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C2E8 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8015C2EC 4B EE 74 01 */ bl setPtI_Id__14dEvt_control_cFUi -/* 8015C2F0 48 00 00 B4 */ b lbl_8015C3A4 -lbl_8015C2F4: -/* 8015C2F4 88 1E 09 2A */ lbz r0, 0x92a(r30) -/* 8015C2F8 28 00 00 40 */ cmplwi r0, 0x40 -/* 8015C2FC 40 82 00 20 */ bne lbl_8015C31C -/* 8015C300 38 80 00 00 */ li r4, 0 -/* 8015C304 38 A0 00 00 */ li r5, 0 -/* 8015C308 4B EB F6 C9 */ bl fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs -/* 8015C30C A0 1E 00 FA */ lhz r0, 0xfa(r30) -/* 8015C310 60 00 00 08 */ ori r0, r0, 8 -/* 8015C314 B0 1E 00 FA */ sth r0, 0xfa(r30) -/* 8015C318 48 00 00 8C */ b lbl_8015C3A4 -lbl_8015C31C: -/* 8015C31C 38 7E 09 C1 */ addi r3, r30, 0x9c1 -/* 8015C320 4B FE 57 C9 */ bl func_80141AE8 -/* 8015C324 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015C328 41 82 00 18 */ beq lbl_8015C340 -/* 8015C32C 88 7E 09 2A */ lbz r3, 0x92a(r30) -/* 8015C330 38 80 00 01 */ li r4, 1 -/* 8015C334 4B F3 BB AD */ bl checkItemGet__FUci -/* 8015C338 2C 03 00 00 */ cmpwi r3, 0 -/* 8015C33C 41 82 00 4C */ beq lbl_8015C388 -lbl_8015C340: -/* 8015C340 80 7E 09 4C */ lwz r3, 0x94c(r30) -/* 8015C344 4B EB D9 75 */ bl fopAcM_delete__FUi -/* 8015C348 88 7E 09 2A */ lbz r3, 0x92a(r30) -/* 8015C34C 38 80 00 01 */ li r4, 1 -/* 8015C350 4B F3 BB 91 */ bl checkItemGet__FUci -/* 8015C354 7C 7F 1B 78 */ mr r31, r3 -/* 8015C358 7F C3 F3 78 */ mr r3, r30 -/* 8015C35C 4B FF FC FD */ bl procInitSimpleGetDemo__8daItem_cFv -/* 8015C360 7F C3 F3 78 */ mr r3, r30 -/* 8015C364 48 00 0D 45 */ bl itemGet__8daItem_cFv -/* 8015C368 2C 1F 00 00 */ cmpwi r31, 0 -/* 8015C36C 40 82 00 38 */ bne lbl_8015C3A4 -/* 8015C370 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C374 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C378 38 63 00 CC */ addi r3, r3, 0xcc -/* 8015C37C 88 9E 09 2A */ lbz r4, 0x92a(r30) -/* 8015C380 4B ED 7B 15 */ bl offFirstBit__21dSv_player_get_item_cFUc -/* 8015C384 48 00 00 20 */ b lbl_8015C3A4 -lbl_8015C388: -/* 8015C388 7F C3 F3 78 */ mr r3, r30 -/* 8015C38C 38 80 00 00 */ li r4, 0 -/* 8015C390 38 A0 00 00 */ li r5, 0 -/* 8015C394 4B EB F6 3D */ bl fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs -/* 8015C398 A0 1E 00 FA */ lhz r0, 0xfa(r30) -/* 8015C39C 60 00 00 08 */ ori r0, r0, 8 -/* 8015C3A0 B0 1E 00 FA */ sth r0, 0xfa(r30) -lbl_8015C3A4: -/* 8015C3A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015C3A8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8015C3AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015C3B0 7C 08 03 A6 */ mtlr r0 -/* 8015C3B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015C3B8 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/setBaseMtx_0__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/setBaseMtx_0__8daItem_cFv.s deleted file mode 100644 index 3c96b9aed3..0000000000 --- a/asm/a/obj/d_a_obj_item/setBaseMtx_0__8daItem_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8015B190: -/* 8015B190 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015B194 7C 08 02 A6 */ mflr r0 -/* 8015B198 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015B19C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015B1A0 7C 7F 1B 78 */ mr r31, r3 -/* 8015B1A4 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8015B1A8 4B EB 1B BD */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 8015B1AC 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 8015B1B0 4B EB 1D 95 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 8015B1B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015B1B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015B1BC 7C 08 03 A6 */ mtlr r0 -/* 8015B1C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015B1C4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/setBaseMtx__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/setBaseMtx__8daItem_cFv.s deleted file mode 100644 index a2a6cd18d9..0000000000 --- a/asm/a/obj/d_a_obj_item/setBaseMtx__8daItem_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8015B108: -/* 8015B108 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015B10C 7C 08 02 A6 */ mflr r0 -/* 8015B110 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015B114 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015B118 7C 7F 1B 78 */ mr r31, r3 -/* 8015B11C 80 83 05 74 */ lwz r4, 0x574(r3) -/* 8015B120 28 04 00 00 */ cmplwi r4, 0 -/* 8015B124 41 82 00 58 */ beq lbl_8015B17C -/* 8015B128 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8015B12C D0 04 00 18 */ stfs f0, 0x18(r4) -/* 8015B130 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8015B134 D0 04 00 1C */ stfs f0, 0x1c(r4) -/* 8015B138 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8015B13C D0 04 00 20 */ stfs f0, 0x20(r4) -/* 8015B140 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015B144 2C 00 00 08 */ cmpwi r0, 8 -/* 8015B148 40 80 00 18 */ bge lbl_8015B160 -/* 8015B14C 2C 00 00 01 */ cmpwi r0, 1 -/* 8015B150 40 80 00 08 */ bge lbl_8015B158 -/* 8015B154 48 00 00 0C */ b lbl_8015B160 -lbl_8015B158: -/* 8015B158 48 00 00 71 */ bl setBaseMtx_1__8daItem_cFv -/* 8015B15C 48 00 00 0C */ b lbl_8015B168 -lbl_8015B160: -/* 8015B160 7F E3 FB 78 */ mr r3, r31 -/* 8015B164 48 00 00 2D */ bl setBaseMtx_0__8daItem_cFv -lbl_8015B168: -/* 8015B168 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015B16C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015B170 80 9F 05 74 */ lwz r4, 0x574(r31) -/* 8015B174 38 84 00 24 */ addi r4, r4, 0x24 -/* 8015B178 48 1E B3 39 */ bl PSMTXCopy -lbl_8015B17C: -/* 8015B17C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015B180 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015B184 7C 08 03 A6 */ mtlr r0 -/* 8015B188 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015B18C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/setCullInfo__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/setCullInfo__8daItem_cFv.s deleted file mode 100644 index 639b194ca5..0000000000 --- a/asm/a/obj/d_a_obj_item/setCullInfo__8daItem_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8015B7BC: -/* 8015B7BC 80 83 05 74 */ lwz r4, 0x574(r3) -/* 8015B7C0 28 04 00 00 */ cmplwi r4, 0 -/* 8015B7C4 4D 82 00 20 */ beqlr -/* 8015B7C8 38 04 00 24 */ addi r0, r4, 0x24 -/* 8015B7CC 90 03 05 04 */ stw r0, 0x504(r3) -/* 8015B7D0 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/setTevStr__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/setTevStr__8daItem_cFv.s deleted file mode 100644 index 00ababe110..0000000000 --- a/asm/a/obj/d_a_obj_item/setTevStr__8daItem_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8015CE94: -/* 8015CE94 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015CE98 7C 08 02 A6 */ mflr r0 -/* 8015CE9C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015CEA0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015CEA4 7C 7F 1B 78 */ mr r31, r3 -/* 8015CEA8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8015CEAC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8015CEB0 38 80 00 00 */ li r4, 0 -/* 8015CEB4 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 8015CEB8 38 DF 01 0C */ addi r6, r31, 0x10c -/* 8015CEBC 48 04 69 09 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 8015CEC0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8015CEC4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8015CEC8 80 9F 05 74 */ lwz r4, 0x574(r31) -/* 8015CECC 80 84 00 04 */ lwz r4, 4(r4) -/* 8015CED0 38 BF 01 0C */ addi r5, r31, 0x10c -/* 8015CED4 48 04 7E CD */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 8015CED8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015CEDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015CEE0 7C 08 03 A6 */ mtlr r0 -/* 8015CEE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015CEE8 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_ss_base/__ct__14daObj_SSBase_cFv.s b/asm/a/obj/d_a_obj_ss_base/__ct__14daObj_SSBase_cFv.s deleted file mode 100644 index 4efb0f528a..0000000000 --- a/asm/a/obj/d_a_obj_ss_base/__ct__14daObj_SSBase_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8015E3F8: -/* 8015E3F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015E3FC 7C 08 02 A6 */ mflr r0 -/* 8015E400 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015E404 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015E408 7C 7F 1B 78 */ mr r31, r3 -/* 8015E40C 4B EB A7 59 */ bl __ct__10fopAc_ac_cFv -/* 8015E410 3C 60 80 3C */ lis r3, __vt__14daObj_SSBase_c@ha /* 0x803BA088@ha */ -/* 8015E414 38 03 A0 88 */ addi r0, r3, __vt__14daObj_SSBase_c@l /* 0x803BA088@l */ -/* 8015E418 90 1F 05 68 */ stw r0, 0x568(r31) -/* 8015E41C 38 80 00 00 */ li r4, 0 -/* 8015E420 90 9F 05 6C */ stw r4, 0x56c(r31) -/* 8015E424 B0 9F 05 70 */ sth r4, 0x570(r31) -/* 8015E428 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8015E42C 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8015E430 B0 1F 05 72 */ sth r0, 0x572(r31) -/* 8015E434 B0 9F 05 74 */ sth r4, 0x574(r31) -/* 8015E438 7F E3 FB 78 */ mr r3, r31 -/* 8015E43C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015E440 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015E444 7C 08 03 A6 */ mtlr r0 -/* 8015E448 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015E44C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_ss_base/__dt__14daObj_SSBase_cFv.s b/asm/a/obj/d_a_obj_ss_base/__dt__14daObj_SSBase_cFv.s deleted file mode 100644 index 8cfaa45ab6..0000000000 --- a/asm/a/obj/d_a_obj_ss_base/__dt__14daObj_SSBase_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8015E450: -/* 8015E450 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015E454 7C 08 02 A6 */ mflr r0 -/* 8015E458 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015E45C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015E460 93 C1 00 08 */ stw r30, 8(r1) -/* 8015E464 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8015E468 7C 9F 23 78 */ mr r31, r4 -/* 8015E46C 41 82 00 28 */ beq lbl_8015E494 -/* 8015E470 3C 80 80 3C */ lis r4, __vt__14daObj_SSBase_c@ha /* 0x803BA088@ha */ -/* 8015E474 38 04 A0 88 */ addi r0, r4, __vt__14daObj_SSBase_c@l /* 0x803BA088@l */ -/* 8015E478 90 1E 05 68 */ stw r0, 0x568(r30) -/* 8015E47C 38 80 00 00 */ li r4, 0 -/* 8015E480 4B EB A8 0D */ bl __dt__10fopAc_ac_cFv -/* 8015E484 7F E0 07 35 */ extsh. r0, r31 -/* 8015E488 40 81 00 0C */ ble lbl_8015E494 -/* 8015E48C 7F C3 F3 78 */ mr r3, r30 -/* 8015E490 48 17 08 AD */ bl __dl__FPv -lbl_8015E494: -/* 8015E494 7F C3 F3 78 */ mr r3, r30 -/* 8015E498 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015E49C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8015E4A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015E4A4 7C 08 03 A6 */ mtlr r0 -/* 8015E4A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015E4AC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_ss_base/getProcessID__14daObj_SSBase_cFv.s b/asm/a/obj/d_a_obj_ss_base/getProcessID__14daObj_SSBase_cFv.s deleted file mode 100644 index cf4eede0e4..0000000000 --- a/asm/a/obj/d_a_obj_ss_base/getProcessID__14daObj_SSBase_cFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8015E4B0: -/* 8015E4B0 28 03 00 00 */ cmplwi r3, 0 -/* 8015E4B4 41 82 00 0C */ beq lbl_8015E4C0 -/* 8015E4B8 80 63 00 04 */ lwz r3, 4(r3) -/* 8015E4BC 4E 80 00 20 */ blr -lbl_8015E4C0: -/* 8015E4C0 38 60 FF FF */ li r3, -1 -/* 8015E4C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBossRoom__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkBossRoom__9daAlink_cFv.s deleted file mode 100644 index 2a70dfa160..0000000000 --- a/asm/d/a/d_a_alink/checkBossRoom__9daAlink_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800C02C8: -/* 800C02C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C02CC 7C 08 02 A6 */ mflr r0 -/* 800C02D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C02D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C02D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C02DC 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800C02E0 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800C02E4 7D 89 03 A6 */ mtctr r12 -/* 800C02E8 4E 80 04 21 */ bctrl -/* 800C02EC 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800C02F0 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 800C02F4 20 00 00 03 */ subfic r0, r0, 3 -/* 800C02F8 7C 00 00 34 */ cntlzw r0, r0 -/* 800C02FC 54 03 D9 7E */ srwi r3, r0, 5 -/* 800C0300 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C0304 7C 08 03 A6 */ mtlr r0 -/* 800C0308 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C030C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCastleTown__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCastleTown__9daAlink_cFv.s deleted file mode 100644 index 8416afc62e..0000000000 --- a/asm/d/a/d_a_alink/checkCastleTown__9daAlink_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800C0358: -/* 800C0358 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C035C 7C 08 02 A6 */ mflr r0 -/* 800C0360 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C0364 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C0368 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C036C 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800C0370 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800C0374 7D 89 03 A6 */ mtctr r12 -/* 800C0378 4E 80 04 21 */ bctrl -/* 800C037C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800C0380 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 800C0384 20 00 00 04 */ subfic r0, r0, 4 -/* 800C0388 7C 00 00 34 */ cntlzw r0, r0 -/* 800C038C 54 03 D9 7E */ srwi r3, r0, 5 -/* 800C0390 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C0394 7C 08 03 A6 */ mtlr r0 -/* 800C0398 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C039C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCloudSea__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCloudSea__9daAlink_cFv.s deleted file mode 100644 index fdd8363299..0000000000 --- a/asm/d/a/d_a_alink/checkCloudSea__9daAlink_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800C03A0: -/* 800C03A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C03A4 7C 08 02 A6 */ mflr r0 -/* 800C03A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C03AC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C03B0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C03B4 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800C03B8 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800C03BC 7D 89 03 A6 */ mtctr r12 -/* 800C03C0 4E 80 04 21 */ bctrl -/* 800C03C4 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800C03C8 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 800C03CC 20 00 00 05 */ subfic r0, r0, 5 -/* 800C03D0 7C 00 00 34 */ cntlzw r0, r0 -/* 800C03D4 54 03 D9 7E */ srwi r3, r0, 5 -/* 800C03D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C03DC 7C 08 03 A6 */ mtlr r0 -/* 800C03E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C03E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkDungeon__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkDungeon__9daAlink_cFv.s deleted file mode 100644 index d447a9ba54..0000000000 --- a/asm/d/a/d_a_alink/checkDungeon__9daAlink_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800C0310: -/* 800C0310 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C0314 7C 08 02 A6 */ mflr r0 -/* 800C0318 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C031C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C0320 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C0324 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800C0328 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800C032C 7D 89 03 A6 */ mtctr r12 -/* 800C0330 4E 80 04 21 */ bctrl -/* 800C0334 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800C0338 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 800C033C 20 00 00 01 */ subfic r0, r0, 1 -/* 800C0340 7C 00 00 34 */ cntlzw r0, r0 -/* 800C0344 54 03 D9 7E */ srwi r3, r0, 5 -/* 800C0348 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C034C 7C 08 03 A6 */ mtlr r0 -/* 800C0350 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C0354 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkField__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkField__9daAlink_cFv.s deleted file mode 100644 index 6139abc435..0000000000 --- a/asm/d/a/d_a_alink/checkField__9daAlink_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800C0284: -/* 800C0284 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C0288 7C 08 02 A6 */ mflr r0 -/* 800C028C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C0290 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C0294 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C0298 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800C029C 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800C02A0 7D 89 03 A6 */ mtctr r12 -/* 800C02A4 4E 80 04 21 */ bctrl -/* 800C02A8 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800C02AC 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 800C02B0 7C 00 00 34 */ cntlzw r0, r0 -/* 800C02B4 54 03 D9 7E */ srwi r3, r0, 5 -/* 800C02B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C02BC 7C 08 03 A6 */ mtlr r0 -/* 800C02C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C02C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGroupItem__9daAlink_cCFii.s b/asm/d/a/d_a_alink/checkGroupItem__9daAlink_cCFii.s deleted file mode 100644 index 639a2cb417..0000000000 --- a/asm/d/a/d_a_alink/checkGroupItem__9daAlink_cCFii.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800C0114: -/* 800C0114 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C0118 7C 08 02 A6 */ mflr r0 -/* 800C011C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C0120 2C 04 01 07 */ cmpwi r4, 0x107 -/* 800C0124 40 82 00 10 */ bne lbl_800C0134 -/* 800C0128 7C A3 2B 78 */ mr r3, r5 -/* 800C012C 48 09 E9 AD */ bl checkDrinkBottleItem__9daPy_py_cFi -/* 800C0130 48 00 00 24 */ b lbl_800C0154 -lbl_800C0134: -/* 800C0134 2C 04 01 08 */ cmpwi r4, 0x108 -/* 800C0138 40 82 00 10 */ bne lbl_800C0148 -/* 800C013C 7C A3 2B 78 */ mr r3, r5 -/* 800C0140 48 09 E8 E1 */ bl checkFishingRodItem__9daPy_py_cFi -/* 800C0144 48 00 00 10 */ b lbl_800C0154 -lbl_800C0148: -/* 800C0148 7C 04 28 50 */ subf r0, r4, r5 -/* 800C014C 7C 00 00 34 */ cntlzw r0, r0 -/* 800C0150 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -lbl_800C0154: -/* 800C0154 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C0158 7C 08 03 A6 */ mtlr r0 -/* 800C015C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C0160 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkItemSetButton__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkItemSetButton__9daAlink_cFi.s deleted file mode 100644 index 3d008e43ba..0000000000 --- a/asm/d/a/d_a_alink/checkItemSetButton__9daAlink_cFi.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_800C0208: -/* 800C0208 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C020C 7C 08 02 A6 */ mflr r0 -/* 800C0210 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C0214 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C0218 48 2A 1F C1 */ bl _savegpr_28 -/* 800C021C 7C 7C 1B 78 */ mr r28, r3 -/* 800C0220 7C 9D 23 78 */ mr r29, r4 -/* 800C0224 3B C0 00 00 */ li r30, 0 -/* 800C0228 48 00 00 34 */ b lbl_800C025C -lbl_800C022C: -/* 800C022C 57 DF 06 3E */ clrlwi r31, r30, 0x18 -/* 800C0230 7F E3 FB 78 */ mr r3, r31 -/* 800C0234 4B F6 DC E9 */ bl dComIfGp_getSelectItem__Fi -/* 800C0238 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 800C023C 7F 83 E3 78 */ mr r3, r28 -/* 800C0240 7F A4 EB 78 */ mr r4, r29 -/* 800C0244 4B FF FE D1 */ bl checkGroupItem__9daAlink_cCFii -/* 800C0248 2C 03 00 00 */ cmpwi r3, 0 -/* 800C024C 41 82 00 0C */ beq lbl_800C0258 -/* 800C0250 7F E3 FB 78 */ mr r3, r31 -/* 800C0254 48 00 00 18 */ b lbl_800C026C -lbl_800C0258: -/* 800C0258 3B DE 00 01 */ addi r30, r30, 1 -lbl_800C025C: -/* 800C025C 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 800C0260 28 00 00 02 */ cmplwi r0, 2 -/* 800C0264 41 80 FF C8 */ blt lbl_800C022C -/* 800C0268 38 60 00 02 */ li r3, 2 -lbl_800C026C: -/* 800C026C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C0270 48 2A 1F B5 */ bl _restgpr_28 -/* 800C0274 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C0278 7C 08 03 A6 */ mtlr r0 -/* 800C027C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C0280 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkLv7DungeonShop__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkLv7DungeonShop__9daAlink_cFv.s deleted file mode 100644 index 96a8e3344a..0000000000 --- a/asm/d/a/d_a_alink/checkLv7DungeonShop__9daAlink_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8011EE40: -/* 8011EE40 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011EE44 7C 08 02 A6 */ mflr r0 -/* 8011EE48 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011EE4C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011EE50 3B E0 00 00 */ li r31, 0 -/* 8011EE54 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 8011EE58 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 8011EE5C 38 63 01 15 */ addi r3, r3, 0x115 -/* 8011EE60 4B F7 EC 01 */ bl checkStageName__9daAlink_cFPCc -/* 8011EE64 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8011EE68 41 82 00 14 */ beq lbl_8011EE7C -/* 8011EE6C 88 0D 87 E4 */ lbz r0, struct_80450D64+0x0(r13) -/* 8011EE70 2C 00 00 10 */ cmpwi r0, 0x10 -/* 8011EE74 40 82 00 08 */ bne lbl_8011EE7C -/* 8011EE78 3B E0 00 01 */ li r31, 1 -lbl_8011EE7C: -/* 8011EE7C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 8011EE80 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011EE84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011EE88 7C 08 03 A6 */ mtlr r0 -/* 8011EE8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011EE90 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkMagneBootsFly__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkMagneBootsFly__9daAlink_cFv.s deleted file mode 100644 index 7096f14a16..0000000000 --- a/asm/d/a/d_a_alink/checkMagneBootsFly__9daAlink_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_800E2F88: -/* 800E2F88 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800E2F8C 7C 08 02 A6 */ mflr r0 -/* 800E2F90 90 01 00 34 */ stw r0, 0x34(r1) -/* 800E2F94 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 800E2F98 7C 7F 1B 78 */ mr r31, r3 -/* 800E2F9C 88 03 2F B8 */ lbz r0, 0x2fb8(r3) -/* 800E2FA0 28 00 00 00 */ cmplwi r0, 0 -/* 800E2FA4 41 82 00 8C */ beq lbl_800E3030 -/* 800E2FA8 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800E2FAC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800E2FB0 41 82 00 80 */ beq lbl_800E3030 -/* 800E2FB4 48 03 5C E5 */ bl checkDeadHP__9daAlink_cFv -/* 800E2FB8 2C 03 00 00 */ cmpwi r3, 0 -/* 800E2FBC 40 82 00 74 */ bne lbl_800E3030 -/* 800E2FC0 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800E2FC4 28 00 00 CC */ cmplwi r0, 0xcc -/* 800E2FC8 41 82 00 68 */ beq lbl_800E3030 -/* 800E2FCC 7F E3 FB 78 */ mr r3, r31 -/* 800E2FD0 48 03 2C 51 */ bl checkEventRun__9daAlink_cCFv -/* 800E2FD4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E2FD8 40 82 00 58 */ bne lbl_800E3030 -/* 800E2FDC C0 1F 36 9C */ lfs f0, 0x369c(r31) -/* 800E2FE0 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 800E2FE4 C0 1F 36 A0 */ lfs f0, 0x36a0(r31) -/* 800E2FE8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 800E2FEC C0 1F 36 A4 */ lfs f0, 0x36a4(r31) -/* 800E2FF0 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 800E2FF4 38 61 00 08 */ addi r3, r1, 8 -/* 800E2FF8 38 81 00 14 */ addi r4, r1, 0x14 -/* 800E2FFC 48 18 3F 4D */ bl normalizeZP__4cXyzFv -/* 800E3000 38 7F 36 A8 */ addi r3, r31, 0x36a8 -/* 800E3004 38 81 00 14 */ addi r4, r1, 0x14 -/* 800E3008 48 26 41 8D */ bl PSVECDotProduct -/* 800E300C C0 02 93 4C */ lfs f0, lit_8131(r2) -/* 800E3010 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800E3014 40 81 00 1C */ ble lbl_800E3030 -/* 800E3018 7F E3 FB 78 */ mr r3, r31 -/* 800E301C 48 00 01 FD */ bl procMagneBootsFlyInit__9daAlink_cFv -/* 800E3020 2C 03 00 00 */ cmpwi r3, 0 -/* 800E3024 41 82 00 0C */ beq lbl_800E3030 -/* 800E3028 38 60 00 01 */ li r3, 1 -/* 800E302C 48 00 00 08 */ b lbl_800E3034 -lbl_800E3030: -/* 800E3030 38 60 00 00 */ li r3, 0 -lbl_800E3034: -/* 800E3034 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 800E3038 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800E303C 7C 08 03 A6 */ mtlr r0 -/* 800E3040 38 21 00 30 */ addi r1, r1, 0x30 -/* 800E3044 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkRoomOnly__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkRoomOnly__9daAlink_cFv.s deleted file mode 100644 index 37d02a448b..0000000000 --- a/asm/d/a/d_a_alink/checkRoomOnly__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800C03E8: -/* 800C03E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C03EC 7C 08 02 A6 */ mflr r0 -/* 800C03F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C03F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C03F8 3B E0 00 01 */ li r31, 1 -/* 800C03FC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C0400 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C0404 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800C0408 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800C040C 7D 89 03 A6 */ mtctr r12 -/* 800C0410 4E 80 04 21 */ bctrl -/* 800C0414 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800C0418 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 800C041C 28 00 00 02 */ cmplwi r0, 2 -/* 800C0420 41 82 00 14 */ beq lbl_800C0434 -/* 800C0424 48 05 EA 1D */ bl checkLv7DungeonShop__9daAlink_cFv -/* 800C0428 2C 03 00 00 */ cmpwi r3, 0 -/* 800C042C 40 82 00 08 */ bne lbl_800C0434 -/* 800C0430 3B E0 00 00 */ li r31, 0 -lbl_800C0434: -/* 800C0434 7F E3 FB 78 */ mr r3, r31 -/* 800C0438 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C043C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C0440 7C 08 03 A6 */ mtlr r0 -/* 800C0444 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C0448 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkRoomSpecial__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkRoomSpecial__9daAlink_cFv.s deleted file mode 100644 index a14fccbc1b..0000000000 --- a/asm/d/a/d_a_alink/checkRoomSpecial__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800C04B4: -/* 800C04B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C04B8 7C 08 02 A6 */ mflr r0 -/* 800C04BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C04C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C04C4 3B E0 00 00 */ li r31, 0 -/* 800C04C8 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800C04CC 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800C04D0 38 63 01 0E */ addi r3, r3, 0x10e -/* 800C04D4 4B FD D5 8D */ bl checkStageName__9daAlink_cFPCc -/* 800C04D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C04DC 41 82 00 1C */ beq lbl_800C04F8 -/* 800C04E0 88 0D 87 E4 */ lbz r0, struct_80450D64+0x0(r13) -/* 800C04E4 7C 00 07 74 */ extsb r0, r0 -/* 800C04E8 2C 00 00 01 */ cmpwi r0, 1 -/* 800C04EC 41 82 00 18 */ beq lbl_800C0504 -/* 800C04F0 2C 00 00 02 */ cmpwi r0, 2 -/* 800C04F4 41 82 00 10 */ beq lbl_800C0504 -lbl_800C04F8: -/* 800C04F8 4B FF FF 55 */ bl checkLv2DungeonRoomSpecial__9daAlink_cFv -/* 800C04FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C0500 41 82 00 08 */ beq lbl_800C0508 -lbl_800C0504: -/* 800C0504 3B E0 00 01 */ li r31, 1 -lbl_800C0508: -/* 800C0508 7F E3 FB 78 */ mr r3, r31 -/* 800C050C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C0510 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C0514 7C 08 03 A6 */ mtlr r0 -/* 800C0518 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C051C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSetItemTrigger__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkSetItemTrigger__9daAlink_cFi.s deleted file mode 100644 index c8b0e2a9ca..0000000000 --- a/asm/d/a/d_a_alink/checkSetItemTrigger__9daAlink_cFi.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800C0164: -/* 800C0164 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C0168 7C 08 02 A6 */ mflr r0 -/* 800C016C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C0170 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C0174 48 2A 20 61 */ bl _savegpr_27 -/* 800C0178 7C 7B 1B 78 */ mr r27, r3 -/* 800C017C 7C 9C 23 78 */ mr r28, r4 -/* 800C0180 3B A0 00 00 */ li r29, 0 -/* 800C0184 3B E0 00 01 */ li r31, 1 -/* 800C0188 48 00 00 58 */ b lbl_800C01E0 -lbl_800C018C: -/* 800C018C 57 BE 06 3E */ clrlwi r30, r29, 0x18 -/* 800C0190 7F C3 F3 78 */ mr r3, r30 -/* 800C0194 4B F6 DD 89 */ bl dComIfGp_getSelectItem__Fi -/* 800C0198 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 800C019C 7F 63 DB 78 */ mr r3, r27 -/* 800C01A0 7F 84 E3 78 */ mr r4, r28 -/* 800C01A4 4B FF FF 71 */ bl checkGroupItem__9daAlink_cCFii -/* 800C01A8 2C 03 00 00 */ cmpwi r3, 0 -/* 800C01AC 41 82 00 30 */ beq lbl_800C01DC -/* 800C01B0 7F 63 DB 78 */ mr r3, r27 -/* 800C01B4 7F E0 F0 30 */ slw r0, r31, r30 -/* 800C01B8 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800C01BC 4B FF 24 11 */ bl itemTriggerCheck__9daAlink_cFUc -/* 800C01C0 2C 03 00 00 */ cmpwi r3, 0 -/* 800C01C4 41 82 00 18 */ beq lbl_800C01DC -/* 800C01C8 2C 1C 00 45 */ cmpwi r28, 0x45 -/* 800C01CC 41 82 00 08 */ beq lbl_800C01D4 -/* 800C01D0 9B BB 2F 9C */ stb r29, 0x2f9c(r27) -lbl_800C01D4: -/* 800C01D4 38 60 00 01 */ li r3, 1 -/* 800C01D8 48 00 00 18 */ b lbl_800C01F0 -lbl_800C01DC: -/* 800C01DC 3B BD 00 01 */ addi r29, r29, 1 -lbl_800C01E0: -/* 800C01E0 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800C01E4 28 00 00 02 */ cmplwi r0, 2 -/* 800C01E8 41 80 FF A4 */ blt lbl_800C018C -/* 800C01EC 38 60 00 00 */ li r3, 0 -lbl_800C01F0: -/* 800C01F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C01F4 48 2A 20 2D */ bl _restgpr_27 -/* 800C01F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C01FC 7C 08 03 A6 */ mtlr r0 -/* 800C0200 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C0204 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz.s b/asm/d/a/d_a_alink/commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz.s deleted file mode 100644 index c63e78b54a..0000000000 --- a/asm/d/a/d_a_alink/commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_800E24B0: -/* 800E24B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E24B4 7C 08 02 A6 */ mflr r0 -/* 800E24B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E24BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E24C0 7C 7F 1B 78 */ mr r31, r3 -/* 800E24C4 38 7F 1D AC */ addi r3, r31, 0x1dac -/* 800E24C8 7F E6 FB 78 */ mr r6, r31 -/* 800E24CC 4B F9 58 99 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 800E24D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E24D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E24D8 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 800E24DC 38 9F 1D AC */ addi r4, r31, 0x1dac -/* 800E24E0 4B F9 1E D5 */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 800E24E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E24E8 41 82 00 1C */ beq lbl_800E2504 -/* 800E24EC 38 7F 1D C0 */ addi r3, r31, 0x1dc0 -/* 800E24F0 4B F4 F6 61 */ bl checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo -/* 800E24F4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E24F8 41 82 00 0C */ beq lbl_800E2504 -/* 800E24FC 38 60 00 01 */ li r3, 1 -/* 800E2500 48 00 00 08 */ b lbl_800E2508 -lbl_800E2504: -/* 800E2504 38 60 00 00 */ li r3, 0 -lbl_800E2508: -/* 800E2508 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E250C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E2510 7C 08 03 A6 */ mtlr r0 -/* 800E2514 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E2518 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/concatMagneBootInvMtx__9daAlink_cFv.s b/asm/d/a/d_a_alink/concatMagneBootInvMtx__9daAlink_cFv.s deleted file mode 100644 index 5abd416dcc..0000000000 --- a/asm/d/a/d_a_alink/concatMagneBootInvMtx__9daAlink_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800E243C: -/* 800E243C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E2440 7C 08 02 A6 */ mflr r0 -/* 800E2444 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E2448 7C 64 1B 78 */ mr r4, r3 -/* 800E244C 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800E2450 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800E2454 41 82 00 18 */ beq lbl_800E246C -/* 800E2458 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800E245C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800E2460 38 84 2C 78 */ addi r4, r4, 0x2c78 -/* 800E2464 7C 65 1B 78 */ mr r5, r3 -/* 800E2468 48 26 40 7D */ bl PSMTXConcat -lbl_800E246C: -/* 800E246C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E2470 7C 08 03 A6 */ mtlr r0 -/* 800E2474 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E2478 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/concatMagneBootMtx__9daAlink_cFv.s b/asm/d/a/d_a_alink/concatMagneBootMtx__9daAlink_cFv.s deleted file mode 100644 index a7470f9c3e..0000000000 --- a/asm/d/a/d_a_alink/concatMagneBootMtx__9daAlink_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800E23FC: -/* 800E23FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E2400 7C 08 02 A6 */ mflr r0 -/* 800E2404 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E2408 7C 64 1B 78 */ mr r4, r3 -/* 800E240C 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800E2410 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800E2414 41 82 00 18 */ beq lbl_800E242C -/* 800E2418 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800E241C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800E2420 38 84 2C 48 */ addi r4, r4, 0x2c48 -/* 800E2424 7C 65 1B 78 */ mr r5, r3 -/* 800E2428 48 26 40 BD */ bl PSMTXConcat -lbl_800E242C: -/* 800E242C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E2430 7C 08 03 A6 */ mtlr r0 -/* 800E2434 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E2438 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/keepItemData__9daAlink_cFv.s b/asm/d/a/d_a_alink/keepItemData__9daAlink_cFv.s deleted file mode 100644 index 75e26a8ea9..0000000000 --- a/asm/d/a/d_a_alink/keepItemData__9daAlink_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800BF854: -/* 800BF854 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF858 7C 08 02 A6 */ mflr r0 -/* 800BF85C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF860 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800BF864 B0 03 30 CE */ sth r0, 0x30ce(r3) -/* 800BF868 38 80 00 00 */ li r4, 0 -/* 800BF86C 38 A0 00 00 */ li r5, 0 -/* 800BF870 48 00 1A 6D */ bl deleteEquipItem__9daAlink_cFii -/* 800BF874 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF878 7C 08 03 A6 */ mtlr r0 -/* 800BF87C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF880 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/multVecMagneBootInvMtx__9daAlink_cFP4cXyz.s b/asm/d/a/d_a_alink/multVecMagneBootInvMtx__9daAlink_cFP4cXyz.s deleted file mode 100644 index d493344775..0000000000 --- a/asm/d/a/d_a_alink/multVecMagneBootInvMtx__9daAlink_cFP4cXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800E247C: -/* 800E247C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E2480 7C 08 02 A6 */ mflr r0 -/* 800E2484 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E2488 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800E248C 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800E2490 41 82 00 10 */ beq lbl_800E24A0 -/* 800E2494 38 63 2C 78 */ addi r3, r3, 0x2c78 -/* 800E2498 7C 85 23 78 */ mr r5, r4 -/* 800E249C 48 26 49 B1 */ bl PSMTXMultVecSR -lbl_800E24A0: -/* 800E24A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E24A4 7C 08 03 A6 */ mtlr r0 -/* 800E24A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E24AC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/playerInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/playerInit__9daAlink_cFv.s deleted file mode 100644 index 8d79aff93c..0000000000 --- a/asm/d/a/d_a_alink/playerInit__9daAlink_cFv.s +++ /dev/null @@ -1,561 +0,0 @@ -lbl_800A4CB4: -/* 800A4CB4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800A4CB8 7C 08 02 A6 */ mflr r0 -/* 800A4CBC 90 01 00 34 */ stw r0, 0x34(r1) -/* 800A4CC0 39 61 00 30 */ addi r11, r1, 0x30 -/* 800A4CC4 48 2B D4 FD */ bl _savegpr_22 -/* 800A4CC8 7C 77 1B 78 */ mr r23, r3 -/* 800A4CCC 3C 60 80 3B */ lis r3, cNullVec__6Z2Calc@ha /* 0x803AF990@ha */ -/* 800A4CD0 3B 63 F9 90 */ addi r27, r3, cNullVec__6Z2Calc@l /* 0x803AF990@l */ -/* 800A4CD4 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800A4CD8 D0 17 34 34 */ stfs f0, 0x3434(r23) -/* 800A4CDC 48 01 B6 35 */ bl checkDungeon__9daAlink_cFv -/* 800A4CE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A4CE4 40 82 00 3C */ bne lbl_800A4D20 -/* 800A4CE8 48 01 B5 E1 */ bl checkBossRoom__9daAlink_cFv -/* 800A4CEC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A4CF0 40 82 00 30 */ bne lbl_800A4D20 -/* 800A4CF4 38 60 00 25 */ li r3, 0x25 -/* 800A4CF8 38 80 00 01 */ li r4, 1 -/* 800A4CFC 4B FF 31 E5 */ bl checkItemGet__FUci -/* 800A4D00 2C 03 00 00 */ cmpwi r3, 0 -/* 800A4D04 41 82 00 1C */ beq lbl_800A4D20 -/* 800A4D08 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A4D0C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A4D10 38 63 00 9C */ addi r3, r3, 0x9c -/* 800A4D14 38 80 00 12 */ li r4, 0x12 -/* 800A4D18 38 A0 00 2D */ li r5, 0x2d -/* 800A4D1C 4B F8 E2 9D */ bl setItem__17dSv_player_item_cFiUc -lbl_800A4D20: -/* 800A4D20 3B 37 08 50 */ addi r25, r23, 0x850 -/* 800A4D24 3B 17 0C 04 */ addi r24, r23, 0xc04 -/* 800A4D28 3B 40 00 00 */ li r26, 0 -/* 800A4D2C 3B 97 08 14 */ addi r28, r23, 0x814 -/* 800A4D30 3B B7 30 6C */ addi r29, r23, 0x306c -/* 800A4D34 3C 60 80 0A */ lis r3, daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8009D88C@ha */ -/* 800A4D38 3B C3 D8 8C */ addi r30, r3, daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8009D88C@l */ -/* 800A4D3C 3C 60 80 0A */ lis r3, daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8009D8B8@ha */ -/* 800A4D40 3B E3 D8 B8 */ addi r31, r3, daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8009D8B8@l */ -/* 800A4D44 3C 60 D8 FC */ lis r3, 0xD8FC /* 0xD8FBFFFF@ha */ -/* 800A4D48 3A C3 FF FF */ addi r22, r3, 0xFFFF /* 0xD8FBFFFF@l */ -/* 800A4D4C 48 00 00 78 */ b lbl_800A4DC4 -lbl_800A4D50: -/* 800A4D50 7F 23 CB 78 */ mr r3, r25 -/* 800A4D54 38 9B 2D C4 */ addi r4, r27, 0x2dc4 -/* 800A4D58 4B FD FB 5D */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl -/* 800A4D5C 93 99 00 44 */ stw r28, 0x44(r25) -/* 800A4D60 80 19 00 9C */ lwz r0, 0x9c(r25) -/* 800A4D64 60 00 00 02 */ ori r0, r0, 2 -/* 800A4D68 90 19 00 9C */ stw r0, 0x9c(r25) -/* 800A4D6C 93 B9 00 E0 */ stw r29, 0xe0(r25) -/* 800A4D70 93 D9 00 A4 */ stw r30, 0xa4(r25) -/* 800A4D74 93 F9 00 F0 */ stw r31, 0xf0(r25) -/* 800A4D78 7F 03 C3 78 */ mr r3, r24 -/* 800A4D7C 38 9B 2D C4 */ addi r4, r27, 0x2dc4 -/* 800A4D80 4B FD FB 35 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl -/* 800A4D84 93 98 00 44 */ stw r28, 0x44(r24) -/* 800A4D88 80 18 00 2C */ lwz r0, 0x2c(r24) -/* 800A4D8C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800A4D90 90 18 00 2C */ stw r0, 0x2c(r24) -/* 800A4D94 38 00 00 03 */ li r0, 3 -/* 800A4D98 98 18 00 B9 */ stb r0, 0xb9(r24) -/* 800A4D9C 80 18 00 9C */ lwz r0, 0x9c(r24) -/* 800A4DA0 60 00 00 04 */ ori r0, r0, 4 -/* 800A4DA4 90 18 00 9C */ stw r0, 0x9c(r24) -/* 800A4DA8 92 D8 00 28 */ stw r22, 0x28(r24) -/* 800A4DAC 80 18 00 18 */ lwz r0, 0x18(r24) -/* 800A4DB0 60 00 00 20 */ ori r0, r0, 0x20 -/* 800A4DB4 90 18 00 18 */ stw r0, 0x18(r24) -/* 800A4DB8 3B 5A 00 01 */ addi r26, r26, 1 -/* 800A4DBC 3B 39 01 3C */ addi r25, r25, 0x13c -/* 800A4DC0 3B 18 01 3C */ addi r24, r24, 0x13c -lbl_800A4DC4: -/* 800A4DC4 57 40 04 3E */ clrlwi r0, r26, 0x10 -/* 800A4DC8 28 00 00 03 */ cmplwi r0, 3 -/* 800A4DCC 41 80 FF 84 */ blt lbl_800A4D50 -/* 800A4DD0 38 77 0B EC */ addi r3, r23, 0xbec -/* 800A4DD4 C0 22 94 68 */ lfs f1, lit_14955(r2) -/* 800A4DD8 48 1C A4 21 */ bl SetH__8cM3dGCylFf -/* 800A4DDC 38 77 0A B0 */ addi r3, r23, 0xab0 -/* 800A4DE0 C0 22 94 68 */ lfs f1, lit_14955(r2) -/* 800A4DE4 48 1C A4 15 */ bl SetH__8cM3dGCylFf -/* 800A4DE8 38 77 0F B8 */ addi r3, r23, 0xfb8 -/* 800A4DEC 38 9B 2E 08 */ addi r4, r27, 0x2e08 -/* 800A4DF0 4B FD FC 45 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph -/* 800A4DF4 38 17 08 14 */ addi r0, r23, 0x814 -/* 800A4DF8 90 17 0F FC */ stw r0, 0xffc(r23) -/* 800A4DFC 38 77 0F B8 */ addi r3, r23, 0xfb8 -/* 800A4E00 38 97 04 D0 */ addi r4, r23, 0x4d0 -/* 800A4E04 4B FD FC 75 */ bl StartCAt__8dCcD_SphFR4cXyz -/* 800A4E08 3C 00 00 02 */ lis r0, 2 -/* 800A4E0C 90 17 20 F8 */ stw r0, 0x20f8(r23) -/* 800A4E10 38 77 20 F0 */ addi r3, r23, 0x20f0 -/* 800A4E14 38 80 00 04 */ li r4, 4 -/* 800A4E18 48 0B 9F E9 */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A4E1C 80 17 05 74 */ lwz r0, 0x574(r23) -/* 800A4E20 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A4E24 41 82 00 10 */ beq lbl_800A4E34 -/* 800A4E28 7E E3 BB 78 */ mr r3, r23 -/* 800A4E2C 48 08 1A FD */ bl changeWolf__9daAlink_cFv -/* 800A4E30 48 00 00 10 */ b lbl_800A4E40 -lbl_800A4E34: -/* 800A4E34 7E E3 BB 78 */ mr r3, r23 -/* 800A4E38 38 80 00 00 */ li r4, 0 -/* 800A4E3C 48 08 21 01 */ bl changeLink__9daAlink_cFi -lbl_800A4E40: -/* 800A4E40 38 00 0B 00 */ li r0, 0xb00 -/* 800A4E44 90 17 21 0C */ stw r0, 0x210c(r23) -/* 800A4E48 38 77 21 04 */ addi r3, r23, 0x2104 -/* 800A4E4C 38 80 00 04 */ li r4, 4 -/* 800A4E50 48 0B 9F B1 */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A4E54 7E E3 BB 78 */ mr r3, r23 -/* 800A4E58 48 09 B3 A1 */ bl setShieldModel__9daAlink_cFv -/* 800A4E5C 80 17 06 60 */ lwz r0, 0x660(r23) -/* 800A4E60 90 17 06 B8 */ stw r0, 0x6b8(r23) -/* 800A4E64 80 17 06 64 */ lwz r0, 0x664(r23) -/* 800A4E68 90 17 06 BC */ stw r0, 0x6bc(r23) -/* 800A4E6C 38 77 08 14 */ addi r3, r23, 0x814 -/* 800A4E70 38 80 00 78 */ li r4, 0x78 -/* 800A4E74 38 A0 00 FF */ li r5, 0xff -/* 800A4E78 7E E6 BB 78 */ mr r6, r23 -/* 800A4E7C 4B FD E9 E5 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c -/* 800A4E80 A8 77 04 E6 */ lha r3, 0x4e6(r23) -/* 800A4E84 A8 17 05 9E */ lha r0, 0x59e(r23) -/* 800A4E88 7C 03 02 14 */ add r0, r3, r0 -/* 800A4E8C B0 17 30 6C */ sth r0, 0x306c(r23) -/* 800A4E90 3B 20 00 00 */ li r25, 0 -/* 800A4E94 3B 17 08 14 */ addi r24, r23, 0x814 -/* 800A4E98 48 00 00 24 */ b lbl_800A4EBC -lbl_800A4E9C: -/* 800A4E9C 57 20 04 3E */ clrlwi r0, r25, 0x10 -/* 800A4EA0 1C 00 01 44 */ mulli r0, r0, 0x144 -/* 800A4EA4 7E D7 02 14 */ add r22, r23, r0 -/* 800A4EA8 38 76 12 2C */ addi r3, r22, 0x122c -/* 800A4EAC 38 9B 2E 8C */ addi r4, r27, 0x2e8c -/* 800A4EB0 4B FD F9 21 */ bl Set__8dCcD_CpsFRC11dCcD_SrcCps -/* 800A4EB4 93 16 12 70 */ stw r24, 0x1270(r22) -/* 800A4EB8 3B 39 00 01 */ addi r25, r25, 1 -lbl_800A4EBC: -/* 800A4EBC 57 20 04 3E */ clrlwi r0, r25, 0x10 -/* 800A4EC0 28 00 00 03 */ cmplwi r0, 3 -/* 800A4EC4 41 80 FF D8 */ blt lbl_800A4E9C -/* 800A4EC8 38 77 15 F8 */ addi r3, r23, 0x15f8 -/* 800A4ECC 38 9B 2E 8C */ addi r4, r27, 0x2e8c -/* 800A4ED0 4B FD F9 01 */ bl Set__8dCcD_CpsFRC11dCcD_SrcCps -/* 800A4ED4 38 17 08 14 */ addi r0, r23, 0x814 -/* 800A4ED8 90 17 16 3C */ stw r0, 0x163c(r23) -/* 800A4EDC 38 00 00 10 */ li r0, 0x10 -/* 800A4EE0 90 17 16 08 */ stw r0, 0x1608(r23) -/* 800A4EE4 80 17 16 50 */ lwz r0, 0x1650(r23) -/* 800A4EE8 60 00 00 02 */ ori r0, r0, 2 -/* 800A4EEC 90 17 16 50 */ stw r0, 0x1650(r23) -/* 800A4EF0 38 00 00 00 */ li r0, 0 -/* 800A4EF4 98 17 16 6E */ stb r0, 0x166e(r23) -/* 800A4EF8 98 17 16 0C */ stb r0, 0x160c(r23) -/* 800A4EFC 38 77 10 F0 */ addi r3, r23, 0x10f0 -/* 800A4F00 38 9B 2E 48 */ addi r4, r27, 0x2e48 -/* 800A4F04 4B FD F9 B1 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl -/* 800A4F08 38 17 08 14 */ addi r0, r23, 0x814 -/* 800A4F0C 90 17 11 34 */ stw r0, 0x1134(r23) -/* 800A4F10 38 77 19 70 */ addi r3, r23, 0x1970 -/* 800A4F14 7E E4 BB 78 */ mr r4, r23 -/* 800A4F18 38 A0 00 03 */ li r5, 3 -/* 800A4F1C 38 D7 18 B0 */ addi r6, r23, 0x18b0 -/* 800A4F20 4B FD 13 69 */ bl Set__9dBgS_AcchFP10fopAc_ac_ciP12dBgS_AcchCir -/* 800A4F24 80 17 19 9C */ lwz r0, 0x199c(r23) -/* 800A4F28 54 00 05 A8 */ rlwinm r0, r0, 0, 0x16, 0x14 -/* 800A4F2C 90 17 19 9C */ stw r0, 0x199c(r23) -/* 800A4F30 C0 02 93 5C */ lfs f0, lit_8322(r2) -/* 800A4F34 D0 17 1A 40 */ stfs f0, 0x1a40(r23) -/* 800A4F38 80 17 19 9C */ lwz r0, 0x199c(r23) -/* 800A4F3C 60 00 20 00 */ ori r0, r0, 0x2000 -/* 800A4F40 90 17 19 9C */ stw r0, 0x199c(r23) -/* 800A4F44 80 17 19 9C */ lwz r0, 0x199c(r23) -/* 800A4F48 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 800A4F4C 90 17 19 9C */ stw r0, 0x199c(r23) -/* 800A4F50 C0 17 05 98 */ lfs f0, 0x598(r23) -/* 800A4F54 D0 17 1A 38 */ stfs f0, 0x1a38(r23) -/* 800A4F58 38 77 19 70 */ addi r3, r23, 0x1970 -/* 800A4F5C 4B FD 24 65 */ bl SetGndThinCellingOff__9dBgS_AcchFv -/* 800A4F60 38 00 00 02 */ li r0, 2 -/* 800A4F64 98 17 1B 44 */ stb r0, 0x1b44(r23) -/* 800A4F68 38 77 19 70 */ addi r3, r23, 0x1970 -/* 800A4F6C 4B FD 24 81 */ bl OnWallSort__9dBgS_AcchFv -/* 800A4F70 38 77 18 B0 */ addi r3, r23, 0x18b0 -/* 800A4F74 C0 2D 81 10 */ lfs f1, l_autoUpHeight(r13) -/* 800A4F78 C0 42 93 BC */ lfs f2, lit_10042(r2) -/* 800A4F7C 4B FD 0F DD */ bl SetWall__12dBgS_AcchCirFff -/* 800A4F80 38 77 18 F0 */ addi r3, r23, 0x18f0 -/* 800A4F84 C0 22 94 84 */ lfs f1, lit_16037(r2) -/* 800A4F88 C0 42 93 BC */ lfs f2, lit_10042(r2) -/* 800A4F8C 4B FD 0F CD */ bl SetWall__12dBgS_AcchCirFff -/* 800A4F90 38 77 19 30 */ addi r3, r23, 0x1930 -/* 800A4F94 C0 37 05 98 */ lfs f1, 0x598(r23) -/* 800A4F98 C0 42 93 BC */ lfs f2, lit_10042(r2) -/* 800A4F9C 4B FD 0F BD */ bl SetWall__12dBgS_AcchCirFff -/* 800A4FA0 A8 17 04 E6 */ lha r0, 0x4e6(r23) -/* 800A4FA4 B0 17 2F E6 */ sth r0, 0x2fe6(r23) -/* 800A4FA8 3A C0 00 00 */ li r22, 0 -/* 800A4FAC 48 00 00 30 */ b lbl_800A4FDC -lbl_800A4FB0: -/* 800A4FB0 80 77 1F 64 */ lwz r3, 0x1f64(r23) -/* 800A4FB4 56 C4 04 3E */ clrlwi r4, r22, 0x10 -/* 800A4FB8 1C 04 2C 00 */ mulli r0, r4, 0x2c00 -/* 800A4FBC 7C 63 02 14 */ add r3, r3, r0 -/* 800A4FC0 1C 04 00 14 */ mulli r0, r4, 0x14 -/* 800A4FC4 7C 97 02 14 */ add r4, r23, r0 -/* 800A4FC8 90 64 1F 64 */ stw r3, 0x1f64(r4) -/* 800A4FCC 38 64 1F 58 */ addi r3, r4, 0x1f58 -/* 800A4FD0 38 80 00 03 */ li r4, 3 -/* 800A4FD4 48 0B 9E 2D */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A4FD8 3A D6 00 01 */ addi r22, r22, 1 -lbl_800A4FDC: -/* 800A4FDC 56 C0 04 3E */ clrlwi r0, r22, 0x10 -/* 800A4FE0 28 00 00 03 */ cmplwi r0, 3 -/* 800A4FE4 41 80 FF CC */ blt lbl_800A4FB0 -/* 800A4FE8 80 77 1F 64 */ lwz r3, 0x1f64(r23) -/* 800A4FEC 3C 63 00 01 */ addis r3, r3, 1 -/* 800A4FF0 38 03 84 00 */ addi r0, r3, -31744 -/* 800A4FF4 90 17 1F A0 */ stw r0, 0x1fa0(r23) -/* 800A4FF8 3A C0 00 00 */ li r22, 0 -/* 800A4FFC 48 00 00 30 */ b lbl_800A502C -lbl_800A5000: -/* 800A5000 80 77 1F A0 */ lwz r3, 0x1fa0(r23) -/* 800A5004 56 C4 04 3E */ clrlwi r4, r22, 0x10 -/* 800A5008 1C 04 2C 00 */ mulli r0, r4, 0x2c00 -/* 800A500C 7C 63 02 14 */ add r3, r3, r0 -/* 800A5010 1C 04 00 14 */ mulli r0, r4, 0x14 -/* 800A5014 7C 97 02 14 */ add r4, r23, r0 -/* 800A5018 90 64 1F A0 */ stw r3, 0x1fa0(r4) -/* 800A501C 38 64 1F 94 */ addi r3, r4, 0x1f94 -/* 800A5020 38 80 00 03 */ li r4, 3 -/* 800A5024 48 0B 9D DD */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A5028 3A D6 00 01 */ addi r22, r22, 1 -lbl_800A502C: -/* 800A502C 56 C0 04 3E */ clrlwi r0, r22, 0x10 -/* 800A5030 28 00 00 03 */ cmplwi r0, 3 -/* 800A5034 41 80 FF CC */ blt lbl_800A5000 -/* 800A5038 38 77 21 18 */ addi r3, r23, 0x2118 -/* 800A503C 38 80 00 01 */ li r4, 1 -/* 800A5040 48 0B 9D C1 */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A5044 38 77 21 2C */ addi r3, r23, 0x212c -/* 800A5048 38 80 00 02 */ li r4, 2 -/* 800A504C 48 0B 9D B5 */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A5050 38 77 21 40 */ addi r3, r23, 0x2140 -/* 800A5054 38 80 00 03 */ li r4, 3 -/* 800A5058 48 0B 9D A9 */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A505C 3A C0 00 00 */ li r22, 0 -/* 800A5060 3C 60 00 01 */ lis r3, 0x0001 /* 0x00013200@ha */ -/* 800A5064 3B 03 32 00 */ addi r24, r3, 0x3200 /* 0x00013200@l */ -/* 800A5068 48 00 00 24 */ b lbl_800A508C -lbl_800A506C: -/* 800A506C 56 C0 04 3E */ clrlwi r0, r22, 0x10 -/* 800A5070 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 800A5074 7C 77 02 14 */ add r3, r23, r0 -/* 800A5078 93 03 21 B8 */ stw r24, 0x21b8(r3) -/* 800A507C 38 63 21 B0 */ addi r3, r3, 0x21b0 -/* 800A5080 38 80 00 04 */ li r4, 4 -/* 800A5084 48 0B 9D 7D */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A5088 3A D6 00 01 */ addi r22, r22, 1 -lbl_800A508C: -/* 800A508C 56 C0 04 3E */ clrlwi r0, r22, 0x10 -/* 800A5090 28 00 00 02 */ cmplwi r0, 2 -/* 800A5094 41 80 FF D8 */ blt lbl_800A506C -/* 800A5098 38 77 21 D8 */ addi r3, r23, 0x21d8 -/* 800A509C 38 80 00 03 */ li r4, 3 -/* 800A50A0 48 0B 9D 61 */ bl createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE -/* 800A50A4 7E E3 BB 78 */ mr r3, r23 -/* 800A50A8 48 01 A4 39 */ bl resetBasAnime__9daAlink_cFv -/* 800A50AC 38 77 2C A8 */ addi r3, r23, 0x2ca8 -/* 800A50B0 38 97 04 D0 */ addi r4, r23, 0x4d0 -/* 800A50B4 38 B7 05 38 */ addi r5, r23, 0x538 -/* 800A50B8 38 D7 37 20 */ addi r6, r23, 0x3720 -/* 800A50BC 48 21 E5 7D */ bl init__14Z2CreatureLinkFP3VecP3VecP3Vec -/* 800A50C0 38 77 2C A8 */ addi r3, r23, 0x2ca8 -/* 800A50C4 38 97 36 0C */ addi r4, r23, 0x360c -/* 800A50C8 48 21 E6 49 */ bl initKantera__14Z2CreatureLinkFP3Vec -/* 800A50CC 38 77 2C A8 */ addi r3, r23, 0x2ca8 -/* 800A50D0 38 80 00 00 */ li r4, 0 -/* 800A50D4 48 21 E6 A5 */ bl setKanteraState__14Z2CreatureLinkFUc -/* 800A50D8 38 00 01 60 */ li r0, 0x160 -/* 800A50DC B0 17 2F E8 */ sth r0, 0x2fe8(r23) -/* 800A50E0 38 62 92 90 */ la r3, l_arcName(r2) /* 80452C90-_SDA2_BASE_ */ -/* 800A50E4 38 80 00 59 */ li r4, 0x59 -/* 800A50E8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A50EC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A50F0 3F 05 00 02 */ addis r24, r5, 2 -/* 800A50F4 3B 18 C2 F8 */ addi r24, r24, -15624 -/* 800A50F8 7F 05 C3 78 */ mr r5, r24 -/* 800A50FC 38 C0 00 80 */ li r6, 0x80 -/* 800A5100 4B F9 71 ED */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 800A5104 90 77 22 00 */ stw r3, 0x2200(r23) -/* 800A5108 80 77 06 60 */ lwz r3, 0x660(r23) -/* 800A510C 82 C3 00 04 */ lwz r22, 4(r3) -/* 800A5110 38 62 92 90 */ la r3, l_arcName(r2) /* 80452C90-_SDA2_BASE_ */ -/* 800A5114 38 80 00 44 */ li r4, 0x44 -/* 800A5118 7F 05 C3 78 */ mr r5, r24 -/* 800A511C 38 C0 00 80 */ li r6, 0x80 -/* 800A5120 4B F9 71 CD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 800A5124 90 77 06 C4 */ stw r3, 0x6c4(r23) -/* 800A5128 80 77 06 C4 */ lwz r3, 0x6c4(r23) -/* 800A512C 7E C4 B3 78 */ mr r4, r22 -/* 800A5130 48 28 60 A5 */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData -/* 800A5134 38 76 00 58 */ addi r3, r22, 0x58 -/* 800A5138 80 97 06 C4 */ lwz r4, 0x6c4(r23) -/* 800A513C 48 28 AB 89 */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey -/* 800A5140 80 77 06 68 */ lwz r3, 0x668(r23) -/* 800A5144 82 C3 00 04 */ lwz r22, 4(r3) -/* 800A5148 38 62 92 90 */ la r3, l_arcName(r2) /* 80452C90-_SDA2_BASE_ */ -/* 800A514C 38 80 00 45 */ li r4, 0x45 -/* 800A5150 7F 05 C3 78 */ mr r5, r24 -/* 800A5154 38 C0 00 80 */ li r6, 0x80 -/* 800A5158 4B F9 71 95 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 800A515C 90 77 06 C8 */ stw r3, 0x6c8(r23) -/* 800A5160 80 77 06 C8 */ lwz r3, 0x6c8(r23) -/* 800A5164 7E C4 B3 78 */ mr r4, r22 -/* 800A5168 48 28 60 6D */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData -/* 800A516C 38 76 00 58 */ addi r3, r22, 0x58 -/* 800A5170 80 97 06 C8 */ lwz r4, 0x6c8(r23) -/* 800A5174 48 28 AB 51 */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey -/* 800A5178 38 62 92 90 */ la r3, l_arcName(r2) /* 80452C90-_SDA2_BASE_ */ -/* 800A517C 38 80 00 3F */ li r4, 0x3f -/* 800A5180 7F 05 C3 78 */ mr r5, r24 -/* 800A5184 38 C0 00 80 */ li r6, 0x80 -/* 800A5188 4B F9 71 65 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 800A518C 90 77 06 CC */ stw r3, 0x6cc(r23) -/* 800A5190 80 77 06 CC */ lwz r3, 0x6cc(r23) -/* 800A5194 7E C4 B3 78 */ mr r4, r22 -/* 800A5198 48 28 66 E5 */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData -/* 800A519C 38 76 00 58 */ addi r3, r22, 0x58 -/* 800A51A0 80 97 06 CC */ lwz r4, 0x6cc(r23) -/* 800A51A4 48 28 AC CD */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -/* 800A51A8 C0 02 93 A4 */ lfs f0, lit_9138(r2) -/* 800A51AC D0 17 33 B4 */ stfs f0, 0x33b4(r23) -/* 800A51B0 D0 17 33 B8 */ stfs f0, 0x33b8(r23) -/* 800A51B4 D0 17 33 BC */ stfs f0, 0x33bc(r23) -/* 800A51B8 38 00 00 FF */ li r0, 0xff -/* 800A51BC B0 17 2F DC */ sth r0, 0x2fdc(r23) -/* 800A51C0 7E E3 BB 78 */ mr r3, r23 -/* 800A51C4 48 02 C1 4D */ bl offSwordModel__9daAlink_cFv -/* 800A51C8 38 00 FF FF */ li r0, -1 -/* 800A51CC 90 17 31 84 */ stw r0, 0x3184(r23) -/* 800A51D0 38 00 00 3F */ li r0, 0x3f -/* 800A51D4 B0 17 31 12 */ sth r0, 0x3112(r23) -/* 800A51D8 80 17 05 70 */ lwz r0, 0x570(r23) -/* 800A51DC 60 00 01 00 */ ori r0, r0, 0x100 -/* 800A51E0 90 17 05 70 */ stw r0, 0x570(r23) -/* 800A51E4 7E E3 BB 78 */ mr r3, r23 -/* 800A51E8 48 05 CA AD */ bl offOxygenTimer__9daAlink_cFv -/* 800A51EC 80 17 00 B0 */ lwz r0, 0xb0(r23) -/* 800A51F0 54 05 A6 FE */ rlwinm r5, r0, 0x14, 0x1b, 0x1f -/* 800A51F4 54 04 46 3E */ srwi r4, r0, 0x18 -/* 800A51F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A51FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A5200 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 800A5204 2C 00 FF FE */ cmpwi r0, -2 -/* 800A5208 41 82 00 10 */ beq lbl_800A5218 -/* 800A520C 7C 00 07 34 */ extsh r0, r0 -/* 800A5210 2C 00 FF FD */ cmpwi r0, -3 -/* 800A5214 40 82 00 20 */ bne lbl_800A5234 -lbl_800A5218: -/* 800A5218 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A521C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A5220 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5224 38 80 FF FF */ li r4, -1 -/* 800A5228 4B FA 11 C9 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A522C 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5230 48 00 01 78 */ b lbl_800A53A8 -lbl_800A5234: -/* 800A5234 2C 00 FF FC */ cmpwi r0, -4 -/* 800A5238 40 82 00 18 */ bne lbl_800A5250 -/* 800A523C 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5240 38 80 00 D5 */ li r4, 0xd5 -/* 800A5244 4B FA 11 AD */ bl setStartDemo__18dEvent_exception_cFi -/* 800A5248 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A524C 48 00 01 5C */ b lbl_800A53A8 -lbl_800A5250: -/* 800A5250 80 03 0D D0 */ lwz r0, 0xdd0(r3) -/* 800A5254 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 800A5258 28 00 00 09 */ cmplwi r0, 9 -/* 800A525C 40 82 00 18 */ bne lbl_800A5274 -/* 800A5260 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5264 38 80 00 D3 */ li r4, 0xd3 -/* 800A5268 4B FA 11 89 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A526C 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5270 48 00 01 38 */ b lbl_800A53A8 -lbl_800A5274: -/* 800A5274 2C 05 00 0A */ cmpwi r5, 0xa -/* 800A5278 40 82 00 30 */ bne lbl_800A52A8 -/* 800A527C 2C 04 00 FF */ cmpwi r4, 0xff -/* 800A5280 41 82 00 14 */ beq lbl_800A5294 -/* 800A5284 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5288 4B FA 11 69 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A528C 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5290 48 00 01 18 */ b lbl_800A53A8 -lbl_800A5294: -/* 800A5294 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5298 38 80 00 CF */ li r4, 0xcf -/* 800A529C 4B FA 11 55 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A52A0 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A52A4 48 00 01 04 */ b lbl_800A53A8 -lbl_800A52A8: -/* 800A52A8 2C 05 00 0B */ cmpwi r5, 0xb -/* 800A52AC 40 82 00 30 */ bne lbl_800A52DC -/* 800A52B0 2C 04 00 FF */ cmpwi r4, 0xff -/* 800A52B4 41 82 00 14 */ beq lbl_800A52C8 -/* 800A52B8 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A52BC 4B FA 11 35 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A52C0 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A52C4 48 00 00 E4 */ b lbl_800A53A8 -lbl_800A52C8: -/* 800A52C8 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A52CC 38 80 00 D0 */ li r4, 0xd0 -/* 800A52D0 4B FA 11 21 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A52D4 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A52D8 48 00 00 D0 */ b lbl_800A53A8 -lbl_800A52DC: -/* 800A52DC 2C 05 00 06 */ cmpwi r5, 6 -/* 800A52E0 40 82 00 18 */ bne lbl_800A52F8 -/* 800A52E4 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A52E8 38 80 00 CD */ li r4, 0xcd -/* 800A52EC 4B FA 11 05 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A52F0 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A52F4 48 00 00 B4 */ b lbl_800A53A8 -lbl_800A52F8: -/* 800A52F8 2C 05 00 07 */ cmpwi r5, 7 -/* 800A52FC 40 82 00 18 */ bne lbl_800A5314 -/* 800A5300 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5304 38 80 00 CE */ li r4, 0xce -/* 800A5308 4B FA 10 E9 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A530C 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5310 48 00 00 98 */ b lbl_800A53A8 -lbl_800A5314: -/* 800A5314 2C 05 00 08 */ cmpwi r5, 8 -/* 800A5318 40 82 00 30 */ bne lbl_800A5348 -/* 800A531C 2C 04 00 FF */ cmpwi r4, 0xff -/* 800A5320 41 82 00 14 */ beq lbl_800A5334 -/* 800A5324 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5328 4B FA 10 C9 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A532C 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5330 48 00 00 78 */ b lbl_800A53A8 -lbl_800A5334: -/* 800A5334 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5338 38 80 00 D4 */ li r4, 0xd4 -/* 800A533C 4B FA 10 B5 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A5340 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5344 48 00 00 64 */ b lbl_800A53A8 -lbl_800A5348: -/* 800A5348 2C 05 00 0C */ cmpwi r5, 0xc -/* 800A534C 40 82 00 18 */ bne lbl_800A5364 -/* 800A5350 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5354 38 80 00 C9 */ li r4, 0xc9 -/* 800A5358 4B FA 10 99 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A535C 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5360 48 00 00 48 */ b lbl_800A53A8 -lbl_800A5364: -/* 800A5364 28 00 00 0B */ cmplwi r0, 0xb -/* 800A5368 40 82 00 18 */ bne lbl_800A5380 -/* 800A536C 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A5370 38 80 00 FF */ li r4, 0xff -/* 800A5374 4B FA 10 7D */ bl setStartDemo__18dEvent_exception_cFi -/* 800A5378 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A537C 48 00 00 2C */ b lbl_800A53A8 -lbl_800A5380: -/* 800A5380 28 00 00 0C */ cmplwi r0, 0xc -/* 800A5384 40 82 00 18 */ bne lbl_800A539C -/* 800A5388 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A538C 38 80 00 D1 */ li r4, 0xd1 -/* 800A5390 4B FA 10 61 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A5394 90 77 31 88 */ stw r3, 0x3188(r23) -/* 800A5398 48 00 00 10 */ b lbl_800A53A8 -lbl_800A539C: -/* 800A539C 38 63 51 88 */ addi r3, r3, 0x5188 -/* 800A53A0 4B FA 10 51 */ bl setStartDemo__18dEvent_exception_cFi -/* 800A53A4 90 77 31 88 */ stw r3, 0x3188(r23) -lbl_800A53A8: -/* 800A53A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A53AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A53B0 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800A53B4 4B FA 16 A5 */ bl orderStartDemo__16dEvent_manager_cFv -/* 800A53B8 38 00 00 FF */ li r0, 0xff -/* 800A53BC 98 17 2F 94 */ stb r0, 0x2f94(r23) -/* 800A53C0 98 17 2F 95 */ stb r0, 0x2f95(r23) -/* 800A53C4 98 17 2F 96 */ stb r0, 0x2f96(r23) -/* 800A53C8 98 17 2F 97 */ stb r0, 0x2f97(r23) -/* 800A53CC 38 60 00 00 */ li r3, 0 -/* 800A53D0 38 80 FF FF */ li r4, -1 -/* 800A53D4 38 00 00 10 */ li r0, 0x10 -/* 800A53D8 7C 09 03 A6 */ mtctr r0 -lbl_800A53DC: -/* 800A53DC 38 03 28 B0 */ addi r0, r3, 0x28b0 -/* 800A53E0 7C 97 01 2E */ stwx r4, r23, r0 -/* 800A53E4 38 63 00 04 */ addi r3, r3, 4 -/* 800A53E8 42 00 FF F4 */ bdnz lbl_800A53DC -/* 800A53EC 38 00 FF FF */ li r0, -1 -/* 800A53F0 90 17 28 F4 */ stw r0, 0x28f4(r23) -/* 800A53F4 90 17 28 F0 */ stw r0, 0x28f0(r23) -/* 800A53F8 90 17 28 F8 */ stw r0, 0x28f8(r23) -/* 800A53FC 90 17 28 FC */ stw r0, 0x28fc(r23) -/* 800A5400 38 77 2E 54 */ addi r3, r23, 0x2e54 -/* 800A5404 38 97 19 70 */ addi r4, r23, 0x1970 -/* 800A5408 3C A0 80 39 */ lis r5, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800A540C 38 A5 D6 64 */ addi r5, r5, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800A5410 C0 25 00 24 */ lfs f1, 0x24(r5) -/* 800A5414 C0 57 05 98 */ lfs f2, 0x598(r23) -/* 800A5418 4B FA B8 85 */ bl init__7dPaPo_cFP9dBgS_Acchff -/* 800A541C A8 17 04 E6 */ lha r0, 0x4e6(r23) -/* 800A5420 B0 17 31 08 */ sth r0, 0x3108(r23) -/* 800A5424 38 77 2F 20 */ addi r3, r23, 0x2f20 -/* 800A5428 38 97 36 24 */ addi r4, r23, 0x3624 -/* 800A542C 38 B7 36 30 */ addi r5, r23, 0x3630 -/* 800A5430 4B FA A2 89 */ bl setOldPosP__22dPa_hermiteEcallBack_cFPC4cXyzPC4cXyz -/* 800A5434 38 00 00 0A */ li r0, 0xa -/* 800A5438 98 17 2F C3 */ stb r0, 0x2fc3(r23) -/* 800A543C C0 17 04 D0 */ lfs f0, 0x4d0(r23) -/* 800A5440 D0 17 2F 5C */ stfs f0, 0x2f5c(r23) -/* 800A5444 C0 17 04 D4 */ lfs f0, 0x4d4(r23) -/* 800A5448 D0 17 2F 60 */ stfs f0, 0x2f60(r23) -/* 800A544C C0 17 04 D8 */ lfs f0, 0x4d8(r23) -/* 800A5450 D0 17 2F 64 */ stfs f0, 0x2f64(r23) -/* 800A5454 38 00 00 50 */ li r0, 0x50 -/* 800A5458 B0 17 2F 68 */ sth r0, 0x2f68(r23) -/* 800A545C B0 17 2F 6A */ sth r0, 0x2f6a(r23) -/* 800A5460 38 00 00 C8 */ li r0, 0xc8 -/* 800A5464 B0 17 2F 6C */ sth r0, 0x2f6c(r23) -/* 800A5468 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800A546C D0 17 2F 70 */ stfs f0, 0x2f70(r23) -/* 800A5470 D0 17 2F 74 */ stfs f0, 0x2f74(r23) -/* 800A5474 38 77 2F 5C */ addi r3, r23, 0x2f5c -/* 800A5478 48 10 23 19 */ bl dKy_plight_set__FP15LIGHT_INFLUENCE -/* 800A547C 7E E3 BB 78 */ mr r3, r23 -/* 800A5480 38 80 00 00 */ li r4, 0 -/* 800A5484 4B FF F4 8D */ bl setSelectEquipItem__9daAlink_cFi -/* 800A5488 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800A548C 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800A5490 38 63 01 70 */ addi r3, r3, 0x170 -/* 800A5494 4B FF 85 CD */ bl checkStageName__9daAlink_cFPCc -/* 800A5498 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A549C 40 82 00 34 */ bne lbl_800A54D0 -/* 800A54A0 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800A54A4 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800A54A8 38 63 04 4D */ addi r3, r3, 0x44d -/* 800A54AC 4B FF 85 B5 */ bl checkStageName__9daAlink_cFPCc -/* 800A54B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A54B4 40 82 00 1C */ bne lbl_800A54D0 -/* 800A54B8 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800A54BC 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800A54C0 38 63 01 34 */ addi r3, r3, 0x134 -/* 800A54C4 4B FF 85 9D */ bl checkStageName__9daAlink_cFPCc -/* 800A54C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A54CC 41 82 00 10 */ beq lbl_800A54DC -lbl_800A54D0: -/* 800A54D0 80 17 05 7C */ lwz r0, 0x57c(r23) -/* 800A54D4 64 00 40 00 */ oris r0, r0, 0x4000 -/* 800A54D8 90 17 05 7C */ stw r0, 0x57c(r23) -lbl_800A54DC: -/* 800A54DC 39 61 00 30 */ addi r11, r1, 0x30 -/* 800A54E0 48 2B CD 2D */ bl _restgpr_22 -/* 800A54E4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800A54E8 7C 08 03 A6 */ mtlr r0 -/* 800A54EC 38 21 00 30 */ addi r1, r1, 0x30 -/* 800A54F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procDungeonWarpReadyInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procDungeonWarpReadyInit__9daAlink_cFv.s deleted file mode 100644 index 67db536e77..0000000000 --- a/asm/d/a/d_a_alink/procDungeonWarpReadyInit__9daAlink_cFv.s +++ /dev/null @@ -1,79 +0,0 @@ -lbl_8011EE94: -/* 8011EE94 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011EE98 7C 08 02 A6 */ mflr r0 -/* 8011EE9C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011EEA0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011EEA4 93 C1 00 08 */ stw r30, 8(r1) -/* 8011EEA8 7C 7E 1B 78 */ mr r30, r3 -/* 8011EEAC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011EEB0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011EEB4 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8011EEB8 7F C4 F3 78 */ mr r4, r30 -/* 8011EEBC 38 A0 00 00 */ li r5, 0 -/* 8011EEC0 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 8011EEC4 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 8011EEC8 4B F2 42 A5 */ bl compulsory__14dEvt_control_cFPvPCcUs -/* 8011EECC 2C 03 00 00 */ cmpwi r3, 0 -/* 8011EED0 40 82 00 0C */ bne lbl_8011EEDC -/* 8011EED4 38 60 00 00 */ li r3, 0 -/* 8011EED8 48 00 00 C8 */ b lbl_8011EFA0 -lbl_8011EEDC: -/* 8011EEDC 7F C3 F3 78 */ mr r3, r30 -/* 8011EEE0 38 80 00 25 */ li r4, 0x25 -/* 8011EEE4 4B FA 13 25 */ bl checkItemSetButton__9daAlink_cFi -/* 8011EEE8 2C 03 00 02 */ cmpwi r3, 2 -/* 8011EEEC 41 82 00 30 */ beq lbl_8011EF1C -/* 8011EEF0 38 60 02 77 */ li r3, 0x277 -/* 8011EEF4 38 80 00 00 */ li r4, 0 -/* 8011EEF8 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 8011EEFC 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 8011EF00 7C 06 07 74 */ extsb r6, r0 -/* 8011EF04 38 FE 04 E4 */ addi r7, r30, 0x4e4 -/* 8011EF08 39 00 00 00 */ li r8, 0 -/* 8011EF0C 39 20 FF FF */ li r9, -1 -/* 8011EF10 4B EF AE 89 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 8011EF14 7C 7F 1B 78 */ mr r31, r3 -/* 8011EF18 48 00 00 2C */ b lbl_8011EF44 -lbl_8011EF1C: -/* 8011EF1C 38 60 02 76 */ li r3, 0x276 -/* 8011EF20 38 80 00 02 */ li r4, 2 -/* 8011EF24 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 8011EF28 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 8011EF2C 7C 06 07 74 */ extsb r6, r0 -/* 8011EF30 38 FE 04 E4 */ addi r7, r30, 0x4e4 -/* 8011EF34 39 00 00 00 */ li r8, 0 -/* 8011EF38 39 20 FF FF */ li r9, -1 -/* 8011EF3C 4B EF AE 5D */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 8011EF40 7C 7F 1B 78 */ mr r31, r3 -lbl_8011EF44: -/* 8011EF44 3C 1F 00 01 */ addis r0, r31, 1 -/* 8011EF48 28 00 FF FF */ cmplwi r0, 0xffff -/* 8011EF4C 40 82 00 0C */ bne lbl_8011EF58 -/* 8011EF50 38 60 00 00 */ li r3, 0 -/* 8011EF54 48 00 00 4C */ b lbl_8011EFA0 -lbl_8011EF58: -/* 8011EF58 38 00 00 05 */ li r0, 5 -/* 8011EF5C B0 1E 06 04 */ sth r0, 0x604(r30) -/* 8011EF60 7F C3 F3 78 */ mr r3, r30 -/* 8011EF64 38 80 00 EA */ li r4, 0xea -/* 8011EF68 4B FA 30 05 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8011EF6C 7F C3 F3 78 */ mr r3, r30 -/* 8011EF70 38 80 01 88 */ li r4, 0x188 -/* 8011EF74 4B F8 E0 0D */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 8011EF78 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8011EF7C D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 8011EF80 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 8011EF84 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 8011EF88 93 FE 32 CC */ stw r31, 0x32cc(r30) -/* 8011EF8C 38 00 00 00 */ li r0, 0 -/* 8011EF90 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 8011EF94 7F C3 F3 78 */ mr r3, r30 -/* 8011EF98 4B FA 08 BD */ bl keepItemData__9daAlink_cFv -/* 8011EF9C 38 60 00 01 */ li r3, 1 -lbl_8011EFA0: -/* 8011EFA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011EFA4 83 C1 00 08 */ lwz r30, 8(r1) -/* 8011EFA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011EFAC 7C 08 03 A6 */ mtlr r0 -/* 8011EFB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011EFB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procMasterSwordPullInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procMasterSwordPullInit__9daAlink_cFv.s deleted file mode 100644 index f3ca7cfeae..0000000000 --- a/asm/d/a/d_a_alink/procMasterSwordPullInit__9daAlink_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8011ED18: -/* 8011ED18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011ED1C 7C 08 02 A6 */ mflr r0 -/* 8011ED20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011ED24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011ED28 7C 7F 1B 78 */ mr r31, r3 -/* 8011ED2C 38 80 00 E9 */ li r4, 0xe9 -/* 8011ED30 4B FA 40 75 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8011ED34 2C 03 00 00 */ cmpwi r3, 0 -/* 8011ED38 40 82 00 0C */ bne lbl_8011ED44 -/* 8011ED3C 38 60 00 00 */ li r3, 0 -/* 8011ED40 48 00 00 38 */ b lbl_8011ED78 -lbl_8011ED44: -/* 8011ED44 7F E3 FB 78 */ mr r3, r31 -/* 8011ED48 38 80 01 91 */ li r4, 0x191 -/* 8011ED4C 4B F8 E2 35 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 8011ED50 7F E3 FB 78 */ mr r3, r31 -/* 8011ED54 3C 80 00 01 */ lis r4, 0x0001 /* 0x000100A4@ha */ -/* 8011ED58 38 84 00 A4 */ addi r4, r4, 0x00A4 /* 0x000100A4@l */ -/* 8011ED5C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8011ED60 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8011ED64 7D 89 03 A6 */ mtctr r12 -/* 8011ED68 4E 80 04 21 */ bctrl -/* 8011ED6C 38 00 00 00 */ li r0, 0 -/* 8011ED70 B0 1F 30 10 */ sth r0, 0x3010(r31) -/* 8011ED74 38 60 00 01 */ li r3, 1 -lbl_8011ED78: -/* 8011ED78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011ED7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011ED80 7C 08 03 A6 */ mtlr r0 -/* 8011ED84 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011ED88 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procMasterSwordStickInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procMasterSwordStickInit__9daAlink_cFv.s deleted file mode 100644 index 701ed65b0c..0000000000 --- a/asm/d/a/d_a_alink/procMasterSwordStickInit__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8011EBDC: -/* 8011EBDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011EBE0 7C 08 02 A6 */ mflr r0 -/* 8011EBE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011EBE8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011EBEC 7C 7F 1B 78 */ mr r31, r3 -/* 8011EBF0 38 80 00 E8 */ li r4, 0xe8 -/* 8011EBF4 4B FA 41 B1 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8011EBF8 2C 03 00 00 */ cmpwi r3, 0 -/* 8011EBFC 40 82 00 0C */ bne lbl_8011EC08 -/* 8011EC00 38 60 00 00 */ li r3, 0 -/* 8011EC04 48 00 00 48 */ b lbl_8011EC4C -lbl_8011EC08: -/* 8011EC08 7F E3 FB 78 */ mr r3, r31 -/* 8011EC0C 38 80 01 8F */ li r4, 0x18f -/* 8011EC10 4B F8 E3 71 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 8011EC14 7F E3 FB 78 */ mr r3, r31 -/* 8011EC18 3C 80 00 01 */ lis r4, 0x0001 /* 0x000100A3@ha */ -/* 8011EC1C 38 84 00 A3 */ addi r4, r4, 0x00A3 /* 0x000100A3@l */ -/* 8011EC20 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8011EC24 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8011EC28 7D 89 03 A6 */ mtctr r12 -/* 8011EC2C 4E 80 04 21 */ bctrl -/* 8011EC30 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8011EC34 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8011EC38 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8011EC3C B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8011EC40 38 00 00 00 */ li r0, 0 -/* 8011EC44 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 8011EC48 38 60 00 01 */ li r3, 1 -lbl_8011EC4C: -/* 8011EC4C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011EC50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011EC54 7C 08 03 A6 */ mtlr r0 -/* 8011EC58 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011EC5C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procMasterSwordStick__9daAlink_cFv.s b/asm/d/a/d_a_alink/procMasterSwordStick__9daAlink_cFv.s deleted file mode 100644 index 6e553369ec..0000000000 --- a/asm/d/a/d_a_alink/procMasterSwordStick__9daAlink_cFv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8011EC60: -/* 8011EC60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011EC64 7C 08 02 A6 */ mflr r0 -/* 8011EC68 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011EC6C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011EC70 93 C1 00 08 */ stw r30, 8(r1) -/* 8011EC74 7C 7E 1B 78 */ mr r30, r3 -/* 8011EC78 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8011EC7C A8 03 30 0C */ lha r0, 0x300c(r3) -/* 8011EC80 2C 00 00 00 */ cmpwi r0, 0 -/* 8011EC84 41 82 00 1C */ beq lbl_8011ECA0 -/* 8011EC88 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011EC8C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011EC90 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8011EC94 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 8011EC98 4B F2 94 E5 */ bl cutEnd__16dEvent_manager_cFi -/* 8011EC9C 48 00 00 60 */ b lbl_8011ECFC -lbl_8011ECA0: -/* 8011ECA0 7F E3 FB 78 */ mr r3, r31 -/* 8011ECA4 48 03 F8 29 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8011ECA8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8011ECAC 41 82 00 34 */ beq lbl_8011ECE0 -/* 8011ECB0 38 00 00 01 */ li r0, 1 -/* 8011ECB4 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 8011ECB8 7F C3 F3 78 */ mr r3, r30 -/* 8011ECBC 38 80 01 90 */ li r4, 0x190 -/* 8011ECC0 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 8011ECC4 4B F8 E2 ED */ bl setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf -/* 8011ECC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011ECCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011ECD0 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8011ECD4 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 8011ECD8 4B F2 94 A5 */ bl cutEnd__16dEvent_manager_cFi -/* 8011ECDC 48 00 00 20 */ b lbl_8011ECFC -lbl_8011ECE0: -/* 8011ECE0 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8011ECE4 C0 02 94 28 */ lfs f0, lit_14621(r2) -/* 8011ECE8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8011ECEC 4C 41 13 82 */ cror 2, 1, 2 -/* 8011ECF0 40 82 00 0C */ bne lbl_8011ECFC -/* 8011ECF4 38 00 00 05 */ li r0, 5 -/* 8011ECF8 98 1E 2F 93 */ stb r0, 0x2f93(r30) -lbl_8011ECFC: -/* 8011ECFC 38 60 00 01 */ li r3, 1 -/* 8011ED00 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011ED04 83 C1 00 08 */ lwz r30, 8(r1) -/* 8011ED08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011ED0C 7C 08 03 A6 */ mtlr r0 -/* 8011ED10 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011ED14 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/returnKeepItemData__9daAlink_cFv.s b/asm/d/a/d_a_alink/returnKeepItemData__9daAlink_cFv.s deleted file mode 100644 index fefd54850a..0000000000 --- a/asm/d/a/d_a_alink/returnKeepItemData__9daAlink_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_800BF884: -/* 800BF884 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF888 7C 08 02 A6 */ mflr r0 -/* 800BF88C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF890 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BF894 7C 7F 1B 78 */ mr r31, r3 -/* 800BF898 38 80 00 00 */ li r4, 0 -/* 800BF89C 38 A0 00 00 */ li r5, 0 -/* 800BF8A0 48 00 1A 3D */ bl deleteEquipItem__9daAlink_cFii -/* 800BF8A4 A0 1F 30 CE */ lhz r0, 0x30ce(r31) -/* 800BF8A8 B0 1F 2F DC */ sth r0, 0x2fdc(r31) -/* 800BF8AC 38 00 00 FF */ li r0, 0xff -/* 800BF8B0 B0 1F 30 CE */ sth r0, 0x30ce(r31) -/* 800BF8B4 7F E3 FB 78 */ mr r3, r31 -/* 800BF8B8 48 00 04 BD */ bl makeItemType__9daAlink_cFv -/* 800BF8BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BF8C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF8C4 7C 08 03 A6 */ mtlr r0 -/* 800BF8C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF8CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM.s b/asm/d/a/d_a_alink/setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM.s deleted file mode 100644 index aa1a2c555b..0000000000 --- a/asm/d/a/d_a_alink/setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_800AA2BC: -/* 800AA2BC 1C A4 00 0C */ mulli r5, r4, 0xc -/* 800AA2C0 3C 80 80 39 */ lis r4, m_anmDataTable__9daAlink_c@ha /* 0x8038FCA8@ha */ -/* 800AA2C4 38 04 FC A8 */ addi r0, r4, m_anmDataTable__9daAlink_c@l /* 0x8038FCA8@l */ -/* 800AA2C8 7C 80 2A 14 */ add r4, r0, r5 -/* 800AA2CC 88 04 00 04 */ lbz r0, 4(r4) -/* 800AA2D0 98 03 2F 92 */ stb r0, 0x2f92(r3) -/* 800AA2D4 88 04 00 05 */ lbz r0, 5(r4) -/* 800AA2D8 98 03 2F 93 */ stb r0, 0x2f93(r3) -/* 800AA2DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setItemModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/setItemModel__9daAlink_cFv.s deleted file mode 100644 index c78658fc33..0000000000 --- a/asm/d/a/d_a_alink/setItemModel__9daAlink_cFv.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_800BF8D0: -/* 800BF8D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF8D4 7C 08 02 A6 */ mflr r0 -/* 800BF8D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF8DC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BF8E0 7C 7F 1B 78 */ mr r31, r3 -/* 800BF8E4 A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 800BF8E8 48 09 F2 A9 */ bl checkBowItem__9daPy_py_cFi -/* 800BF8EC 2C 03 00 00 */ cmpwi r3, 0 -/* 800BF8F0 41 82 00 14 */ beq lbl_800BF904 -/* 800BF8F4 7F E3 FB 78 */ mr r3, r31 -/* 800BF8F8 48 02 01 F1 */ bl setBowModel__9daAlink_cFv -/* 800BF8FC 38 60 00 01 */ li r3, 1 -/* 800BF900 48 00 00 DC */ b lbl_800BF9DC -lbl_800BF904: -/* 800BF904 A0 9F 2F DC */ lhz r4, 0x2fdc(r31) -/* 800BF908 28 04 00 4B */ cmplwi r4, 0x4b -/* 800BF90C 40 82 00 14 */ bne lbl_800BF920 -/* 800BF910 7F E3 FB 78 */ mr r3, r31 -/* 800BF914 48 01 EE C1 */ bl setSlingModel__9daAlink_cFv -/* 800BF918 38 60 00 01 */ li r3, 1 -/* 800BF91C 48 00 00 C0 */ b lbl_800BF9DC -lbl_800BF920: -/* 800BF920 28 04 00 46 */ cmplwi r4, 0x46 -/* 800BF924 40 82 00 1C */ bne lbl_800BF940 -/* 800BF928 7F E3 FB 78 */ mr r3, r31 -/* 800BF92C 48 02 1E 1D */ bl setCopyRodModel__9daAlink_cFv -/* 800BF930 80 7F 28 40 */ lwz r3, 0x2840(r31) -/* 800BF934 30 03 FF FF */ addic r0, r3, -1 -/* 800BF938 7C 60 19 10 */ subfe r3, r0, r3 -/* 800BF93C 48 00 00 A0 */ b lbl_800BF9DC -lbl_800BF940: -/* 800BF940 28 04 00 48 */ cmplwi r4, 0x48 -/* 800BF944 40 82 00 14 */ bne lbl_800BF958 -/* 800BF948 7F E3 FB 78 */ mr r3, r31 -/* 800BF94C 48 05 15 39 */ bl setKandelaarModel__9daAlink_cFv -/* 800BF950 38 60 00 01 */ li r3, 1 -/* 800BF954 48 00 00 88 */ b lbl_800BF9DC -lbl_800BF958: -/* 800BF958 28 04 00 60 */ cmplwi r4, 0x60 -/* 800BF95C 40 82 00 14 */ bne lbl_800BF970 -/* 800BF960 7F E3 FB 78 */ mr r3, r31 -/* 800BF964 48 04 EC 75 */ bl setBottleModel__9daAlink_cFUs -/* 800BF968 38 60 00 01 */ li r3, 1 -/* 800BF96C 48 00 00 70 */ b lbl_800BF9DC -lbl_800BF970: -/* 800BF970 7C 83 23 78 */ mr r3, r4 -/* 800BF974 48 09 F2 45 */ bl checkHookshotItem__9daPy_py_cFi -/* 800BF978 2C 03 00 00 */ cmpwi r3, 0 -/* 800BF97C 41 82 00 14 */ beq lbl_800BF990 -/* 800BF980 7F E3 FB 78 */ mr r3, r31 -/* 800BF984 48 04 91 B1 */ bl setHookshotModel__9daAlink_cFv -/* 800BF988 38 60 00 01 */ li r3, 1 -/* 800BF98C 48 00 00 50 */ b lbl_800BF9DC -lbl_800BF990: -/* 800BF990 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800BF994 28 00 01 03 */ cmplwi r0, 0x103 -/* 800BF998 40 82 00 14 */ bne lbl_800BF9AC -/* 800BF99C 7F E3 FB 78 */ mr r3, r31 -/* 800BF9A0 48 01 18 C9 */ bl setSwordModel__9daAlink_cFv -/* 800BF9A4 38 60 00 01 */ li r3, 1 -/* 800BF9A8 48 00 00 34 */ b lbl_800BF9DC -lbl_800BF9AC: -/* 800BF9AC 28 00 00 42 */ cmplwi r0, 0x42 -/* 800BF9B0 40 82 00 28 */ bne lbl_800BF9D8 -/* 800BF9B4 7F E3 FB 78 */ mr r3, r31 -/* 800BF9B8 48 05 2E 39 */ bl setIronBallModel__9daAlink_cFv -/* 800BF9BC 7F E3 FB 78 */ mr r3, r31 -/* 800BF9C0 38 80 00 01 */ li r4, 1 -/* 800BF9C4 48 05 2B A5 */ bl setIronBallWaitUpperAnime__9daAlink_cFi -/* 800BF9C8 80 7F 28 28 */ lwz r3, 0x2828(r31) -/* 800BF9CC 30 03 FF FF */ addic r0, r3, -1 -/* 800BF9D0 7C 60 19 10 */ subfe r3, r0, r3 -/* 800BF9D4 48 00 00 08 */ b lbl_800BF9DC -lbl_800BF9D8: -/* 800BF9D8 38 60 00 00 */ li r3, 0 -lbl_800BF9DC: -/* 800BF9DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BF9E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF9E4 7C 08 03 A6 */ mtlr r0 -/* 800BF9E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF9EC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setRollJump__9daAlink_cFffs.s b/asm/d/a/d_a_alink/setRollJump__9daAlink_cFffs.s deleted file mode 100644 index d5fa71d265..0000000000 --- a/asm/d/a/d_a_alink/setRollJump__9daAlink_cFffs.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800A87D8: -/* 800A87D8 D0 23 34 10 */ stfs f1, 0x3410(r3) -/* 800A87DC D0 43 34 14 */ stfs f2, 0x3414(r3) -/* 800A87E0 B0 83 30 EE */ sth r4, 0x30ee(r3) -/* 800A87E4 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800A87E8 60 00 01 00 */ ori r0, r0, 0x100 -/* 800A87EC 90 03 05 88 */ stw r0, 0x588(r3) -/* 800A87F0 38 60 00 01 */ li r3, 1 -/* 800A87F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSelectEquipItem__9daAlink_cFi.s b/asm/d/a/d_a_alink/setSelectEquipItem__9daAlink_cFi.s deleted file mode 100644 index ac2eff868c..0000000000 --- a/asm/d/a/d_a_alink/setSelectEquipItem__9daAlink_cFi.s +++ /dev/null @@ -1,195 +0,0 @@ -lbl_800A4910: -/* 800A4910 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A4914 7C 08 02 A6 */ mflr r0 -/* 800A4918 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A491C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A4920 48 2B D8 B9 */ bl _savegpr_28 -/* 800A4924 7C 7C 1B 78 */ mr r28, r3 -/* 800A4928 7C 9D 23 78 */ mr r29, r4 -/* 800A492C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800A4930 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A4934 40 82 01 C0 */ bne lbl_800A4AF4 -/* 800A4938 83 DC 06 B8 */ lwz r30, 0x6b8(r28) -/* 800A493C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A4940 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A4944 88 1F 00 14 */ lbz r0, 0x14(r31) -/* 800A4948 28 00 00 3F */ cmplwi r0, 0x3f -/* 800A494C 40 82 00 18 */ bne lbl_800A4964 -/* 800A4950 80 1C 06 70 */ lwz r0, 0x670(r28) -/* 800A4954 90 1C 06 B8 */ stw r0, 0x6b8(r28) -/* 800A4958 80 1C 06 6C */ lwz r0, 0x66c(r28) -/* 800A495C 90 1C 06 BC */ stw r0, 0x6bc(r28) -/* 800A4960 48 00 00 48 */ b lbl_800A49A8 -lbl_800A4964: -/* 800A4964 48 0B AA 35 */ bl checkMasterSwordEquip__9daPy_py_cFv -/* 800A4968 2C 03 00 00 */ cmpwi r3, 0 -/* 800A496C 41 82 00 18 */ beq lbl_800A4984 -/* 800A4970 80 1C 06 68 */ lwz r0, 0x668(r28) -/* 800A4974 90 1C 06 B8 */ stw r0, 0x6b8(r28) -/* 800A4978 80 1C 06 6C */ lwz r0, 0x66c(r28) -/* 800A497C 90 1C 06 BC */ stw r0, 0x6bc(r28) -/* 800A4980 48 00 00 28 */ b lbl_800A49A8 -lbl_800A4984: -/* 800A4984 88 1F 00 14 */ lbz r0, 0x14(r31) -/* 800A4988 28 00 00 FF */ cmplwi r0, 0xff -/* 800A498C 40 82 00 0C */ bne lbl_800A4998 -/* 800A4990 38 00 00 64 */ li r0, 0x64 -/* 800A4994 98 1C 2F D6 */ stb r0, 0x2fd6(r28) -lbl_800A4998: -/* 800A4998 80 1C 06 60 */ lwz r0, 0x660(r28) -/* 800A499C 90 1C 06 B8 */ stw r0, 0x6b8(r28) -/* 800A49A0 80 1C 06 64 */ lwz r0, 0x664(r28) -/* 800A49A4 90 1C 06 BC */ stw r0, 0x6bc(r28) -lbl_800A49A8: -/* 800A49A8 88 1F 00 14 */ lbz r0, 0x14(r31) -/* 800A49AC 28 00 00 FF */ cmplwi r0, 0xff -/* 800A49B0 41 82 00 18 */ beq lbl_800A49C8 -/* 800A49B4 28 00 00 3F */ cmplwi r0, 0x3f -/* 800A49B8 41 82 00 10 */ beq lbl_800A49C8 -/* 800A49BC 80 1C 05 7C */ lwz r0, 0x57c(r28) -/* 800A49C0 54 00 01 CF */ rlwinm. r0, r0, 0, 7, 7 -/* 800A49C4 41 82 00 20 */ beq lbl_800A49E4 -lbl_800A49C8: -/* 800A49C8 80 7C 06 EC */ lwz r3, 0x6ec(r28) -/* 800A49CC 28 03 00 00 */ cmplwi r3, 0 -/* 800A49D0 41 82 00 2C */ beq lbl_800A49FC -/* 800A49D4 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A49D8 60 00 00 01 */ ori r0, r0, 1 -/* 800A49DC 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A49E0 48 00 00 1C */ b lbl_800A49FC -lbl_800A49E4: -/* 800A49E4 80 7C 06 EC */ lwz r3, 0x6ec(r28) -/* 800A49E8 28 03 00 00 */ cmplwi r3, 0 -/* 800A49EC 41 82 00 10 */ beq lbl_800A49FC -/* 800A49F0 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A49F4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800A49F8 90 03 00 0C */ stw r0, 0xc(r3) -lbl_800A49FC: -/* 800A49FC 88 1C 2F BF */ lbz r0, 0x2fbf(r28) -/* 800A4A00 28 00 00 00 */ cmplwi r0, 0 -/* 800A4A04 40 82 01 20 */ bne lbl_800A4B24 -/* 800A4A08 80 7C 06 B8 */ lwz r3, 0x6b8(r28) -/* 800A4A0C 7C 1E 18 40 */ cmplw r30, r3 -/* 800A4A10 40 82 00 10 */ bne lbl_800A4A20 -/* 800A4A14 80 1C 05 78 */ lwz r0, 0x578(r28) -/* 800A4A18 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 800A4A1C 41 82 01 08 */ beq lbl_800A4B24 -lbl_800A4A20: -/* 800A4A20 7C 1E 18 40 */ cmplw r30, r3 -/* 800A4A24 41 82 00 0C */ beq lbl_800A4A30 -/* 800A4A28 38 00 00 05 */ li r0, 5 -/* 800A4A2C 98 1C 2F D6 */ stb r0, 0x2fd6(r28) -lbl_800A4A30: -/* 800A4A30 88 1F 00 14 */ lbz r0, 0x14(r31) -/* 800A4A34 28 00 00 3F */ cmplwi r0, 0x3f -/* 800A4A38 40 82 00 60 */ bne lbl_800A4A98 -/* 800A4A3C A0 1C 2F DC */ lhz r0, 0x2fdc(r28) -/* 800A4A40 28 00 01 03 */ cmplwi r0, 0x103 -/* 800A4A44 41 82 00 0C */ beq lbl_800A4A50 -/* 800A4A48 2C 1D 00 00 */ cmpwi r29, 0 -/* 800A4A4C 41 82 00 28 */ beq lbl_800A4A74 -lbl_800A4A50: -/* 800A4A50 80 7C 06 B8 */ lwz r3, 0x6b8(r28) -/* 800A4A54 80 63 00 04 */ lwz r3, 4(r3) -/* 800A4A58 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800A4A5C 80 63 00 04 */ lwz r3, 4(r3) -/* 800A4A60 80 63 00 08 */ lwz r3, 8(r3) -/* 800A4A64 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4A68 60 00 00 01 */ ori r0, r0, 1 -/* 800A4A6C 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A4A70 48 00 00 B4 */ b lbl_800A4B24 -lbl_800A4A74: -/* 800A4A74 80 7C 06 B8 */ lwz r3, 0x6b8(r28) -/* 800A4A78 80 63 00 04 */ lwz r3, 4(r3) -/* 800A4A7C 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800A4A80 80 63 00 04 */ lwz r3, 4(r3) -/* 800A4A84 80 63 00 08 */ lwz r3, 8(r3) -/* 800A4A88 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4A8C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800A4A90 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A4A94 48 00 00 90 */ b lbl_800A4B24 -lbl_800A4A98: -/* 800A4A98 A0 1C 2F DC */ lhz r0, 0x2fdc(r28) -/* 800A4A9C 28 00 01 03 */ cmplwi r0, 0x103 -/* 800A4AA0 41 82 00 0C */ beq lbl_800A4AAC -/* 800A4AA4 2C 1D 00 00 */ cmpwi r29, 0 -/* 800A4AA8 41 82 00 28 */ beq lbl_800A4AD0 -lbl_800A4AAC: -/* 800A4AAC 80 7C 06 B8 */ lwz r3, 0x6b8(r28) -/* 800A4AB0 80 63 00 04 */ lwz r3, 4(r3) -/* 800A4AB4 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800A4AB8 80 63 00 00 */ lwz r3, 0(r3) -/* 800A4ABC 80 63 00 08 */ lwz r3, 8(r3) -/* 800A4AC0 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4AC4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800A4AC8 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A4ACC 48 00 00 58 */ b lbl_800A4B24 -lbl_800A4AD0: -/* 800A4AD0 80 7C 06 B8 */ lwz r3, 0x6b8(r28) -/* 800A4AD4 80 63 00 04 */ lwz r3, 4(r3) -/* 800A4AD8 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800A4ADC 80 63 00 00 */ lwz r3, 0(r3) -/* 800A4AE0 80 63 00 08 */ lwz r3, 8(r3) -/* 800A4AE4 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4AE8 60 00 00 01 */ ori r0, r0, 1 -/* 800A4AEC 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A4AF0 48 00 00 34 */ b lbl_800A4B24 -lbl_800A4AF4: -/* 800A4AF4 48 0B A8 A5 */ bl checkMasterSwordEquip__9daPy_py_cFv -/* 800A4AF8 2C 03 00 00 */ cmpwi r3, 0 -/* 800A4AFC 41 82 00 18 */ beq lbl_800A4B14 -/* 800A4B00 80 1C 06 68 */ lwz r0, 0x668(r28) -/* 800A4B04 90 1C 06 B8 */ stw r0, 0x6b8(r28) -/* 800A4B08 80 1C 06 6C */ lwz r0, 0x66c(r28) -/* 800A4B0C 90 1C 06 BC */ stw r0, 0x6bc(r28) -/* 800A4B10 48 00 00 14 */ b lbl_800A4B24 -lbl_800A4B14: -/* 800A4B14 80 1C 06 60 */ lwz r0, 0x660(r28) -/* 800A4B18 90 1C 06 B8 */ stw r0, 0x6b8(r28) -/* 800A4B1C 80 1C 06 64 */ lwz r0, 0x664(r28) -/* 800A4B20 90 1C 06 BC */ stw r0, 0x6bc(r28) -lbl_800A4B24: -/* 800A4B24 88 1C 2F BF */ lbz r0, 0x2fbf(r28) -/* 800A4B28 28 00 00 00 */ cmplwi r0, 0 -/* 800A4B2C 40 82 00 84 */ bne lbl_800A4BB0 -/* 800A4B30 7F 83 E3 78 */ mr r3, r28 -/* 800A4B34 48 01 B2 7D */ bl checkZoraWearAbility__9daAlink_cCFv -/* 800A4B38 2C 03 00 00 */ cmpwi r3, 0 -/* 800A4B3C 41 82 00 64 */ beq lbl_800A4BA0 -/* 800A4B40 7F 83 E3 78 */ mr r3, r28 -/* 800A4B44 48 05 CD 4D */ bl checkZoraWearMaskDraw__9daAlink_cFv -/* 800A4B48 2C 03 00 00 */ cmpwi r3, 0 -/* 800A4B4C 41 82 00 34 */ beq lbl_800A4B80 -/* 800A4B50 80 7C 06 F0 */ lwz r3, 0x6f0(r28) -/* 800A4B54 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4B58 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800A4B5C 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A4B60 80 1C 05 70 */ lwz r0, 0x570(r28) -/* 800A4B64 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A4B68 40 82 00 38 */ bne lbl_800A4BA0 -/* 800A4B6C 80 7C 06 E4 */ lwz r3, 0x6e4(r28) -/* 800A4B70 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4B74 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800A4B78 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A4B7C 48 00 00 24 */ b lbl_800A4BA0 -lbl_800A4B80: -/* 800A4B80 80 7C 06 F0 */ lwz r3, 0x6f0(r28) -/* 800A4B84 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4B88 60 00 00 01 */ ori r0, r0, 1 -/* 800A4B8C 90 03 00 0C */ stw r0, 0xc(r3) -/* 800A4B90 80 7C 06 E4 */ lwz r3, 0x6e4(r28) -/* 800A4B94 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800A4B98 60 00 00 01 */ ori r0, r0, 1 -/* 800A4B9C 90 03 00 0C */ stw r0, 0xc(r3) -lbl_800A4BA0: -/* 800A4BA0 80 7C 06 7C */ lwz r3, 0x67c(r28) -/* 800A4BA4 48 00 46 A5 */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -/* 800A4BA8 80 7C 06 80 */ lwz r3, 0x680(r28) -/* 800A4BAC 48 00 46 9D */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -lbl_800A4BB0: -/* 800A4BB0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A4BB4 48 2B D6 71 */ bl _restgpr_28 -/* 800A4BB8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A4BBC 7C 08 03 A6 */ mtlr r0 -/* 800A4BC0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A4BC4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfGp_setNextStage__FPCcsScScfUliScsii.s b/asm/d/com/d_com_inf_game/dComIfGp_setNextStage__FPCcsScScfUliScsii.s deleted file mode 100644 index fb1941b83d..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfGp_setNextStage__FPCcsScScfUliScsii.s +++ /dev/null @@ -1,166 +0,0 @@ -lbl_8002D2FC: -/* 8002D2FC 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 8002D300 7C 08 02 A6 */ mflr r0 -/* 8002D304 90 01 00 74 */ stw r0, 0x74(r1) -/* 8002D308 DB E1 00 60 */ stfd f31, 0x60(r1) -/* 8002D30C F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */ -/* 8002D310 39 61 00 60 */ addi r11, r1, 0x60 -/* 8002D314 48 33 4E A9 */ bl _savegpr_21 -/* 8002D318 7C 77 1B 78 */ mr r23, r3 -/* 8002D31C 7C 98 23 78 */ mr r24, r4 -/* 8002D320 7C B9 2B 78 */ mr r25, r5 -/* 8002D324 7C DA 33 78 */ mr r26, r6 -/* 8002D328 FF E0 08 90 */ fmr f31, f1 -/* 8002D32C 90 E1 00 08 */ stw r7, 8(r1) -/* 8002D330 7D 1B 43 78 */ mr r27, r8 -/* 8002D334 7D 3C 4B 78 */ mr r28, r9 -/* 8002D338 7D 5D 53 78 */ mr r29, r10 -/* 8002D33C 83 C1 00 7C */ lwz r30, 0x7c(r1) -/* 8002D340 7F 40 07 74 */ extsb r0, r26 -/* 8002D344 2C 00 00 0F */ cmpwi r0, 0xf -/* 8002D348 41 80 00 08 */ blt lbl_8002D350 -/* 8002D34C 3B 40 FF FF */ li r26, -1 -lbl_8002D350: -/* 8002D350 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002D354 3A C3 61 C0 */ addi r22, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002D358 3B F6 00 64 */ addi r31, r22, 0x64 -/* 8002D35C 88 16 00 7C */ lbz r0, 0x7c(r22) -/* 8002D360 28 00 00 00 */ cmplwi r0, 0 -/* 8002D364 41 82 00 68 */ beq lbl_8002D3CC -/* 8002D368 80 76 5D B4 */ lwz r3, 0x5db4(r22) -/* 8002D36C 28 03 00 00 */ cmplwi r3, 0 -/* 8002D370 41 82 00 5C */ beq lbl_8002D3CC -/* 8002D374 88 03 04 E2 */ lbz r0, 0x4e2(r3) -/* 8002D378 7C 15 07 74 */ extsb r21, r0 -/* 8002D37C 38 61 00 0C */ addi r3, r1, 0xc -/* 8002D380 48 01 1A DD */ bl getMapPlayerPos__10dMapInfo_nFv -/* 8002D384 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8002D388 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8002D38C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8002D390 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8002D394 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8002D398 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8002D39C 80 76 5D B4 */ lwz r3, 0x5db4(r22) -/* 8002D3A0 AA C3 04 E6 */ lha r22, 0x4e6(r3) -/* 8002D3A4 48 00 1A BD */ bl dComIfGp_getNowLevel__Fv -/* 8002D3A8 7C 68 1B 78 */ mr r8, r3 -/* 8002D3AC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002D3B0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002D3B4 38 83 4E 00 */ addi r4, r3, 0x4e00 -/* 8002D3B8 7F E3 FB 78 */ mr r3, r31 -/* 8002D3BC 38 A1 00 18 */ addi r5, r1, 0x18 -/* 8002D3C0 7E C6 B3 78 */ mr r6, r22 -/* 8002D3C4 7E A7 AB 78 */ mr r7, r21 -/* 8002D3C8 48 00 5A 19 */ bl set__33dSv_player_field_last_stay_info_cFPCcRC4cXyzsScUc -lbl_8002D3CC: -/* 8002D3CC 7E E3 BB 78 */ mr r3, r23 -/* 8002D3D0 3C 80 80 38 */ lis r4, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002D3D4 38 84 8F 38 */ addi r4, r4, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002D3D8 38 84 00 AD */ addi r4, r4, 0xad -/* 8002D3DC 48 33 B5 B9 */ bl strcmp -/* 8002D3E0 2C 03 00 00 */ cmpwi r3, 0 -/* 8002D3E4 40 82 00 40 */ bne lbl_8002D424 -/* 8002D3E8 7F 20 07 74 */ extsb r0, r25 -/* 8002D3EC 2C 00 00 0D */ cmpwi r0, 0xd -/* 8002D3F0 40 82 00 34 */ bne lbl_8002D424 -/* 8002D3F4 7F 00 07 34 */ extsh r0, r24 -/* 8002D3F8 2C 00 00 63 */ cmpwi r0, 0x63 -/* 8002D3FC 41 82 00 0C */ beq lbl_8002D408 -/* 8002D400 2C 00 00 62 */ cmpwi r0, 0x62 -/* 8002D404 40 82 00 20 */ bne lbl_8002D424 -lbl_8002D408: -/* 8002D408 7F 40 07 74 */ extsb r0, r26 -/* 8002D40C 2C 00 00 02 */ cmpwi r0, 2 -/* 8002D410 40 82 00 14 */ bne lbl_8002D424 -/* 8002D414 38 60 00 06 */ li r3, 6 -/* 8002D418 38 80 00 02 */ li r4, 2 -/* 8002D41C 48 00 1C 25 */ bl dComIfGs_setKeyNum__FiUc -/* 8002D420 48 00 00 10 */ b lbl_8002D430 -lbl_8002D424: -/* 8002D424 38 60 00 06 */ li r3, 6 -/* 8002D428 38 80 00 00 */ li r4, 0 -/* 8002D42C 48 00 1C 15 */ bl dComIfGs_setKeyNum__FiUc -lbl_8002D430: -/* 8002D430 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002D434 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002D438 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8002D43C 28 03 00 00 */ cmplwi r3, 0 -/* 8002D440 41 82 00 0C */ beq lbl_8002D44C -/* 8002D444 38 81 00 08 */ addi r4, r1, 8 -/* 8002D448 48 09 0A 01 */ bl setLastSceneMode__9daAlink_cFPUl -lbl_8002D44C: -/* 8002D44C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8002D450 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8002D454 3A A3 00 E9 */ addi r21, r3, 0xe9 -/* 8002D458 7E A3 AB 78 */ mr r3, r21 -/* 8002D45C 3C 80 80 38 */ lis r4, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002D460 38 84 8F 38 */ addi r4, r4, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002D464 38 84 01 51 */ addi r4, r4, 0x151 -/* 8002D468 48 33 B5 2D */ bl strcmp -/* 8002D46C 2C 03 00 00 */ cmpwi r3, 0 -/* 8002D470 41 82 00 30 */ beq lbl_8002D4A0 -/* 8002D474 7E E3 BB 78 */ mr r3, r23 -/* 8002D478 7E A4 AB 78 */ mr r4, r21 -/* 8002D47C 48 33 B5 19 */ bl strcmp -/* 8002D480 2C 03 00 00 */ cmpwi r3, 0 -/* 8002D484 41 82 00 1C */ beq lbl_8002D4A0 -/* 8002D488 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8002D48C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8002D490 3C 80 80 38 */ lis r4, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002D494 38 84 8F 38 */ addi r4, r4, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002D498 38 84 01 51 */ addi r4, r4, 0x151 -/* 8002D49C 48 1F 0D F5 */ bl setSaveStageName__13dMeter2Info_cFPCc -lbl_8002D4A0: -/* 8002D4A0 2C 1E 00 02 */ cmpwi r30, 2 -/* 8002D4A4 41 82 00 34 */ beq lbl_8002D4D8 -/* 8002D4A8 40 80 00 14 */ bge lbl_8002D4BC -/* 8002D4AC 2C 1E 00 00 */ cmpwi r30, 0 -/* 8002D4B0 41 82 00 18 */ beq lbl_8002D4C8 -/* 8002D4B4 40 80 00 1C */ bge lbl_8002D4D0 -/* 8002D4B8 48 00 00 30 */ b lbl_8002D4E8 -lbl_8002D4BC: -/* 8002D4BC 2C 1E 00 04 */ cmpwi r30, 4 -/* 8002D4C0 40 80 00 28 */ bge lbl_8002D4E8 -/* 8002D4C4 48 00 00 1C */ b lbl_8002D4E0 -lbl_8002D4C8: -/* 8002D4C8 39 20 00 1A */ li r9, 0x1a -/* 8002D4CC 48 00 00 20 */ b lbl_8002D4EC -lbl_8002D4D0: -/* 8002D4D0 39 20 00 0D */ li r9, 0xd -/* 8002D4D4 48 00 00 18 */ b lbl_8002D4EC -lbl_8002D4D8: -/* 8002D4D8 39 20 00 06 */ li r9, 6 -/* 8002D4DC 48 00 00 10 */ b lbl_8002D4EC -lbl_8002D4E0: -/* 8002D4E0 39 20 00 01 */ li r9, 1 -/* 8002D4E4 48 00 00 08 */ b lbl_8002D4EC -lbl_8002D4E8: -/* 8002D4E8 39 20 00 1A */ li r9, 0x1a -lbl_8002D4EC: -/* 8002D4EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002D4F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002D4F4 38 63 4E 0E */ addi r3, r3, 0x4e0e -/* 8002D4F8 7E E4 BB 78 */ mr r4, r23 -/* 8002D4FC 7F 25 CB 78 */ mr r5, r25 -/* 8002D500 7F 06 C3 78 */ mr r6, r24 -/* 8002D504 7F 47 D3 78 */ mr r7, r26 -/* 8002D508 7F 88 E3 78 */ mr r8, r28 -/* 8002D50C 4B FF 69 1D */ bl set__18dStage_nextStage_cFPCcScsScScUc -/* 8002D510 80 01 00 08 */ lwz r0, 8(r1) -/* 8002D514 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002D518 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002D51C D3 E3 0D CC */ stfs f31, 0xdcc(r3) -/* 8002D520 90 03 0D D0 */ stw r0, 0xdd0(r3) -/* 8002D524 B3 A3 0D D4 */ sth r29, 0xdd4(r3) -/* 8002D528 2C 1B 00 00 */ cmpwi r27, 0 -/* 8002D52C 41 82 00 08 */ beq lbl_8002D534 -/* 8002D530 B3 03 0D B8 */ sth r24, 0xdb8(r3) -lbl_8002D534: -/* 8002D534 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */ -/* 8002D538 CB E1 00 60 */ lfd f31, 0x60(r1) -/* 8002D53C 39 61 00 60 */ addi r11, r1, 0x60 -/* 8002D540 48 33 4C C9 */ bl _restgpr_21 -/* 8002D544 80 01 00 74 */ lwz r0, 0x74(r1) -/* 8002D548 7C 08 03 A6 */ mtlr r0 -/* 8002D54C 38 21 00 70 */ addi r1, r1, 0x70 -/* 8002D550 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/checkMagneA__12daTagMagne_cFv.s b/asm/d/com/d_com_static/checkMagneA__12daTagMagne_cFv.s deleted file mode 100644 index df63ab15b2..0000000000 --- a/asm/d/com/d_com_static/checkMagneA__12daTagMagne_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80031BF4: -/* 80031BF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031BF8 7C 08 02 A6 */ mflr r0 -/* 80031BFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031C00 7C 65 1B 78 */ mr r5, r3 -/* 80031C04 88 83 05 68 */ lbz r4, 0x568(r3) -/* 80031C08 28 04 00 FF */ cmplwi r4, 0xff -/* 80031C0C 41 82 00 20 */ beq lbl_80031C2C -/* 80031C10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031C14 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031C18 88 05 04 BA */ lbz r0, 0x4ba(r5) -/* 80031C1C 7C 05 07 74 */ extsb r5, r0 -/* 80031C20 48 00 37 41 */ bl isSwitch__10dSv_info_cCFii -/* 80031C24 2C 03 00 00 */ cmpwi r3, 0 -/* 80031C28 41 82 00 0C */ beq lbl_80031C34 -lbl_80031C2C: -/* 80031C2C 38 60 00 01 */ li r3, 1 -/* 80031C30 48 00 00 08 */ b lbl_80031C38 -lbl_80031C34: -/* 80031C34 38 60 00 00 */ li r3, 0 -lbl_80031C38: -/* 80031C38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031C3C 7C 08 03 A6 */ mtlr r0 -/* 80031C40 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031C44 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/checkMagneB__12daTagMagne_cFv.s b/asm/d/com/d_com_static/checkMagneB__12daTagMagne_cFv.s deleted file mode 100644 index ab7419fd8a..0000000000 --- a/asm/d/com/d_com_static/checkMagneB__12daTagMagne_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80031C48: -/* 80031C48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031C4C 7C 08 02 A6 */ mflr r0 -/* 80031C50 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031C54 7C 65 1B 78 */ mr r5, r3 -/* 80031C58 88 83 05 69 */ lbz r4, 0x569(r3) -/* 80031C5C 28 04 00 FF */ cmplwi r4, 0xff -/* 80031C60 41 82 00 20 */ beq lbl_80031C80 -/* 80031C64 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031C68 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031C6C 88 05 04 BA */ lbz r0, 0x4ba(r5) -/* 80031C70 7C 05 07 74 */ extsb r5, r0 -/* 80031C74 48 00 36 ED */ bl isSwitch__10dSv_info_cCFii -/* 80031C78 2C 03 00 00 */ cmpwi r3, 0 -/* 80031C7C 41 82 00 0C */ beq lbl_80031C88 -lbl_80031C80: -/* 80031C80 38 60 00 01 */ li r3, 1 -/* 80031C84 48 00 00 08 */ b lbl_80031C8C -lbl_80031C88: -/* 80031C88 38 60 00 00 */ li r3, 0 -lbl_80031C8C: -/* 80031C8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031C90 7C 08 03 A6 */ mtlr r0 -/* 80031C94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031C98 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/checkMagneC__12daTagMagne_cFv.s b/asm/d/com/d_com_static/checkMagneC__12daTagMagne_cFv.s deleted file mode 100644 index f4b39fb2e6..0000000000 --- a/asm/d/com/d_com_static/checkMagneC__12daTagMagne_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80031C9C: -/* 80031C9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031CA0 7C 08 02 A6 */ mflr r0 -/* 80031CA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031CA8 7C 65 1B 78 */ mr r5, r3 -/* 80031CAC 88 83 05 6A */ lbz r4, 0x56a(r3) -/* 80031CB0 28 04 00 FF */ cmplwi r4, 0xff -/* 80031CB4 41 82 00 20 */ beq lbl_80031CD4 -/* 80031CB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031CBC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031CC0 88 05 04 BA */ lbz r0, 0x4ba(r5) -/* 80031CC4 7C 05 07 74 */ extsb r5, r0 -/* 80031CC8 48 00 36 99 */ bl isSwitch__10dSv_info_cCFii -/* 80031CCC 2C 03 00 00 */ cmpwi r3, 0 -/* 80031CD0 41 82 00 0C */ beq lbl_80031CDC -lbl_80031CD4: -/* 80031CD4 38 60 00 01 */ li r3, 1 -/* 80031CD8 48 00 00 08 */ b lbl_80031CE0 -lbl_80031CDC: -/* 80031CDC 38 60 00 00 */ li r3, 0 -lbl_80031CE0: -/* 80031CE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031CE4 7C 08 03 A6 */ mtlr r0 -/* 80031CE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031CEC 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo.s b/asm/d/com/d_com_static/checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo.s deleted file mode 100644 index 2f652c6292..0000000000 --- a/asm/d/com/d_com_static/checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80031B50: -/* 80031B50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031B54 7C 08 02 A6 */ mflr r0 -/* 80031B58 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031B5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80031B60 7C 64 1B 78 */ mr r4, r3 -/* 80031B64 80 0D 88 3C */ lwz r0, mTagMagne__12daTagMagne_c(r13) -/* 80031B68 28 00 00 00 */ cmplwi r0, 0 -/* 80031B6C 40 82 00 0C */ bne lbl_80031B78 -/* 80031B70 38 60 00 00 */ li r3, 0 -/* 80031B74 48 00 00 6C */ b lbl_80031BE0 -lbl_80031B78: -/* 80031B78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031B7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031B80 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80031B84 48 04 31 89 */ bl GetMagnetCode__4dBgSFRC13cBgS_PolyInfo -/* 80031B88 7C 7F 1B 78 */ mr r31, r3 -/* 80031B8C 2C 1F 00 01 */ cmpwi r31, 1 -/* 80031B90 40 82 00 14 */ bne lbl_80031BA4 -/* 80031B94 80 6D 88 3C */ lwz r3, mTagMagne__12daTagMagne_c(r13) -/* 80031B98 48 00 00 5D */ bl checkMagneA__12daTagMagne_cFv -/* 80031B9C 2C 03 00 00 */ cmpwi r3, 0 -/* 80031BA0 40 82 00 34 */ bne lbl_80031BD4 -lbl_80031BA4: -/* 80031BA4 2C 1F 00 02 */ cmpwi r31, 2 -/* 80031BA8 40 82 00 14 */ bne lbl_80031BBC -/* 80031BAC 80 6D 88 3C */ lwz r3, mTagMagne__12daTagMagne_c(r13) -/* 80031BB0 48 00 00 99 */ bl checkMagneB__12daTagMagne_cFv -/* 80031BB4 2C 03 00 00 */ cmpwi r3, 0 -/* 80031BB8 40 82 00 1C */ bne lbl_80031BD4 -lbl_80031BBC: -/* 80031BBC 2C 1F 00 03 */ cmpwi r31, 3 -/* 80031BC0 40 82 00 1C */ bne lbl_80031BDC -/* 80031BC4 80 6D 88 3C */ lwz r3, mTagMagne__12daTagMagne_c(r13) -/* 80031BC8 48 00 00 D5 */ bl checkMagneC__12daTagMagne_cFv -/* 80031BCC 2C 03 00 00 */ cmpwi r3, 0 -/* 80031BD0 41 82 00 0C */ beq lbl_80031BDC -lbl_80031BD4: -/* 80031BD4 38 60 00 01 */ li r3, 1 -/* 80031BD8 48 00 00 08 */ b lbl_80031BE0 -lbl_80031BDC: -/* 80031BDC 38 60 00 00 */ li r3, 0 -lbl_80031BE0: -/* 80031BE0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80031BE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031BE8 7C 08 03 A6 */ mtlr r0 -/* 80031BEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031BF0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/chkSaveFlag__12daObjCarry_cFv.s b/asm/d/com/d_com_static/chkSaveFlag__12daObjCarry_cFv.s deleted file mode 100644 index 52bd56eedc..0000000000 --- a/asm/d/com/d_com_static/chkSaveFlag__12daObjCarry_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80031D10: -/* 80031D10 88 0D 88 41 */ lbz r0, struct_80450DC0+0x1(r13) -/* 80031D14 20 00 00 01 */ subfic r0, r0, 1 -/* 80031D18 7C 00 00 34 */ cntlzw r0, r0 -/* 80031D1C 54 03 D9 7E */ srwi r3, r0, 5 -/* 80031D20 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/chkSttsFlag__12daObjCarry_cFiUc.s b/asm/d/com/d_com_static/chkSttsFlag__12daObjCarry_cFiUc.s deleted file mode 100644 index a11a4f8a06..0000000000 --- a/asm/d/com/d_com_static/chkSttsFlag__12daObjCarry_cFiUc.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80031D8C: -/* 80031D8C 38 AD 88 44 */ la r5, mSttsFlag__12daObjCarry_c(r13) /* 80450DC4-_SDA_BASE_ */ -/* 80031D90 7C 05 18 AE */ lbzx r0, r5, r3 -/* 80031D94 7C 00 20 38 */ and r0, r0, r4 -/* 80031D98 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80031D9C 30 03 FF FF */ addic r0, r3, -1 -/* 80031DA0 7C 00 19 10 */ subfe r0, r0, r3 -/* 80031DA4 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80031DA8 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/clrSaveFlag__12daObjCarry_cFv.s b/asm/d/com/d_com_static/clrSaveFlag__12daObjCarry_cFv.s deleted file mode 100644 index 05b370d83e..0000000000 --- a/asm/d/com/d_com_static/clrSaveFlag__12daObjCarry_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80031CF8: -/* 80031CF8 38 00 00 00 */ li r0, 0 -/* 80031CFC 98 0D 88 41 */ stb r0, struct_80450DC0+0x1(r13) -/* 80031D00 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/getRoomNo__12daObjCarry_cFi.s b/asm/d/com/d_com_static/getRoomNo__12daObjCarry_cFi.s deleted file mode 100644 index e70aeab049..0000000000 --- a/asm/d/com/d_com_static/getRoomNo__12daObjCarry_cFi.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80031DB8: -/* 80031DB8 38 8D 88 4C */ la r4, mRoomNo__12daObjCarry_c(r13) /* 80450DCC-_SDA_BASE_ */ -/* 80031DBC 7C 64 18 AE */ lbzx r3, r4, r3 -/* 80031DC0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/offSttsFlag__12daObjCarry_cFiUc.s b/asm/d/com/d_com_static/offSttsFlag__12daObjCarry_cFiUc.s deleted file mode 100644 index ce0f228e13..0000000000 --- a/asm/d/com/d_com_static/offSttsFlag__12daObjCarry_cFiUc.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80031D78: -/* 80031D78 38 AD 88 44 */ la r5, mSttsFlag__12daObjCarry_c(r13) /* 80450DC4-_SDA_BASE_ */ -/* 80031D7C 7C 05 18 AE */ lbzx r0, r5, r3 -/* 80031D80 7C 00 20 78 */ andc r0, r0, r4 -/* 80031D84 7C 05 19 AE */ stbx r0, r5, r3 -/* 80031D88 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/onSttsFlag__12daObjCarry_cFiUc.s b/asm/d/com/d_com_static/onSttsFlag__12daObjCarry_cFiUc.s deleted file mode 100644 index 393c9e7ae0..0000000000 --- a/asm/d/com/d_com_static/onSttsFlag__12daObjCarry_cFiUc.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80031D64: -/* 80031D64 38 AD 88 44 */ la r5, mSttsFlag__12daObjCarry_c(r13) /* 80450DC4-_SDA_BASE_ */ -/* 80031D68 7C 05 18 AE */ lbzx r0, r5, r3 -/* 80031D6C 7C 00 23 78 */ or r0, r0, r4 -/* 80031D70 7C 05 19 AE */ stbx r0, r5, r3 -/* 80031D74 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/setRoomNo__12daObjCarry_cFiSc.s b/asm/d/com/d_com_static/setRoomNo__12daObjCarry_cFiSc.s deleted file mode 100644 index 04e899d16f..0000000000 --- a/asm/d/com/d_com_static/setRoomNo__12daObjCarry_cFiSc.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80031DAC: -/* 80031DAC 38 AD 88 4C */ la r5, mRoomNo__12daObjCarry_c(r13) /* 80450DCC-_SDA_BASE_ */ -/* 80031DB0 7C 85 19 AE */ stbx r4, r5, r3 -/* 80031DB4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/setSaveFlag__12daObjCarry_cFv.s b/asm/d/com/d_com_static/setSaveFlag__12daObjCarry_cFv.s deleted file mode 100644 index beba77dba2..0000000000 --- a/asm/d/com/d_com_static/setSaveFlag__12daObjCarry_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80031D04: -/* 80031D04 38 00 00 01 */ li r0, 1 -/* 80031D08 98 0D 88 41 */ stb r0, struct_80450DC0+0x1(r13) -/* 80031D0C 4E 80 00 20 */ blr diff --git a/asm/d/d_lib/Yinit__9STControlFv.s b/asm/d/d_lib/Yinit__9STControlFv.s deleted file mode 100644 index 4bbff0e58c..0000000000 --- a/asm/d/d_lib/Yinit__9STControlFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8003212C: -/* 8003212C 38 00 00 00 */ li r0, 0 -/* 80032130 B0 03 00 10 */ sth r0, 0x10(r3) -/* 80032134 88 03 00 0C */ lbz r0, 0xc(r3) -/* 80032138 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b -/* 8003213C 98 03 00 0C */ stb r0, 0xc(r3) -/* 80032140 A8 03 00 12 */ lha r0, 0x12(r3) -/* 80032144 B0 03 00 1A */ sth r0, 0x1a(r3) -/* 80032148 A8 03 00 1C */ lha r0, 0x1c(r3) -/* 8003214C B0 03 00 20 */ sth r0, 0x20(r3) -/* 80032150 A8 03 00 28 */ lha r0, 0x28(r3) -/* 80032154 B0 03 00 2C */ sth r0, 0x2c(r3) -/* 80032158 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/create__7dTres_cFv.s b/asm/d/d_tresure/create__7dTres_cFv.s deleted file mode 100644 index 9c512897da..0000000000 --- a/asm/d/d_tresure/create__7dTres_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8009BC18: -/* 8009BC18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009BC1C 7C 08 02 A6 */ mflr r0 -/* 8009BC20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009BC24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8009BC28 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8009BC2C 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 8009BC30 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8009BC34 7D 89 03 A6 */ mtctr r12 -/* 8009BC38 4E 80 04 21 */ bctrl -/* 8009BC3C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8009BC40 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 8009BC44 28 00 00 03 */ cmplwi r0, 3 -/* 8009BC48 41 82 00 08 */ beq lbl_8009BC50 -/* 8009BC4C 48 00 00 21 */ bl reset__7dTres_cFv -lbl_8009BC50: -/* 8009BC50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009BC54 7C 08 03 A6 */ mtlr r0 -/* 8009BC58 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009BC5C 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/getBossIconFloorNo__7dTres_cFPi.s b/asm/d/d_tresure/getBossIconFloorNo__7dTres_cFPi.s deleted file mode 100644 index 2617d23996..0000000000 --- a/asm/d/d_tresure/getBossIconFloorNo__7dTres_cFPi.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_8009C27C: -/* 8009C27C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8009C280 7C 08 02 A6 */ mflr r0 -/* 8009C284 90 01 00 24 */ stw r0, 0x24(r1) -/* 8009C288 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009C28C 48 2C 5F 4D */ bl _savegpr_28 -/* 8009C290 7C 7C 1B 79 */ or. r28, r3, r3 -/* 8009C294 40 82 00 0C */ bne lbl_8009C2A0 -/* 8009C298 38 60 00 00 */ li r3, 0 -/* 8009C29C 48 00 00 AC */ b lbl_8009C348 -lbl_8009C2A0: -/* 8009C2A0 3B A0 00 00 */ li r29, 0 -/* 8009C2A4 38 00 00 00 */ li r0, 0 -/* 8009C2A8 90 1C 00 00 */ stw r0, 0(r28) -/* 8009C2AC 38 60 00 03 */ li r3, 3 -/* 8009C2B0 48 00 00 B1 */ bl getFirstData__7dTres_cFUc -/* 8009C2B4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8009C2B8 41 82 00 8C */ beq lbl_8009C344 -/* 8009C2BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8009C2C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8009C2C4 3B C3 09 58 */ addi r30, r3, 0x958 -/* 8009C2C8 7F C3 F3 78 */ mr r3, r30 -/* 8009C2CC 38 80 00 01 */ li r4, 1 -/* 8009C2D0 4B F9 86 65 */ bl isDungeonItem__12dSv_memBit_cCFi -/* 8009C2D4 2C 03 00 00 */ cmpwi r3, 0 -/* 8009C2D8 41 82 00 6C */ beq lbl_8009C344 -/* 8009C2DC 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 8009C2E0 28 00 00 FF */ cmplwi r0, 0xff -/* 8009C2E4 41 82 00 2C */ beq lbl_8009C310 -/* 8009C2E8 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8009C2EC 28 04 00 FF */ cmplwi r4, 0xff -/* 8009C2F0 41 82 00 54 */ beq lbl_8009C344 -/* 8009C2F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8009C2F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8009C2FC 88 1F 00 01 */ lbz r0, 1(r31) -/* 8009C300 7C 05 07 74 */ extsb r5, r0 -/* 8009C304 4B F9 90 5D */ bl isSwitch__10dSv_info_cCFii -/* 8009C308 2C 03 00 00 */ cmpwi r3, 0 -/* 8009C30C 41 82 00 38 */ beq lbl_8009C344 -lbl_8009C310: -/* 8009C310 7F C3 F3 78 */ mr r3, r30 -/* 8009C314 38 80 00 03 */ li r4, 3 -/* 8009C318 4B F9 86 1D */ bl isDungeonItem__12dSv_memBit_cCFi -/* 8009C31C 2C 03 00 00 */ cmpwi r3, 0 -/* 8009C320 40 82 00 24 */ bne lbl_8009C344 -/* 8009C324 C0 3F 00 08 */ lfs f1, 8(r31) -/* 8009C328 38 60 00 01 */ li r3, 1 -/* 8009C32C 88 1F 00 01 */ lbz r0, 1(r31) -/* 8009C330 7C 04 07 74 */ extsb r4, r0 -/* 8009C334 4B FA 30 D9 */ bl calcFloorNo__10dMapInfo_cFfbi -/* 8009C338 7C 60 07 74 */ extsb r0, r3 -/* 8009C33C 90 1C 00 00 */ stw r0, 0(r28) -/* 8009C340 3B A0 00 01 */ li r29, 1 -lbl_8009C344: -/* 8009C344 7F A3 EB 78 */ mr r3, r29 -lbl_8009C348: -/* 8009C348 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009C34C 48 2C 5E D9 */ bl _restgpr_28 -/* 8009C350 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8009C354 7C 08 03 A6 */ mtlr r0 -/* 8009C358 38 21 00 20 */ addi r1, r1, 0x20 -/* 8009C35C 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/getFirstData__7dTres_cFUc.s b/asm/d/d_tresure/getFirstData__7dTres_cFUc.s deleted file mode 100644 index 942c91b7c7..0000000000 --- a/asm/d/d_tresure/getFirstData__7dTres_cFUc.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8009C360: -/* 8009C360 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009C364 1C 80 00 0C */ mulli r4, r0, 0xc -/* 8009C368 3C 60 80 42 */ lis r3, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 8009C36C 38 03 54 38 */ addi r0, r3, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 8009C370 7C 60 22 15 */ add. r3, r0, r4 -/* 8009C374 40 82 00 0C */ bne lbl_8009C380 -/* 8009C378 38 60 00 00 */ li r3, 0 -/* 8009C37C 4E 80 00 20 */ blr -lbl_8009C380: -/* 8009C380 88 03 00 08 */ lbz r0, 8(r3) -/* 8009C384 2C 00 00 00 */ cmpwi r0, 0 -/* 8009C388 40 82 00 0C */ bne lbl_8009C394 -/* 8009C38C 38 60 00 00 */ li r3, 0 -/* 8009C390 4E 80 00 20 */ blr -lbl_8009C394: -/* 8009C394 80 63 00 00 */ lwz r3, 0(r3) -/* 8009C398 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c.s b/asm/d/d_tresure/getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c.s deleted file mode 100644 index c64bbea4c8..0000000000 --- a/asm/d/d_tresure/getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8009C3B4: -/* 8009C3B4 28 03 00 00 */ cmplwi r3, 0 -/* 8009C3B8 40 82 00 0C */ bne lbl_8009C3C4 -/* 8009C3BC 38 60 00 00 */ li r3, 0 -/* 8009C3C0 4E 80 00 20 */ blr -lbl_8009C3C4: -/* 8009C3C4 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8009C3C8 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c.s b/asm/d/d_tresure/getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c.s deleted file mode 100644 index b84c5f59ce..0000000000 --- a/asm/d/d_tresure/getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8009C39C: -/* 8009C39C 28 03 00 00 */ cmplwi r3, 0 -/* 8009C3A0 40 82 00 0C */ bne lbl_8009C3AC -/* 8009C3A4 38 60 00 00 */ li r3, 0 -/* 8009C3A8 4E 80 00 20 */ blr -lbl_8009C3AC: -/* 8009C3AC 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8009C3B0 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/getTypeGroupNoToType__7dTres_cFUc.s b/asm/d/d_tresure/getTypeGroupNoToType__7dTres_cFUc.s deleted file mode 100644 index 11152e6e2a..0000000000 --- a/asm/d/d_tresure/getTypeGroupNoToType__7dTres_cFUc.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8009C49C: -/* 8009C49C 54 60 0D FC */ rlwinm r0, r3, 1, 0x17, 0x1e -/* 8009C4A0 3C 60 80 38 */ lis r3, typeToTypeGroup__7dTres_c@ha /* 0x8037B0D8@ha */ -/* 8009C4A4 38 63 B0 D8 */ addi r3, r3, typeToTypeGroup__7dTres_c@l /* 0x8037B0D8@l */ -/* 8009C4A8 7C 63 00 AE */ lbzx r3, r3, r0 -/* 8009C4AC 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/getTypeToTypeGroupNo__7dTres_cFUc.s b/asm/d/d_tresure/getTypeToTypeGroupNo__7dTres_cFUc.s deleted file mode 100644 index fb1cbd011d..0000000000 --- a/asm/d/d_tresure/getTypeToTypeGroupNo__7dTres_cFUc.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8009C4B0: -/* 8009C4B0 38 C0 00 11 */ li r6, 0x11 -/* 8009C4B4 38 80 00 00 */ li r4, 0 -/* 8009C4B8 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8009C4BC 3C 60 80 38 */ lis r3, typeToTypeGroup__7dTres_c@ha /* 0x8037B0D8@ha */ -/* 8009C4C0 38 63 B0 D8 */ addi r3, r3, typeToTypeGroup__7dTres_c@l /* 0x8037B0D8@l */ -/* 8009C4C4 38 00 00 11 */ li r0, 0x11 -/* 8009C4C8 7C 09 03 A6 */ mtctr r0 -lbl_8009C4CC: -/* 8009C4CC 7C 03 20 AE */ lbzx r0, r3, r4 -/* 8009C4D0 7C 05 00 40 */ cmplw r5, r0 -/* 8009C4D4 40 82 00 18 */ bne lbl_8009C4EC -/* 8009C4D8 3C 60 80 38 */ lis r3, typeToTypeGroup__7dTres_c@ha /* 0x8037B0D8@ha */ -/* 8009C4DC 38 03 B0 D8 */ addi r0, r3, typeToTypeGroup__7dTres_c@l /* 0x8037B0D8@l */ -/* 8009C4E0 7C 60 22 14 */ add r3, r0, r4 -/* 8009C4E4 88 C3 00 01 */ lbz r6, 1(r3) -/* 8009C4E8 48 00 00 0C */ b lbl_8009C4F4 -lbl_8009C4EC: -/* 8009C4EC 38 84 00 02 */ addi r4, r4, 2 -/* 8009C4F0 42 00 FF DC */ bdnz lbl_8009C4CC -lbl_8009C4F4: -/* 8009C4F4 54 C3 06 3E */ clrlwi r3, r6, 0x18 -/* 8009C4F8 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/onStatus__7dTres_cFUcii.s b/asm/d/d_tresure/onStatus__7dTres_cFUcii.s deleted file mode 100644 index b5aad015f6..0000000000 --- a/asm/d/d_tresure/onStatus__7dTres_cFUcii.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8009C168: -/* 8009C168 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8009C16C 7C 08 02 A6 */ mflr r0 -/* 8009C170 90 01 00 24 */ stw r0, 0x24(r1) -/* 8009C174 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009C178 48 2C 60 61 */ bl _savegpr_28 -/* 8009C17C 7C 7D 1B 78 */ mr r29, r3 -/* 8009C180 7C 9C 23 78 */ mr r28, r4 -/* 8009C184 7C BF 2B 78 */ mr r31, r5 -/* 8009C188 48 00 01 D9 */ bl getFirstData__7dTres_cFUc -/* 8009C18C 3C 80 80 42 */ lis r4, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 8009C190 38 84 54 38 */ addi r4, r4, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 8009C194 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 8009C198 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8009C19C 7C 84 02 14 */ add r4, r4, r0 -/* 8009C1A0 8B C4 00 08 */ lbz r30, 8(r4) -/* 8009C1A4 3B A0 00 00 */ li r29, 0 -/* 8009C1A8 57 FF 06 3E */ clrlwi r31, r31, 0x18 -/* 8009C1AC 48 00 00 24 */ b lbl_8009C1D0 -lbl_8009C1B0: -/* 8009C1B0 88 03 00 00 */ lbz r0, 0(r3) -/* 8009C1B4 7C 1C 00 00 */ cmpw r28, r0 -/* 8009C1B8 40 82 00 10 */ bne lbl_8009C1C8 -/* 8009C1BC 88 03 00 02 */ lbz r0, 2(r3) -/* 8009C1C0 7C 00 FB 78 */ or r0, r0, r31 -/* 8009C1C4 98 03 00 02 */ stb r0, 2(r3) -lbl_8009C1C8: -/* 8009C1C8 48 00 01 D5 */ bl getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c -/* 8009C1CC 3B BD 00 01 */ addi r29, r29, 1 -lbl_8009C1D0: -/* 8009C1D0 7C 1D F0 00 */ cmpw r29, r30 -/* 8009C1D4 41 80 FF DC */ blt lbl_8009C1B0 -/* 8009C1D8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009C1DC 48 2C 60 49 */ bl _restgpr_28 -/* 8009C1E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8009C1E4 7C 08 03 A6 */ mtlr r0 -/* 8009C1E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8009C1EC 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/reset__7dTres_cFv.s b/asm/d/d_tresure/reset__7dTres_cFv.s deleted file mode 100644 index d9a49b2a35..0000000000 --- a/asm/d/d_tresure/reset__7dTres_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8009BC6C: -/* 8009BC6C 88 0D 81 00 */ lbz r0, data_80450680(r13) -/* 8009BC70 28 00 00 00 */ cmplwi r0, 0 -/* 8009BC74 4D 82 00 20 */ beqlr -/* 8009BC78 38 A0 00 00 */ li r5, 0 -/* 8009BC7C B0 AD 8A 1C */ sth r5, mNum__7dTres_c(r13) -/* 8009BC80 98 AD 81 00 */ stb r5, data_80450680(r13) -/* 8009BC84 7C A3 2B 78 */ mr r3, r5 -/* 8009BC88 3C 80 80 42 */ lis r4, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 8009BC8C 38 84 54 38 */ addi r4, r4, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 8009BC90 38 00 00 11 */ li r0, 0x11 -/* 8009BC94 7C 09 03 A6 */ mtctr r0 -lbl_8009BC98: -/* 8009BC98 7C C4 1A 14 */ add r6, r4, r3 -/* 8009BC9C 90 A6 00 00 */ stw r5, 0(r6) -/* 8009BCA0 90 A6 00 04 */ stw r5, 4(r6) -/* 8009BCA4 98 A6 00 08 */ stb r5, 8(r6) -/* 8009BCA8 38 63 00 0C */ addi r3, r3, 0xc -/* 8009BCAC 42 00 FF EC */ bdnz lbl_8009BC98 -/* 8009BCB0 4E 80 00 20 */ blr diff --git a/asm/d/d_tresure/setPosition__7dTres_cFiUcPC3Veci.s b/asm/d/d_tresure/setPosition__7dTres_cFiUcPC3Veci.s deleted file mode 100644 index 5624709939..0000000000 --- a/asm/d/d_tresure/setPosition__7dTres_cFiUcPC3Veci.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_8009C3CC: -/* 8009C3CC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8009C3D0 7C 08 02 A6 */ mflr r0 -/* 8009C3D4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8009C3D8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8009C3DC 48 2C 5D F9 */ bl _savegpr_27 -/* 8009C3E0 7C 7B 1B 78 */ mr r27, r3 -/* 8009C3E4 7C 9C 23 78 */ mr r28, r4 -/* 8009C3E8 7C BD 2B 78 */ mr r29, r5 -/* 8009C3EC 7C DE 33 78 */ mr r30, r6 -/* 8009C3F0 7F 83 E3 78 */ mr r3, r28 -/* 8009C3F4 4B FF FF 6D */ bl getFirstData__7dTres_cFUc -/* 8009C3F8 7C 7F 1B 78 */ mr r31, r3 -/* 8009C3FC 3C 60 80 42 */ lis r3, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 8009C400 38 63 54 38 */ addi r3, r3, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 8009C404 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 8009C408 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8009C40C 7C 63 02 14 */ add r3, r3, r0 -/* 8009C410 88 03 00 08 */ lbz r0, 8(r3) -/* 8009C414 7C 09 03 A6 */ mtctr r0 -/* 8009C418 2C 00 00 00 */ cmpwi r0, 0 -/* 8009C41C 40 81 00 68 */ ble lbl_8009C484 -lbl_8009C420: -/* 8009C420 88 1F 00 00 */ lbz r0, 0(r31) -/* 8009C424 7C 1B 00 00 */ cmpw r27, r0 -/* 8009C428 40 82 00 54 */ bne lbl_8009C47C -/* 8009C42C C0 1D 00 00 */ lfs f0, 0(r29) -/* 8009C430 D0 01 00 08 */ stfs f0, 8(r1) -/* 8009C434 C0 1D 00 04 */ lfs f0, 4(r29) -/* 8009C438 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8009C43C C0 1D 00 08 */ lfs f0, 8(r29) -/* 8009C440 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8009C444 2C 1E 00 00 */ cmpwi r30, 0 -/* 8009C448 41 80 00 08 */ blt lbl_8009C450 -/* 8009C44C 9B DF 00 01 */ stb r30, 1(r31) -lbl_8009C450: -/* 8009C450 88 1F 00 01 */ lbz r0, 1(r31) -/* 8009C454 7C 03 07 74 */ extsb r3, r0 -/* 8009C458 38 81 00 08 */ addi r4, r1, 8 -/* 8009C45C 4B FA 29 05 */ bl correctionOriginPos__10dMapInfo_nFScP3Vec -/* 8009C460 C0 01 00 08 */ lfs f0, 8(r1) -/* 8009C464 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8009C468 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8009C46C D0 1F 00 08 */ stfs f0, 8(r31) -/* 8009C470 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8009C474 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 8009C478 48 00 00 0C */ b lbl_8009C484 -lbl_8009C47C: -/* 8009C47C 83 FF 00 14 */ lwz r31, 0x14(r31) -/* 8009C480 42 00 FF A0 */ bdnz lbl_8009C420 -lbl_8009C484: -/* 8009C484 39 61 00 30 */ addi r11, r1, 0x30 -/* 8009C488 48 2C 5D 99 */ bl _restgpr_27 -/* 8009C48C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8009C490 7C 08 03 A6 */ mtlr r0 -/* 8009C494 38 21 00 30 */ addi r1, r1, 0x30 -/* 8009C498 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/afterFlagProc__14dEvt_control_cFP12dEvt_order_c.s b/asm/d/event/d_event/afterFlagProc__14dEvt_control_cFP12dEvt_order_c.s deleted file mode 100644 index 5f7c00edad..0000000000 --- a/asm/d/event/d_event/afterFlagProc__14dEvt_control_cFP12dEvt_order_c.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80041964: -/* 80041964 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80041968 7C 08 02 A6 */ mflr r0 -/* 8004196C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80041970 A0 04 00 02 */ lhz r0, 2(r4) -/* 80041974 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80041978 41 82 00 20 */ beq lbl_80041998 -/* 8004197C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80041980 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80041984 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80041988 3C 80 80 38 */ lis r4, d_event_d_event__stringBase0@ha /* 0x80379D80@ha */ -/* 8004198C 38 84 9D 80 */ addi r4, r4, d_event_d_event__stringBase0@l /* 0x80379D80@l */ -/* 80041990 38 84 00 07 */ addi r4, r4, 7 -/* 80041994 48 00 69 39 */ bl issueStaff__16dEvent_manager_cFPCc -lbl_80041998: -/* 80041998 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004199C 7C 08 03 A6 */ mtlr r0 -/* 800419A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800419A4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/beforeFlagProc__14dEvt_control_cFP12dEvt_order_c.s b/asm/d/event/d_event/beforeFlagProc__14dEvt_control_cFP12dEvt_order_c.s deleted file mode 100644 index 75a18d71fc..0000000000 --- a/asm/d/event/d_event/beforeFlagProc__14dEvt_control_cFP12dEvt_order_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80041934: -/* 80041934 80 64 00 0C */ lwz r3, 0xc(r4) -/* 80041938 A0 04 00 02 */ lhz r0, 2(r4) -/* 8004193C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80041940 41 82 00 1C */ beq lbl_8004195C -/* 80041944 A0 03 00 FA */ lhz r0, 0xfa(r3) -/* 80041948 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 8004194C 2C 00 00 01 */ cmpwi r0, 1 -/* 80041950 41 82 00 0C */ beq lbl_8004195C -/* 80041954 38 60 00 00 */ li r3, 0 -/* 80041958 4E 80 00 20 */ blr -lbl_8004195C: -/* 8004195C 38 60 00 01 */ li r3, 1 -/* 80041960 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s b/asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s deleted file mode 100644 index 4f0034cedc..0000000000 --- a/asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8004316C: -/* 8004316C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80043170 7C 08 02 A6 */ mflr r0 -/* 80043174 90 01 00 14 */ stw r0, 0x14(r1) -/* 80043178 7C 88 23 78 */ mr r8, r4 -/* 8004317C 7C AA 2B 78 */ mr r10, r5 -/* 80043180 7C C7 33 78 */ mr r7, r6 -/* 80043184 38 00 00 00 */ li r0, 0 -/* 80043188 88 83 00 E5 */ lbz r4, 0xe5(r3) -/* 8004318C 28 04 00 00 */ cmplwi r4, 0 -/* 80043190 41 82 00 0C */ beq lbl_8004319C -/* 80043194 28 04 00 02 */ cmplwi r4, 2 -/* 80043198 40 82 00 08 */ bne lbl_800431A0 -lbl_8004319C: -/* 8004319C 38 00 00 01 */ li r0, 1 -lbl_800431A0: -/* 800431A0 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 800431A4 41 82 00 10 */ beq lbl_800431B4 -/* 800431A8 88 03 01 28 */ lbz r0, 0x128(r3) -/* 800431AC 28 00 00 00 */ cmplwi r0, 0 -/* 800431B0 41 82 00 0C */ beq lbl_800431BC -lbl_800431B4: -/* 800431B4 38 60 00 00 */ li r3, 0 -/* 800431B8 48 00 00 20 */ b lbl_800431D8 -lbl_800431BC: -/* 800431BC 38 00 00 01 */ li r0, 1 -/* 800431C0 98 03 01 28 */ stb r0, 0x128(r3) -/* 800431C4 38 80 00 03 */ li r4, 3 -/* 800431C8 38 A0 00 02 */ li r5, 2 -/* 800431CC 38 C0 00 00 */ li r6, 0 -/* 800431D0 39 20 00 00 */ li r9, 0 -/* 800431D4 4B FF E4 05 */ bl orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv -lbl_800431D8: -/* 800431D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800431DC 7C 08 03 A6 */ mtlr r0 -/* 800431E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800431E4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/dEv_defaultSkipStb__FPvi.s b/asm/d/event/d_event/dEv_defaultSkipStb__FPvi.s deleted file mode 100644 index 9839e6ccaf..0000000000 --- a/asm/d/event/d_event/dEv_defaultSkipStb__FPvi.s +++ /dev/null @@ -1,98 +0,0 @@ -lbl_80042778: -/* 80042778 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8004277C 7C 08 02 A6 */ mflr r0 -/* 80042780 90 01 00 44 */ stw r0, 0x44(r1) -/* 80042784 39 61 00 40 */ addi r11, r1, 0x40 -/* 80042788 48 31 FA 49 */ bl _savegpr_26 -/* 8004278C 7C 7F 1B 78 */ mr r31, r3 -/* 80042790 7C 9A 23 78 */ mr r26, r4 -/* 80042794 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80042798 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8004279C 3B BE 4E C8 */ addi r29, r30, 0x4ec8 -/* 800427A0 3B 80 FF FF */ li r28, -1 -/* 800427A4 7F A3 EB 78 */ mr r3, r29 -/* 800427A8 48 00 0A D1 */ bl getStageEventDt__14dEvt_control_cFv -/* 800427AC 7C 64 1B 79 */ or. r4, r3, r3 -/* 800427B0 3B 60 00 01 */ li r27, 1 -/* 800427B4 41 82 00 28 */ beq lbl_800427DC -/* 800427B8 88 04 00 09 */ lbz r0, 9(r4) -/* 800427BC 28 00 00 FF */ cmplwi r0, 0xff -/* 800427C0 41 82 00 0C */ beq lbl_800427CC -/* 800427C4 3B 60 00 00 */ li r27, 0 -/* 800427C8 48 00 00 14 */ b lbl_800427DC -lbl_800427CC: -/* 800427CC 88 04 00 07 */ lbz r0, 7(r4) -/* 800427D0 28 00 00 FF */ cmplwi r0, 0xff -/* 800427D4 41 82 00 08 */ beq lbl_800427DC -/* 800427D8 3B 60 00 00 */ li r27, 0 -lbl_800427DC: -/* 800427DC 2C 1A 00 01 */ cmpwi r26, 1 -/* 800427E0 41 82 00 50 */ beq lbl_80042830 -/* 800427E4 40 80 00 6C */ bge lbl_80042850 -/* 800427E8 2C 1A 00 00 */ cmpwi r26, 0 -/* 800427EC 40 80 00 08 */ bge lbl_800427F4 -/* 800427F0 48 00 00 60 */ b lbl_80042850 -lbl_800427F4: -/* 800427F4 38 61 00 08 */ addi r3, r1, 8 -/* 800427F8 38 84 00 0D */ addi r4, r4, 0xd -/* 800427FC 48 32 63 31 */ bl strcpy -/* 80042800 38 61 00 08 */ addi r3, r1, 8 -/* 80042804 3C 80 80 38 */ lis r4, d_event_d_event__stringBase0@ha /* 0x80379D80@ha */ -/* 80042808 38 84 9D 80 */ addi r4, r4, d_event_d_event__stringBase0@l /* 0x80379D80@l */ -/* 8004280C 38 84 00 43 */ addi r4, r4, 0x43 -/* 80042810 48 32 62 AD */ bl strcat -/* 80042814 38 7E 4F F8 */ addi r3, r30, 0x4ff8 -/* 80042818 38 81 00 08 */ addi r4, r1, 8 -/* 8004281C 38 A0 00 FF */ li r5, 0xff -/* 80042820 38 C0 FF FF */ li r6, -1 -/* 80042824 48 00 4C F1 */ bl getEventIdx__16dEvent_manager_cFPCcUcl -/* 80042828 7C 7C 1B 78 */ mr r28, r3 -/* 8004282C 48 00 00 24 */ b lbl_80042850 -lbl_80042830: -/* 80042830 7F A3 EB 78 */ mr r3, r29 -/* 80042834 48 00 00 D9 */ bl getSkipEventName__14dEvt_control_cFv -/* 80042838 7C 64 1B 78 */ mr r4, r3 -/* 8004283C 38 7E 4F F8 */ addi r3, r30, 0x4ff8 -/* 80042840 38 A0 00 FF */ li r5, 0xff -/* 80042844 38 C0 FF FF */ li r6, -1 -/* 80042848 48 00 4C CD */ bl getEventIdx__16dEvent_manager_cFPCcUcl -/* 8004284C 7C 7C 1B 78 */ mr r28, r3 -lbl_80042850: -/* 80042850 7F 80 07 34 */ extsh r0, r28 -/* 80042854 2C 00 FF FF */ cmpwi r0, -1 -/* 80042858 41 82 00 3C */ beq lbl_80042894 -/* 8004285C 7F A3 EB 78 */ mr r3, r29 -/* 80042860 7F E4 FB 78 */ mr r4, r31 -/* 80042864 4B FF FC B5 */ bl reset__14dEvt_control_cFPv -/* 80042868 4B FF 74 91 */ bl end__7dDemo_cFv -/* 8004286C 7F E3 FB 78 */ mr r3, r31 -/* 80042870 7F 84 E3 78 */ mr r4, r28 -/* 80042874 88 BD 00 EB */ lbz r5, 0xeb(r29) -/* 80042878 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 8004287C 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80042880 38 E0 00 03 */ li r7, 3 -/* 80042884 39 00 04 00 */ li r8, 0x400 -/* 80042888 4B FD 8D F5 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 8004288C 38 60 00 02 */ li r3, 2 -/* 80042890 48 00 00 34 */ b lbl_800428C4 -lbl_80042894: -/* 80042894 57 60 06 3F */ clrlwi. r0, r27, 0x18 -/* 80042898 41 82 00 1C */ beq lbl_800428B4 -/* 8004289C 7F A3 EB 78 */ mr r3, r29 -/* 800428A0 7F E4 FB 78 */ mr r4, r31 -/* 800428A4 4B FF FC 75 */ bl reset__14dEvt_control_cFPv -/* 800428A8 4B FF 74 51 */ bl end__7dDemo_cFv -/* 800428AC 38 60 00 01 */ li r3, 1 -/* 800428B0 48 00 00 14 */ b lbl_800428C4 -lbl_800428B4: -/* 800428B4 7F A3 EB 78 */ mr r3, r29 -/* 800428B8 7F E4 FB 78 */ mr r4, r31 -/* 800428BC 4B FF FC 5D */ bl reset__14dEvt_control_cFPv -/* 800428C0 38 60 00 01 */ li r3, 1 -lbl_800428C4: -/* 800428C4 39 61 00 40 */ addi r11, r1, 0x40 -/* 800428C8 48 31 F9 55 */ bl _restgpr_26 -/* 800428CC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800428D0 7C 08 03 A6 */ mtlr r0 -/* 800428D4 38 21 00 40 */ addi r1, r1, 0x40 -/* 800428D8 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/dEv_defaultSkipZev__FPvi.s b/asm/d/event/d_event/dEv_defaultSkipZev__FPvi.s deleted file mode 100644 index c936710ebd..0000000000 --- a/asm/d/event/d_event/dEv_defaultSkipZev__FPvi.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_8004261C: -/* 8004261C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80042620 7C 08 02 A6 */ mflr r0 -/* 80042624 90 01 00 44 */ stw r0, 0x44(r1) -/* 80042628 39 61 00 40 */ addi r11, r1, 0x40 -/* 8004262C 48 31 FB A5 */ bl _savegpr_26 -/* 80042630 7C 7F 1B 78 */ mr r31, r3 -/* 80042634 7C 9A 23 78 */ mr r26, r4 -/* 80042638 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8004263C 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80042640 3B BE 4E C8 */ addi r29, r30, 0x4ec8 -/* 80042644 3B 80 FF FF */ li r28, -1 -/* 80042648 7F A3 EB 78 */ mr r3, r29 -/* 8004264C 48 00 0C 2D */ bl getStageEventDt__14dEvt_control_cFv -/* 80042650 7C 64 1B 79 */ or. r4, r3, r3 -/* 80042654 3B 60 00 01 */ li r27, 1 -/* 80042658 41 82 00 28 */ beq lbl_80042680 -/* 8004265C 88 04 00 09 */ lbz r0, 9(r4) -/* 80042660 28 00 00 FF */ cmplwi r0, 0xff -/* 80042664 41 82 00 0C */ beq lbl_80042670 -/* 80042668 3B 60 00 00 */ li r27, 0 -/* 8004266C 48 00 00 14 */ b lbl_80042680 -lbl_80042670: -/* 80042670 88 04 00 07 */ lbz r0, 7(r4) -/* 80042674 28 00 00 FF */ cmplwi r0, 0xff -/* 80042678 41 82 00 08 */ beq lbl_80042680 -/* 8004267C 3B 60 00 00 */ li r27, 0 -lbl_80042680: -/* 80042680 2C 1A 00 01 */ cmpwi r26, 1 -/* 80042684 41 82 00 50 */ beq lbl_800426D4 -/* 80042688 40 80 00 6C */ bge lbl_800426F4 -/* 8004268C 2C 1A 00 00 */ cmpwi r26, 0 -/* 80042690 40 80 00 08 */ bge lbl_80042698 -/* 80042694 48 00 00 60 */ b lbl_800426F4 -lbl_80042698: -/* 80042698 38 61 00 08 */ addi r3, r1, 8 -/* 8004269C 38 84 00 0D */ addi r4, r4, 0xd -/* 800426A0 48 32 64 8D */ bl strcpy -/* 800426A4 38 61 00 08 */ addi r3, r1, 8 -/* 800426A8 3C 80 80 38 */ lis r4, d_event_d_event__stringBase0@ha /* 0x80379D80@ha */ -/* 800426AC 38 84 9D 80 */ addi r4, r4, d_event_d_event__stringBase0@l /* 0x80379D80@l */ -/* 800426B0 38 84 00 43 */ addi r4, r4, 0x43 -/* 800426B4 48 32 64 09 */ bl strcat -/* 800426B8 38 7E 4F F8 */ addi r3, r30, 0x4ff8 -/* 800426BC 38 81 00 08 */ addi r4, r1, 8 -/* 800426C0 38 A0 00 FF */ li r5, 0xff -/* 800426C4 38 C0 FF FF */ li r6, -1 -/* 800426C8 48 00 4E 4D */ bl getEventIdx__16dEvent_manager_cFPCcUcl -/* 800426CC 7C 7C 1B 78 */ mr r28, r3 -/* 800426D0 48 00 00 24 */ b lbl_800426F4 -lbl_800426D4: -/* 800426D4 7F A3 EB 78 */ mr r3, r29 -/* 800426D8 48 00 02 35 */ bl getSkipEventName__14dEvt_control_cFv -/* 800426DC 7C 64 1B 78 */ mr r4, r3 -/* 800426E0 38 7E 4F F8 */ addi r3, r30, 0x4ff8 -/* 800426E4 38 A0 00 FF */ li r5, 0xff -/* 800426E8 38 C0 FF FF */ li r6, -1 -/* 800426EC 48 00 4E 29 */ bl getEventIdx__16dEvent_manager_cFPCcUcl -/* 800426F0 7C 7C 1B 78 */ mr r28, r3 -lbl_800426F4: -/* 800426F4 7F 80 07 34 */ extsh r0, r28 -/* 800426F8 2C 00 FF FF */ cmpwi r0, -1 -/* 800426FC 41 82 00 38 */ beq lbl_80042734 -/* 80042700 7F A3 EB 78 */ mr r3, r29 -/* 80042704 7F E4 FB 78 */ mr r4, r31 -/* 80042708 4B FF FE 11 */ bl reset__14dEvt_control_cFPv -/* 8004270C 7F E3 FB 78 */ mr r3, r31 -/* 80042710 7F 84 E3 78 */ mr r4, r28 -/* 80042714 88 BD 00 EB */ lbz r5, 0xeb(r29) -/* 80042718 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 8004271C 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80042720 38 E0 00 03 */ li r7, 3 -/* 80042724 39 00 04 00 */ li r8, 0x400 -/* 80042728 4B FD 8F 55 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 8004272C 38 60 00 02 */ li r3, 2 -/* 80042730 48 00 00 30 */ b lbl_80042760 -lbl_80042734: -/* 80042734 57 60 06 3F */ clrlwi. r0, r27, 0x18 -/* 80042738 41 82 00 18 */ beq lbl_80042750 -/* 8004273C 7F A3 EB 78 */ mr r3, r29 -/* 80042740 7F E4 FB 78 */ mr r4, r31 -/* 80042744 4B FF FD D5 */ bl reset__14dEvt_control_cFPv -/* 80042748 38 60 00 01 */ li r3, 1 -/* 8004274C 48 00 00 14 */ b lbl_80042760 -lbl_80042750: -/* 80042750 7F A3 EB 78 */ mr r3, r29 -/* 80042754 7F E4 FB 78 */ mr r4, r31 -/* 80042758 4B FF FD C1 */ bl reset__14dEvt_control_cFPv -/* 8004275C 38 60 00 01 */ li r3, 1 -lbl_80042760: -/* 80042760 39 61 00 40 */ addi r11, r1, 0x40 -/* 80042764 48 31 FA B9 */ bl _restgpr_26 -/* 80042768 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8004276C 7C 08 03 A6 */ mtlr r0 -/* 80042770 38 21 00 40 */ addi r1, r1, 0x40 -/* 80042774 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/entry__14dEvt_control_cFv.s b/asm/d/event/d_event/entry__14dEvt_control_cFv.s deleted file mode 100644 index ee83dc3146..0000000000 --- a/asm/d/event/d_event/entry__14dEvt_control_cFv.s +++ /dev/null @@ -1,111 +0,0 @@ -lbl_800422C0: -/* 800422C0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800422C4 7C 08 02 A6 */ mflr r0 -/* 800422C8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800422CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800422D0 48 31 FF 0D */ bl _savegpr_29 -/* 800422D4 7C 7D 1B 78 */ mr r29, r3 -/* 800422D8 88 03 00 E2 */ lbz r0, 0xe2(r3) -/* 800422DC 7C 00 07 75 */ extsb. r0, r0 -/* 800422E0 41 82 01 6C */ beq lbl_8004244C -/* 800422E4 8B DD 00 E3 */ lbz r30, 0xe3(r29) -/* 800422E8 38 00 00 00 */ li r0, 0 -/* 800422EC 98 1D 00 E2 */ stb r0, 0xe2(r29) -/* 800422F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800422F4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_800422F8: -/* 800422F8 7F C0 07 74 */ extsb r0, r30 -/* 800422FC 1C 60 00 18 */ mulli r3, r0, 0x18 -/* 80042300 38 83 00 04 */ addi r4, r3, 4 -/* 80042304 7C 9D 22 14 */ add r4, r29, r4 -/* 80042308 8B C4 00 14 */ lbz r30, 0x14(r4) -/* 8004230C A0 04 00 00 */ lhz r0, 0(r4) -/* 80042310 28 00 00 0D */ cmplwi r0, 0xd -/* 80042314 41 81 01 30 */ bgt lbl_80042444 -/* 80042318 3C 60 80 3A */ lis r3, lit_4719@ha /* 0x803A7F78@ha */ -/* 8004231C 38 63 7F 78 */ addi r3, r3, lit_4719@l /* 0x803A7F78@l */ -/* 80042320 54 00 10 3A */ slwi r0, r0, 2 -/* 80042324 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80042328 7C 09 03 A6 */ mtctr r0 -/* 8004232C 4E 80 04 20 */ bctr -/* 80042330 A0 1F 00 02 */ lhz r0, 2(r31) -/* 80042334 28 00 00 00 */ cmplwi r0, 0 -/* 80042338 41 82 01 0C */ beq lbl_80042444 -/* 8004233C 7F A3 EB 78 */ mr r3, r29 -/* 80042340 4B FF F6 E1 */ bl talkCheck__14dEvt_control_cFP12dEvt_order_c -/* 80042344 2C 03 00 00 */ cmpwi r3, 0 -/* 80042348 41 82 00 FC */ beq lbl_80042444 -/* 8004234C 38 60 00 01 */ li r3, 1 -/* 80042350 48 00 01 00 */ b lbl_80042450 -/* 80042354 A0 1F 00 02 */ lhz r0, 2(r31) -/* 80042358 28 00 00 00 */ cmplwi r0, 0 -/* 8004235C 41 82 00 E8 */ beq lbl_80042444 -/* 80042360 7F A3 EB 78 */ mr r3, r29 -/* 80042364 4B FF FA 79 */ bl demoCheck__14dEvt_control_cFP12dEvt_order_c -/* 80042368 2C 03 00 00 */ cmpwi r3, 0 -/* 8004236C 41 82 00 D8 */ beq lbl_80042444 -/* 80042370 38 60 00 01 */ li r3, 1 -/* 80042374 48 00 00 DC */ b lbl_80042450 -/* 80042378 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8004237C 28 00 00 00 */ cmplwi r0, 0 -/* 80042380 41 82 00 C4 */ beq lbl_80042444 -/* 80042384 7F A3 EB 78 */ mr r3, r29 -/* 80042388 4B FF FC 8D */ bl doorCheck__14dEvt_control_cFP12dEvt_order_c -/* 8004238C 2C 03 00 00 */ cmpwi r3, 0 -/* 80042390 41 82 00 B4 */ beq lbl_80042444 -/* 80042394 38 60 00 01 */ li r3, 1 -/* 80042398 48 00 00 B8 */ b lbl_80042450 -/* 8004239C 38 00 00 03 */ li r0, 3 -/* 800423A0 98 1D 00 E4 */ stb r0, 0xe4(r29) -/* 800423A4 7F A3 EB 78 */ mr r3, r29 -/* 800423A8 4B FF F4 5D */ bl setParam__14dEvt_control_cFP12dEvt_order_c -/* 800423AC 38 60 00 01 */ li r3, 1 -/* 800423B0 48 00 00 A0 */ b lbl_80042450 -/* 800423B4 A0 1F 00 02 */ lhz r0, 2(r31) -/* 800423B8 28 00 00 00 */ cmplwi r0, 0 -/* 800423BC 41 82 00 88 */ beq lbl_80042444 -/* 800423C0 7F A3 EB 78 */ mr r3, r29 -/* 800423C4 4B FF FB DD */ bl potentialCheck__14dEvt_control_cFP12dEvt_order_c -/* 800423C8 2C 03 00 00 */ cmpwi r3, 0 -/* 800423CC 41 82 00 78 */ beq lbl_80042444 -/* 800423D0 38 60 00 01 */ li r3, 1 -/* 800423D4 48 00 00 7C */ b lbl_80042450 -/* 800423D8 A0 1F 00 02 */ lhz r0, 2(r31) -/* 800423DC 28 00 00 00 */ cmplwi r0, 0 -/* 800423E0 41 82 00 64 */ beq lbl_80042444 -/* 800423E4 7F A3 EB 78 */ mr r3, r29 -/* 800423E8 4B FF FD 45 */ bl itemCheck__14dEvt_control_cFP12dEvt_order_c -/* 800423EC 2C 03 00 00 */ cmpwi r3, 0 -/* 800423F0 41 82 00 54 */ beq lbl_80042444 -/* 800423F4 38 60 00 01 */ li r3, 1 -/* 800423F8 48 00 00 58 */ b lbl_80042450 -/* 800423FC A0 1F 00 02 */ lhz r0, 2(r31) -/* 80042400 28 00 00 00 */ cmplwi r0, 0 -/* 80042404 41 82 00 40 */ beq lbl_80042444 -/* 80042408 7F A3 EB 78 */ mr r3, r29 -/* 8004240C 4B FF F7 4D */ bl talkXyCheck__14dEvt_control_cFP12dEvt_order_c -/* 80042410 2C 03 00 00 */ cmpwi r3, 0 -/* 80042414 41 82 00 30 */ beq lbl_80042444 -/* 80042418 38 60 00 01 */ li r3, 1 -/* 8004241C 48 00 00 34 */ b lbl_80042450 -/* 80042420 A0 1F 00 02 */ lhz r0, 2(r31) -/* 80042424 28 00 00 00 */ cmplwi r0, 0 -/* 80042428 41 82 00 1C */ beq lbl_80042444 -/* 8004242C 7F A3 EB 78 */ mr r3, r29 -/* 80042430 4B FF F8 61 */ bl catchCheck__14dEvt_control_cFP12dEvt_order_c -/* 80042434 2C 03 00 00 */ cmpwi r3, 0 -/* 80042438 41 82 00 0C */ beq lbl_80042444 -/* 8004243C 38 60 00 01 */ li r3, 1 -/* 80042440 48 00 00 10 */ b lbl_80042450 -lbl_80042444: -/* 80042444 7F C0 07 75 */ extsb. r0, r30 -/* 80042448 40 80 FE B0 */ bge lbl_800422F8 -lbl_8004244C: -/* 8004244C 38 60 00 00 */ li r3, 0 -lbl_80042450: -/* 80042450 39 61 00 20 */ addi r11, r1, 0x20 -/* 80042454 48 31 FD D5 */ bl _restgpr_29 -/* 80042458 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004245C 7C 08 03 A6 */ mtlr r0 -/* 80042460 38 21 00 20 */ addi r1, r1, 0x20 -/* 80042464 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/reset__14dEvt_control_cFPv.s b/asm/d/event/d_event/reset__14dEvt_control_cFPv.s deleted file mode 100644 index 17701662ec..0000000000 --- a/asm/d/event/d_event/reset__14dEvt_control_cFPv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_80042518: -/* 80042518 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8004251C 7C 08 02 A6 */ mflr r0 -/* 80042520 90 01 00 24 */ stw r0, 0x24(r1) -/* 80042524 39 61 00 20 */ addi r11, r1, 0x20 -/* 80042528 48 31 FC B5 */ bl _savegpr_29 -/* 8004252C 7C 7D 1B 78 */ mr r29, r3 -/* 80042530 7C 9E 23 78 */ mr r30, r4 -/* 80042534 88 A3 00 EC */ lbz r5, 0xec(r3) -/* 80042538 28 05 00 FF */ cmplwi r5, 0xff -/* 8004253C 41 82 00 50 */ beq lbl_8004258C -/* 80042540 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80042544 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80042548 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8004254C 48 00 51 4D */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc -/* 80042550 7C 7F 1B 78 */ mr r31, r3 -/* 80042554 7F A3 EB 78 */ mr r3, r29 -/* 80042558 80 9D 00 C8 */ lwz r4, 0xc8(r29) -/* 8004255C 48 00 0D 91 */ bl convPId__14dEvt_control_cFUi -/* 80042560 7C 69 1B 78 */ mr r9, r3 -/* 80042564 88 1D 00 EC */ lbz r0, 0xec(r29) -/* 80042568 90 01 00 08 */ stw r0, 8(r1) -/* 8004256C 7F A3 EB 78 */ mr r3, r29 -/* 80042570 38 80 00 02 */ li r4, 2 -/* 80042574 38 A0 00 03 */ li r5, 3 -/* 80042578 38 C0 02 01 */ li r6, 0x201 -/* 8004257C A0 FD 00 DC */ lhz r7, 0xdc(r29) -/* 80042580 7F C8 F3 78 */ mr r8, r30 -/* 80042584 7F EA FB 78 */ mr r10, r31 -/* 80042588 4B FF F0 E1 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8004258C: -/* 8004258C 93 DD 00 F8 */ stw r30, 0xf8(r29) -/* 80042590 A0 1D 00 D8 */ lhz r0, 0xd8(r29) -/* 80042594 60 00 00 08 */ ori r0, r0, 8 -/* 80042598 B0 1D 00 D8 */ sth r0, 0xd8(r29) -/* 8004259C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800425A0 48 31 FC 89 */ bl _restgpr_29 -/* 800425A4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800425A8 7C 08 03 A6 */ mtlr r0 -/* 800425AC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800425B0 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/reset__14dEvt_control_cFv.s b/asm/d/event/d_event/reset__14dEvt_control_cFv.s deleted file mode 100644 index d8aa329c5f..0000000000 --- a/asm/d/event/d_event/reset__14dEvt_control_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80042468: -/* 80042468 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8004246C 7C 08 02 A6 */ mflr r0 -/* 80042470 90 01 00 24 */ stw r0, 0x24(r1) -/* 80042474 39 61 00 20 */ addi r11, r1, 0x20 -/* 80042478 48 31 FD 65 */ bl _savegpr_29 -/* 8004247C 7C 7D 1B 78 */ mr r29, r3 -/* 80042480 88 03 00 EC */ lbz r0, 0xec(r3) -/* 80042484 28 00 00 FF */ cmplwi r0, 0xff -/* 80042488 41 82 00 6C */ beq lbl_800424F4 -/* 8004248C 80 9D 00 C4 */ lwz r4, 0xc4(r29) -/* 80042490 48 00 0E 5D */ bl convPId__14dEvt_control_cFUi -/* 80042494 7C 7F 1B 78 */ mr r31, r3 -/* 80042498 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8004249C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800424A0 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800424A4 38 80 00 00 */ li r4, 0 -/* 800424A8 88 BD 00 EC */ lbz r5, 0xec(r29) -/* 800424AC 38 C0 FF FF */ li r6, -1 -/* 800424B0 48 00 50 65 */ bl getEventIdx__16dEvent_manager_cFPCcUcl -/* 800424B4 7C 7E 1B 78 */ mr r30, r3 -/* 800424B8 7F A3 EB 78 */ mr r3, r29 -/* 800424BC 80 9D 00 C8 */ lwz r4, 0xc8(r29) -/* 800424C0 48 00 0E 2D */ bl convPId__14dEvt_control_cFUi -/* 800424C4 7C 69 1B 78 */ mr r9, r3 -/* 800424C8 88 1D 00 EC */ lbz r0, 0xec(r29) -/* 800424CC 90 01 00 08 */ stw r0, 8(r1) -/* 800424D0 7F A3 EB 78 */ mr r3, r29 -/* 800424D4 38 80 00 02 */ li r4, 2 -/* 800424D8 38 A0 00 03 */ li r5, 3 -/* 800424DC 38 C0 02 01 */ li r6, 0x201 -/* 800424E0 A0 FD 00 DC */ lhz r7, 0xdc(r29) -/* 800424E4 7F E8 FB 78 */ mr r8, r31 -/* 800424E8 7F CA F3 78 */ mr r10, r30 -/* 800424EC 4B FF F1 7D */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -/* 800424F0 93 FD 00 F8 */ stw r31, 0xf8(r29) -lbl_800424F4: -/* 800424F4 A0 1D 00 D8 */ lhz r0, 0xd8(r29) -/* 800424F8 60 00 00 08 */ ori r0, r0, 8 -/* 800424FC B0 1D 00 D8 */ sth r0, 0xd8(r29) -/* 80042500 39 61 00 20 */ addi r11, r1, 0x20 -/* 80042504 48 31 FD 25 */ bl _restgpr_29 -/* 80042508 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004250C 7C 08 03 A6 */ mtlr r0 -/* 80042510 38 21 00 20 */ addi r1, r1, 0x20 -/* 80042514 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUcl.s b/asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUcl.s deleted file mode 100644 index b3bfd5c3f6..0000000000 --- a/asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUcl.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_80043500: -/* 80043500 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80043504 7C 08 02 A6 */ mflr r0 -/* 80043508 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004350C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80043510 93 C1 00 08 */ stw r30, 8(r1) -/* 80043514 7C 7E 1B 78 */ mr r30, r3 -/* 80043518 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8004351C 28 00 00 FF */ cmplwi r0, 0xff -/* 80043520 40 82 00 0C */ bne lbl_8004352C -/* 80043524 38 60 00 00 */ li r3, 0 -/* 80043528 48 00 00 CC */ b lbl_800435F4 -lbl_8004352C: -/* 8004352C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80043530 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80043534 38 7F 4E C4 */ addi r3, r31, 0x4ec4 -/* 80043538 4B FE 0E 4D */ bl getStatusRoomDt__20dStage_roomControl_cFi -/* 8004353C 28 03 00 00 */ cmplwi r3, 0 -/* 80043540 41 82 00 58 */ beq lbl_80043598 -/* 80043544 81 83 00 00 */ lwz r12, 0(r3) -/* 80043548 81 8C 00 FC */ lwz r12, 0xfc(r12) -/* 8004354C 7D 89 03 A6 */ mtctr r12 -/* 80043550 4E 80 04 21 */ bctrl -/* 80043554 28 03 00 00 */ cmplwi r3, 0 -/* 80043558 41 82 00 40 */ beq lbl_80043598 -/* 8004355C 38 80 00 00 */ li r4, 0 -/* 80043560 80 03 00 00 */ lwz r0, 0(r3) -/* 80043564 57 C5 06 3E */ clrlwi r5, r30, 0x18 -/* 80043568 7C 09 03 A6 */ mtctr r0 -/* 8004356C 2C 00 00 00 */ cmpwi r0, 0 -/* 80043570 40 81 00 28 */ ble lbl_80043598 -lbl_80043574: -/* 80043574 80 03 00 04 */ lwz r0, 4(r3) -/* 80043578 7C C0 22 14 */ add r6, r0, r4 -/* 8004357C 88 06 00 04 */ lbz r0, 4(r6) -/* 80043580 7C 05 00 40 */ cmplw r5, r0 -/* 80043584 40 82 00 0C */ bne lbl_80043590 -/* 80043588 7C C3 33 78 */ mr r3, r6 -/* 8004358C 48 00 00 68 */ b lbl_800435F4 -lbl_80043590: -/* 80043590 38 84 00 1C */ addi r4, r4, 0x1c -/* 80043594 42 00 FF E0 */ bdnz lbl_80043574 -lbl_80043598: -/* 80043598 38 7F 4E 20 */ addi r3, r31, 0x4e20 -/* 8004359C 81 9F 4E 20 */ lwz r12, 0x4e20(r31) -/* 800435A0 81 8C 00 FC */ lwz r12, 0xfc(r12) -/* 800435A4 7D 89 03 A6 */ mtctr r12 -/* 800435A8 4E 80 04 21 */ bctrl -/* 800435AC 28 03 00 00 */ cmplwi r3, 0 -/* 800435B0 41 82 00 40 */ beq lbl_800435F0 -/* 800435B4 38 80 00 00 */ li r4, 0 -/* 800435B8 80 03 00 00 */ lwz r0, 0(r3) -/* 800435BC 57 C5 06 3E */ clrlwi r5, r30, 0x18 -/* 800435C0 7C 09 03 A6 */ mtctr r0 -/* 800435C4 2C 00 00 00 */ cmpwi r0, 0 -/* 800435C8 40 81 00 28 */ ble lbl_800435F0 -lbl_800435CC: -/* 800435CC 80 03 00 04 */ lwz r0, 4(r3) -/* 800435D0 7C C0 22 14 */ add r6, r0, r4 -/* 800435D4 88 06 00 04 */ lbz r0, 4(r6) -/* 800435D8 7C 05 00 40 */ cmplw r5, r0 -/* 800435DC 40 82 00 0C */ bne lbl_800435E8 -/* 800435E0 7C C3 33 78 */ mr r3, r6 -/* 800435E4 48 00 00 10 */ b lbl_800435F4 -lbl_800435E8: -/* 800435E8 38 84 00 1C */ addi r4, r4, 0x1c -/* 800435EC 42 00 FF E0 */ bdnz lbl_800435CC -lbl_800435F0: -/* 800435F0 38 60 00 00 */ li r3, 0 -lbl_800435F4: -/* 800435F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800435F8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800435FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80043600 7C 08 03 A6 */ mtlr r0 -/* 80043604 38 21 00 10 */ addi r1, r1, 0x10 -/* 80043608 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/setParam__14dEvt_control_cFP12dEvt_order_c.s b/asm/d/event/d_event/setParam__14dEvt_control_cFP12dEvt_order_c.s deleted file mode 100644 index 43b334d3ef..0000000000 --- a/asm/d/event/d_event/setParam__14dEvt_control_cFP12dEvt_order_c.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_80041804: -/* 80041804 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80041808 7C 08 02 A6 */ mflr r0 -/* 8004180C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80041810 39 61 00 20 */ addi r11, r1, 0x20 -/* 80041814 48 32 09 C5 */ bl _savegpr_28 -/* 80041818 7C 7E 1B 78 */ mr r30, r3 -/* 8004181C 7C 9F 23 78 */ mr r31, r4 -/* 80041820 80 84 00 08 */ lwz r4, 8(r4) -/* 80041824 48 00 1E 09 */ bl setPt1__14dEvt_control_cFPv -/* 80041828 7F C3 F3 78 */ mr r3, r30 -/* 8004182C 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80041830 48 00 1E 2D */ bl setPt2__14dEvt_control_cFPv -/* 80041834 A8 1F 00 10 */ lha r0, 0x10(r31) -/* 80041838 B0 1E 00 DE */ sth r0, 0xde(r30) -/* 8004183C A0 1F 00 04 */ lhz r0, 4(r31) -/* 80041840 B0 1E 00 DC */ sth r0, 0xdc(r30) -/* 80041844 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80041848 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8004184C 80 03 5D AC */ lwz r0, 0x5dac(r3) -/* 80041850 80 9F 00 08 */ lwz r4, 8(r31) -/* 80041854 7C 00 20 40 */ cmplw r0, r4 -/* 80041858 41 82 00 1C */ beq lbl_80041874 -/* 8004185C 7F C3 F3 78 */ mr r3, r30 -/* 80041860 48 00 1E 2D */ bl setPtT__14dEvt_control_cFPv -/* 80041864 7F C3 F3 78 */ mr r3, r30 -/* 80041868 80 9F 00 08 */ lwz r4, 8(r31) -/* 8004186C 48 00 1E 51 */ bl setPtI__14dEvt_control_cFPv -/* 80041870 48 00 00 1C */ b lbl_8004188C -lbl_80041874: -/* 80041874 7F C3 F3 78 */ mr r3, r30 -/* 80041878 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 8004187C 48 00 1E 11 */ bl setPtT__14dEvt_control_cFPv -/* 80041880 7F C3 F3 78 */ mr r3, r30 -/* 80041884 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80041888 48 00 1E 35 */ bl setPtI__14dEvt_control_cFPv -lbl_8004188C: -/* 8004188C 88 1F 00 15 */ lbz r0, 0x15(r31) -/* 80041890 98 1E 00 EB */ stb r0, 0xeb(r30) -/* 80041894 38 00 00 FF */ li r0, 0xff -/* 80041898 98 1E 00 EA */ stb r0, 0xea(r30) -/* 8004189C 98 1E 00 EC */ stb r0, 0xec(r30) -/* 800418A0 8B 8D 87 E4 */ lbz r28, struct_80450D64+0x0(r13) -/* 800418A4 7F 9C 07 74 */ extsb r28, r28 -/* 800418A8 88 7E 00 EB */ lbz r3, 0xeb(r30) -/* 800418AC 7F 84 E3 78 */ mr r4, r28 -/* 800418B0 48 00 1C 51 */ bl searchMapEventData__14dEvt_control_cFUcl -/* 800418B4 7C 7D 1B 79 */ or. r29, r3, r3 -/* 800418B8 93 BE 00 F4 */ stw r29, 0xf4(r30) -/* 800418BC 41 82 00 3C */ beq lbl_800418F8 -/* 800418C0 88 1D 00 16 */ lbz r0, 0x16(r29) -/* 800418C4 98 1E 00 EA */ stb r0, 0xea(r30) -/* 800418C8 88 9D 00 1B */ lbz r4, 0x1b(r29) -/* 800418CC 28 04 00 FF */ cmplwi r4, 0xff -/* 800418D0 41 82 00 14 */ beq lbl_800418E4 -/* 800418D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800418D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800418DC 7F 85 E3 78 */ mr r5, r28 -/* 800418E0 4B FF 39 21 */ bl onSwitch__10dSv_info_cFii -lbl_800418E4: -/* 800418E4 A0 1F 00 02 */ lhz r0, 2(r31) -/* 800418E8 54 00 05 AF */ rlwinm. r0, r0, 0, 0x16, 0x17 -/* 800418EC 41 82 00 0C */ beq lbl_800418F8 -/* 800418F0 88 1D 00 05 */ lbz r0, 5(r29) -/* 800418F4 98 1E 00 EC */ stb r0, 0xec(r30) -lbl_800418F8: -/* 800418F8 A0 1F 00 02 */ lhz r0, 2(r31) -/* 800418FC 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 -/* 80041900 40 82 00 0C */ bne lbl_8004190C -/* 80041904 A8 1F 00 10 */ lha r0, 0x10(r31) -/* 80041908 B0 1E 00 E0 */ sth r0, 0xe0(r30) -lbl_8004190C: -/* 8004190C C0 02 84 C0 */ lfs f0, lit_4361(r2) -/* 80041910 D0 1E 00 F0 */ stfs f0, 0xf0(r30) -/* 80041914 38 00 00 00 */ li r0, 0 -/* 80041918 B0 1E 00 D8 */ sth r0, 0xd8(r30) -/* 8004191C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80041920 48 32 09 05 */ bl _restgpr_28 -/* 80041924 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80041928 7C 08 03 A6 */ mtlr r0 -/* 8004192C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80041930 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/skipper__14dEvt_control_cFv.s b/asm/d/event/d_event/skipper__14dEvt_control_cFv.s deleted file mode 100644 index 730fb9c3f6..0000000000 --- a/asm/d/event/d_event/skipper__14dEvt_control_cFv.s +++ /dev/null @@ -1,135 +0,0 @@ -lbl_800429D4: -/* 800429D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800429D8 7C 08 02 A6 */ mflr r0 -/* 800429DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800429E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800429E4 48 31 F7 F9 */ bl _savegpr_29 -/* 800429E8 7C 7D 1B 78 */ mr r29, r3 -/* 800429EC 3B E0 00 00 */ li r31, 0 -/* 800429F0 3B C0 00 00 */ li r30, 0 -/* 800429F4 A0 03 00 DA */ lhz r0, 0xda(r3) -/* 800429F8 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 800429FC B0 03 00 DA */ sth r0, 0xda(r3) -/* 80042A00 88 03 00 E5 */ lbz r0, 0xe5(r3) -/* 80042A04 28 00 00 01 */ cmplwi r0, 1 -/* 80042A08 40 82 01 98 */ bne lbl_80042BA0 -/* 80042A0C 80 1D 01 00 */ lwz r0, 0x100(r29) -/* 80042A10 28 00 00 00 */ cmplwi r0, 0 -/* 80042A14 41 82 00 08 */ beq lbl_80042A1C -/* 80042A18 3B C0 00 01 */ li r30, 1 -lbl_80042A1C: -/* 80042A1C 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 80042A20 38 63 D2 E8 */ addi r3, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 80042A24 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80042A28 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 80042A2C 41 82 00 44 */ beq lbl_80042A70 -/* 80042A30 80 1D 01 08 */ lwz r0, 0x108(r29) -/* 80042A34 2C 00 00 00 */ cmpwi r0, 0 -/* 80042A38 40 81 00 2C */ ble lbl_80042A64 -/* 80042A3C 38 00 FF FF */ li r0, -1 -/* 80042A40 90 1D 01 08 */ stw r0, 0x108(r29) -/* 80042A44 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80042A48 41 82 00 28 */ beq lbl_80042A70 -/* 80042A4C 80 1D 01 10 */ lwz r0, 0x110(r29) -/* 80042A50 2C 00 00 00 */ cmpwi r0, 0 -/* 80042A54 41 82 00 1C */ beq lbl_80042A70 -/* 80042A58 C0 22 84 C4 */ lfs f1, lit_4904(r2) -/* 80042A5C 4B FC 56 75 */ bl fadeOut__13mDoGph_gInf_cFf -/* 80042A60 48 00 00 10 */ b lbl_80042A70 -lbl_80042A64: -/* 80042A64 40 82 00 0C */ bne lbl_80042A70 -/* 80042A68 38 00 00 01 */ li r0, 1 -/* 80042A6C 90 1D 01 08 */ stw r0, 0x108(r29) -lbl_80042A70: -/* 80042A70 80 7D 01 08 */ lwz r3, 0x108(r29) -/* 80042A74 2C 03 00 00 */ cmpwi r3, 0 -/* 80042A78 40 81 00 60 */ ble lbl_80042AD8 -/* 80042A7C 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80042A80 41 82 00 20 */ beq lbl_80042AA0 -/* 80042A84 38 00 00 43 */ li r0, 0x43 -/* 80042A88 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80042A8C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80042A90 98 03 5E 40 */ stb r0, 0x5e40(r3) -/* 80042A94 38 00 00 01 */ li r0, 1 -/* 80042A98 98 03 5E 5A */ stb r0, 0x5e5a(r3) -/* 80042A9C 48 00 00 1C */ b lbl_80042AB8 -lbl_80042AA0: -/* 80042AA0 38 00 00 4D */ li r0, 0x4d -/* 80042AA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80042AA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80042AAC 98 03 5E 40 */ stb r0, 0x5e40(r3) -/* 80042AB0 38 00 00 01 */ li r0, 1 -/* 80042AB4 98 03 5E 5A */ stb r0, 0x5e5a(r3) -lbl_80042AB8: -/* 80042AB8 80 7D 01 08 */ lwz r3, 0x108(r29) -/* 80042ABC 38 03 00 01 */ addi r0, r3, 1 -/* 80042AC0 90 1D 01 08 */ stw r0, 0x108(r29) -/* 80042AC4 2C 03 00 2D */ cmpwi r3, 0x2d -/* 80042AC8 40 81 00 5C */ ble lbl_80042B24 -/* 80042ACC 38 00 00 00 */ li r0, 0 -/* 80042AD0 90 1D 01 08 */ stw r0, 0x108(r29) -/* 80042AD4 48 00 00 50 */ b lbl_80042B24 -lbl_80042AD8: -/* 80042AD8 41 82 00 4C */ beq lbl_80042B24 -/* 80042ADC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80042AE0 41 82 00 30 */ beq lbl_80042B10 -/* 80042AE4 80 1D 01 10 */ lwz r0, 0x110(r29) -/* 80042AE8 2C 00 00 00 */ cmpwi r0, 0 -/* 80042AEC 41 82 00 24 */ beq lbl_80042B10 -/* 80042AF0 38 03 FF FF */ addi r0, r3, -1 -/* 80042AF4 90 1D 01 08 */ stw r0, 0x108(r29) -/* 80042AF8 2C 03 FF EC */ cmpwi r3, -20 -/* 80042AFC 40 80 00 28 */ bge lbl_80042B24 -/* 80042B00 3B E0 00 01 */ li r31, 1 -/* 80042B04 38 00 00 00 */ li r0, 0 -/* 80042B08 90 1D 01 08 */ stw r0, 0x108(r29) -/* 80042B0C 48 00 00 18 */ b lbl_80042B24 -lbl_80042B10: -/* 80042B10 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80042B14 41 82 00 08 */ beq lbl_80042B1C -/* 80042B18 3B E0 00 01 */ li r31, 1 -lbl_80042B1C: -/* 80042B1C 38 00 00 00 */ li r0, 0 -/* 80042B20 90 1D 01 08 */ stw r0, 0x108(r29) -lbl_80042B24: -/* 80042B24 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 80042B28 41 82 00 78 */ beq lbl_80042BA0 -/* 80042B2C 48 1F 4E 69 */ bl onKillMessageFlag__12dMsgObject_cFv -/* 80042B30 7F A3 EB 78 */ mr r3, r29 -/* 80042B34 80 9D 01 04 */ lwz r4, 0x104(r29) -/* 80042B38 48 00 07 B5 */ bl convPId__14dEvt_control_cFUi -/* 80042B3C 28 03 00 00 */ cmplwi r3, 0 -/* 80042B40 40 82 00 10 */ bne lbl_80042B50 -/* 80042B44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80042B48 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80042B4C 80 63 5D AC */ lwz r3, 0x5dac(r3) -lbl_80042B50: -/* 80042B50 80 9D 01 0C */ lwz r4, 0x10c(r29) -/* 80042B54 81 9D 01 00 */ lwz r12, 0x100(r29) -/* 80042B58 7D 89 03 A6 */ mtctr r12 -/* 80042B5C 4E 80 04 21 */ bctrl -/* 80042B60 A0 1D 00 DA */ lhz r0, 0xda(r29) -/* 80042B64 60 00 00 08 */ ori r0, r0, 8 -/* 80042B68 B0 1D 00 DA */ sth r0, 0xda(r29) -/* 80042B6C 2C 03 00 00 */ cmpwi r3, 0 -/* 80042B70 41 82 00 30 */ beq lbl_80042BA0 -/* 80042B74 38 00 00 00 */ li r0, 0 -/* 80042B78 90 1D 01 00 */ stw r0, 0x100(r29) -/* 80042B7C 2C 03 00 02 */ cmpwi r3, 2 -/* 80042B80 40 82 00 14 */ bne lbl_80042B94 -/* 80042B84 A0 1D 00 DA */ lhz r0, 0xda(r29) -/* 80042B88 60 00 00 01 */ ori r0, r0, 1 -/* 80042B8C B0 1D 00 DA */ sth r0, 0xda(r29) -/* 80042B90 48 00 00 10 */ b lbl_80042BA0 -lbl_80042B94: -/* 80042B94 A0 1D 00 DA */ lhz r0, 0xda(r29) -/* 80042B98 60 00 00 02 */ ori r0, r0, 2 -/* 80042B9C B0 1D 00 DA */ sth r0, 0xda(r29) -lbl_80042BA0: -/* 80042BA0 7F E3 FB 78 */ mr r3, r31 -/* 80042BA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80042BA8 48 31 F6 81 */ bl _restgpr_29 -/* 80042BAC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80042BB0 7C 08 03 A6 */ mtlr r0 -/* 80042BB4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80042BB8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/__ct__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/__ct__12dMenu_save_cFv.s deleted file mode 100644 index 54715caf35..0000000000 --- a/asm/d/menu/d_menu_save/__ct__12dMenu_save_cFv.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_801EF6A0: -/* 801EF6A0 3C 80 80 3C */ lis r4, __vt__12dMenu_save_c@ha /* 0x803BBD78@ha */ -/* 801EF6A4 38 04 BD 78 */ addi r0, r4, __vt__12dMenu_save_c@l /* 0x803BBD78@l */ -/* 801EF6A8 90 03 00 00 */ stw r0, 0(r3) -/* 801EF6AC 3C 80 80 3A */ lis r4, __vt__12dDlst_base_c@ha /* 0x803A6F88@ha */ -/* 801EF6B0 38 C4 6F 88 */ addi r6, r4, __vt__12dDlst_base_c@l /* 0x803A6F88@l */ -/* 801EF6B4 90 C3 00 10 */ stw r6, 0x10(r3) -/* 801EF6B8 3C 80 80 3C */ lis r4, __vt__23dDlst_MenuSaveExplain_c@ha /* 0x803BE774@ha */ -/* 801EF6BC 38 04 E7 74 */ addi r0, r4, __vt__23dDlst_MenuSaveExplain_c@l /* 0x803BE774@l */ -/* 801EF6C0 90 03 00 10 */ stw r0, 0x10(r3) -/* 801EF6C4 38 A0 00 00 */ li r5, 0 -/* 801EF6C8 90 A3 00 14 */ stw r5, 0x14(r3) -/* 801EF6CC 90 C3 00 18 */ stw r6, 0x18(r3) -/* 801EF6D0 3C 80 80 3C */ lis r4, __vt__16dDlst_MenuSave_c@ha /* 0x803BE764@ha */ -/* 801EF6D4 38 04 E7 64 */ addi r0, r4, __vt__16dDlst_MenuSave_c@l /* 0x803BE764@l */ -/* 801EF6D8 90 03 00 18 */ stw r0, 0x18(r3) -/* 801EF6DC 90 A3 00 1C */ stw r5, 0x1c(r3) -/* 801EF6E0 90 A3 00 28 */ stw r5, 0x28(r3) -/* 801EF6E4 90 A3 21 8C */ stw r5, 0x218c(r3) -/* 801EF6E8 90 A3 00 30 */ stw r5, 0x30(r3) -/* 801EF6EC 90 A3 00 2C */ stw r5, 0x2c(r3) -/* 801EF6F0 7C A4 2B 78 */ mr r4, r5 -/* 801EF6F4 38 00 00 03 */ li r0, 3 -/* 801EF6F8 7C 09 03 A6 */ mtctr r0 -lbl_801EF6FC: -/* 801EF6FC 7C C3 22 14 */ add r6, r3, r4 -/* 801EF700 90 A6 00 D4 */ stw r5, 0xd4(r6) -/* 801EF704 90 A6 00 E0 */ stw r5, 0xe0(r6) -/* 801EF708 90 A6 00 EC */ stw r5, 0xec(r6) -/* 801EF70C 90 A6 00 F8 */ stw r5, 0xf8(r6) -/* 801EF710 90 A6 00 68 */ stw r5, 0x68(r6) -/* 801EF714 90 A6 00 34 */ stw r5, 0x34(r6) -/* 801EF718 38 84 00 04 */ addi r4, r4, 4 -/* 801EF71C 42 00 FF E0 */ bdnz lbl_801EF6FC -/* 801EF720 38 A0 00 00 */ li r5, 0 -/* 801EF724 90 A3 00 58 */ stw r5, 0x58(r3) -/* 801EF728 38 80 00 00 */ li r4, 0 -/* 801EF72C 38 00 00 02 */ li r0, 2 -/* 801EF730 7C 09 03 A6 */ mtctr r0 -lbl_801EF734: -/* 801EF734 7C C3 22 14 */ add r6, r3, r4 -/* 801EF738 90 A6 00 84 */ stw r5, 0x84(r6) -/* 801EF73C 90 A6 01 18 */ stw r5, 0x118(r6) -/* 801EF740 90 A6 01 20 */ stw r5, 0x120(r6) -/* 801EF744 90 A6 01 28 */ stw r5, 0x128(r6) -/* 801EF748 90 A6 01 68 */ stw r5, 0x168(r6) -/* 801EF74C 90 A6 00 C0 */ stw r5, 0xc0(r6) -/* 801EF750 90 A6 01 38 */ stw r5, 0x138(r6) -/* 801EF754 38 84 00 04 */ addi r4, r4, 4 -/* 801EF758 42 00 FF DC */ bdnz lbl_801EF734 -/* 801EF75C 38 00 00 00 */ li r0, 0 -/* 801EF760 90 03 00 40 */ stw r0, 0x40(r3) -/* 801EF764 90 03 00 44 */ stw r0, 0x44(r3) -/* 801EF768 90 03 00 48 */ stw r0, 0x48(r3) -/* 801EF76C 90 03 01 40 */ stw r0, 0x140(r3) -/* 801EF770 90 03 01 48 */ stw r0, 0x148(r3) -/* 801EF774 90 03 01 50 */ stw r0, 0x150(r3) -/* 801EF778 90 03 01 58 */ stw r0, 0x158(r3) -/* 801EF77C 90 03 01 60 */ stw r0, 0x160(r3) -/* 801EF780 90 03 00 4C */ stw r0, 0x4c(r3) -/* 801EF784 90 03 01 94 */ stw r0, 0x194(r3) -/* 801EF788 90 03 01 98 */ stw r0, 0x198(r3) -/* 801EF78C 90 03 01 A0 */ stw r0, 0x1a0(r3) -/* 801EF790 90 03 01 A4 */ stw r0, 0x1a4(r3) -/* 801EF794 90 03 00 04 */ stw r0, 4(r3) -/* 801EF798 98 03 01 B0 */ stb r0, 0x1b0(r3) -/* 801EF79C 90 03 00 08 */ stw r0, 8(r3) -/* 801EF7A0 98 03 21 A2 */ stb r0, 0x21a2(r3) -/* 801EF7A4 98 03 21 A1 */ stb r0, 0x21a1(r3) -/* 801EF7A8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/__ct__9dMs_HIO_cFv.s b/asm/d/menu/d_menu_save/__ct__9dMs_HIO_cFv.s deleted file mode 100644 index 55dd1ee2db..0000000000 --- a/asm/d/menu/d_menu_save/__ct__9dMs_HIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801EF654: -/* 801EF654 3C 80 80 3C */ lis r4, __vt__9dMs_HIO_c@ha /* 0x803BE7CC@ha */ -/* 801EF658 38 04 E7 CC */ addi r0, r4, __vt__9dMs_HIO_c@l /* 0x803BE7CC@l */ -/* 801EF65C 90 03 00 00 */ stw r0, 0(r3) -/* 801EF660 38 80 00 0F */ li r4, 0xf -/* 801EF664 98 83 00 05 */ stb r4, 5(r3) -/* 801EF668 38 00 00 5A */ li r0, 0x5a -/* 801EF66C 98 03 00 06 */ stb r0, 6(r3) -/* 801EF670 38 00 00 05 */ li r0, 5 -/* 801EF674 98 03 00 07 */ stb r0, 7(r3) -/* 801EF678 98 03 00 08 */ stb r0, 8(r3) -/* 801EF67C 98 03 00 09 */ stb r0, 9(r3) -/* 801EF680 98 03 00 0A */ stb r0, 0xa(r3) -/* 801EF684 98 83 00 0B */ stb r4, 0xb(r3) -/* 801EF688 38 00 00 00 */ li r0, 0 -/* 801EF68C 98 03 00 0C */ stb r0, 0xc(r3) -/* 801EF690 98 03 00 0D */ stb r0, 0xd(r3) -/* 801EF694 98 03 00 0E */ stb r0, 0xe(r3) -/* 801EF698 98 03 00 0F */ stb r0, 0xf(r3) -/* 801EF69C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/__dt__16dDlst_MenuSave_cFv.s b/asm/d/menu/d_menu_save/__dt__16dDlst_MenuSave_cFv.s deleted file mode 100644 index 83a7d2c5a6..0000000000 --- a/asm/d/menu/d_menu_save/__dt__16dDlst_MenuSave_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801F6B44: -/* 801F6B44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F6B48 7C 08 02 A6 */ mflr r0 -/* 801F6B4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F6B50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F6B54 7C 7F 1B 79 */ or. r31, r3, r3 -/* 801F6B58 41 82 00 1C */ beq lbl_801F6B74 -/* 801F6B5C 3C A0 80 3C */ lis r5, __vt__16dDlst_MenuSave_c@ha /* 0x803BE764@ha */ -/* 801F6B60 38 05 E7 64 */ addi r0, r5, __vt__16dDlst_MenuSave_c@l /* 0x803BE764@l */ -/* 801F6B64 90 1F 00 00 */ stw r0, 0(r31) -/* 801F6B68 7C 80 07 35 */ extsh. r0, r4 -/* 801F6B6C 40 81 00 08 */ ble lbl_801F6B74 -/* 801F6B70 48 0D 81 CD */ bl __dl__FPv -lbl_801F6B74: -/* 801F6B74 7F E3 FB 78 */ mr r3, r31 -/* 801F6B78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F6B7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F6B80 7C 08 03 A6 */ mtlr r0 -/* 801F6B84 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F6B88 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/__dt__23dDlst_MenuSaveExplain_cFv.s b/asm/d/menu/d_menu_save/__dt__23dDlst_MenuSaveExplain_cFv.s deleted file mode 100644 index 66c83ec3ac..0000000000 --- a/asm/d/menu/d_menu_save/__dt__23dDlst_MenuSaveExplain_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801F6B8C: -/* 801F6B8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F6B90 7C 08 02 A6 */ mflr r0 -/* 801F6B94 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F6B98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F6B9C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 801F6BA0 41 82 00 1C */ beq lbl_801F6BBC -/* 801F6BA4 3C A0 80 3C */ lis r5, __vt__23dDlst_MenuSaveExplain_c@ha /* 0x803BE774@ha */ -/* 801F6BA8 38 05 E7 74 */ addi r0, r5, __vt__23dDlst_MenuSaveExplain_c@l /* 0x803BE774@l */ -/* 801F6BAC 90 1F 00 00 */ stw r0, 0(r31) -/* 801F6BB0 7C 80 07 35 */ extsh. r0, r4 -/* 801F6BB4 40 81 00 08 */ ble lbl_801F6BBC -/* 801F6BB8 48 0D 81 85 */ bl __dl__FPv -lbl_801F6BBC: -/* 801F6BBC 7F E3 FB 78 */ mr r3, r31 -/* 801F6BC0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F6BC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F6BC8 7C 08 03 A6 */ mtlr r0 -/* 801F6BCC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F6BD0 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/__dt__9dMs_HIO_cFv.s b/asm/d/menu/d_menu_save/__dt__9dMs_HIO_cFv.s deleted file mode 100644 index 9a0e99cff9..0000000000 --- a/asm/d/menu/d_menu_save/__dt__9dMs_HIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801F6BD4: -/* 801F6BD4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F6BD8 7C 08 02 A6 */ mflr r0 -/* 801F6BDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F6BE0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F6BE4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 801F6BE8 41 82 00 1C */ beq lbl_801F6C04 -/* 801F6BEC 3C A0 80 3C */ lis r5, __vt__9dMs_HIO_c@ha /* 0x803BE7CC@ha */ -/* 801F6BF0 38 05 E7 CC */ addi r0, r5, __vt__9dMs_HIO_c@l /* 0x803BE7CC@l */ -/* 801F6BF4 90 1F 00 00 */ stw r0, 0(r31) -/* 801F6BF8 7C 80 07 35 */ extsh. r0, r4 -/* 801F6BFC 40 81 00 08 */ ble lbl_801F6C04 -/* 801F6C00 48 0D 81 3D */ bl __dl__FPv -lbl_801F6C04: -/* 801F6C04 7F E3 FB 78 */ mr r3, r31 -/* 801F6C08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F6C0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F6C10 7C 08 03 A6 */ mtlr r0 -/* 801F6C14 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F6C18 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/__sinit_d_menu_save_cpp.s b/asm/d/menu/d_menu_save/__sinit_d_menu_save_cpp.s deleted file mode 100644 index 377d07f7c1..0000000000 --- a/asm/d/menu/d_menu_save/__sinit_d_menu_save_cpp.s +++ /dev/null @@ -1,387 +0,0 @@ -lbl_801F6C1C: -/* 801F6C1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F6C20 7C 08 02 A6 */ mflr r0 -/* 801F6C24 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F6C28 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F6C2C 3C 60 80 3C */ lis r3, cNullVec__6Z2Calc@ha /* 0x803BDF78@ha */ -/* 801F6C30 3B E3 DF 78 */ addi r31, r3, cNullVec__6Z2Calc@l /* 0x803BDF78@l */ -/* 801F6C34 3C 60 80 43 */ lis r3, g_msHIO@ha /* 0x8042E84C@ha */ -/* 801F6C38 38 63 E8 4C */ addi r3, r3, g_msHIO@l /* 0x8042E84C@l */ -/* 801F6C3C 4B FF 8A 19 */ bl __ct__9dMs_HIO_cFv -/* 801F6C40 3C 80 80 1F */ lis r4, __dt__9dMs_HIO_cFv@ha /* 0x801F6BD4@ha */ -/* 801F6C44 38 84 6B D4 */ addi r4, r4, __dt__9dMs_HIO_cFv@l /* 0x801F6BD4@l */ -/* 801F6C48 3C A0 80 43 */ lis r5, lit_3785@ha /* 0x8042E840@ha */ -/* 801F6C4C 38 A5 E8 40 */ addi r5, r5, lit_3785@l /* 0x8042E840@l */ -/* 801F6C50 48 16 AF D5 */ bl __register_global_object -/* 801F6C54 80 7F 01 D0 */ lwz r3, 0x1d0(r31) -/* 801F6C58 80 1F 01 D4 */ lwz r0, 0x1d4(r31) -/* 801F6C5C 90 7F 04 AC */ stw r3, 0x4ac(r31) -/* 801F6C60 90 1F 04 B0 */ stw r0, 0x4b0(r31) -/* 801F6C64 80 1F 01 D8 */ lwz r0, 0x1d8(r31) -/* 801F6C68 90 1F 04 B4 */ stw r0, 0x4b4(r31) -/* 801F6C6C 38 7F 04 AC */ addi r3, r31, 0x4ac -/* 801F6C70 80 9F 01 DC */ lwz r4, 0x1dc(r31) -/* 801F6C74 80 1F 01 E0 */ lwz r0, 0x1e0(r31) -/* 801F6C78 90 83 00 0C */ stw r4, 0xc(r3) -/* 801F6C7C 90 03 00 10 */ stw r0, 0x10(r3) -/* 801F6C80 80 1F 01 E4 */ lwz r0, 0x1e4(r31) -/* 801F6C84 90 03 00 14 */ stw r0, 0x14(r3) -/* 801F6C88 80 9F 01 E8 */ lwz r4, 0x1e8(r31) -/* 801F6C8C 80 1F 01 EC */ lwz r0, 0x1ec(r31) -/* 801F6C90 90 83 00 18 */ stw r4, 0x18(r3) -/* 801F6C94 90 03 00 1C */ stw r0, 0x1c(r3) -/* 801F6C98 80 1F 01 F0 */ lwz r0, 0x1f0(r31) -/* 801F6C9C 90 03 00 20 */ stw r0, 0x20(r3) -/* 801F6CA0 80 9F 01 F4 */ lwz r4, 0x1f4(r31) -/* 801F6CA4 80 1F 01 F8 */ lwz r0, 0x1f8(r31) -/* 801F6CA8 90 83 00 24 */ stw r4, 0x24(r3) -/* 801F6CAC 90 03 00 28 */ stw r0, 0x28(r3) -/* 801F6CB0 80 1F 01 FC */ lwz r0, 0x1fc(r31) -/* 801F6CB4 90 03 00 2C */ stw r0, 0x2c(r3) -/* 801F6CB8 80 9F 02 00 */ lwz r4, 0x200(r31) -/* 801F6CBC 80 1F 02 04 */ lwz r0, 0x204(r31) -/* 801F6CC0 90 83 00 30 */ stw r4, 0x30(r3) -/* 801F6CC4 90 03 00 34 */ stw r0, 0x34(r3) -/* 801F6CC8 80 1F 02 08 */ lwz r0, 0x208(r31) -/* 801F6CCC 90 03 00 38 */ stw r0, 0x38(r3) -/* 801F6CD0 80 9F 02 0C */ lwz r4, 0x20c(r31) -/* 801F6CD4 80 1F 02 10 */ lwz r0, 0x210(r31) -/* 801F6CD8 90 83 00 3C */ stw r4, 0x3c(r3) -/* 801F6CDC 90 03 00 40 */ stw r0, 0x40(r3) -/* 801F6CE0 80 1F 02 14 */ lwz r0, 0x214(r31) -/* 801F6CE4 90 03 00 44 */ stw r0, 0x44(r3) -/* 801F6CE8 80 9F 02 18 */ lwz r4, 0x218(r31) -/* 801F6CEC 80 1F 02 1C */ lwz r0, 0x21c(r31) -/* 801F6CF0 90 83 00 48 */ stw r4, 0x48(r3) -/* 801F6CF4 90 03 00 4C */ stw r0, 0x4c(r3) -/* 801F6CF8 80 1F 02 20 */ lwz r0, 0x220(r31) -/* 801F6CFC 90 03 00 50 */ stw r0, 0x50(r3) -/* 801F6D00 80 9F 02 24 */ lwz r4, 0x224(r31) -/* 801F6D04 80 1F 02 28 */ lwz r0, 0x228(r31) -/* 801F6D08 90 83 00 54 */ stw r4, 0x54(r3) -/* 801F6D0C 90 03 00 58 */ stw r0, 0x58(r3) -/* 801F6D10 80 1F 02 2C */ lwz r0, 0x22c(r31) -/* 801F6D14 90 03 00 5C */ stw r0, 0x5c(r3) -/* 801F6D18 80 9F 02 30 */ lwz r4, 0x230(r31) -/* 801F6D1C 80 1F 02 34 */ lwz r0, 0x234(r31) -/* 801F6D20 90 83 00 60 */ stw r4, 0x60(r3) -/* 801F6D24 90 03 00 64 */ stw r0, 0x64(r3) -/* 801F6D28 80 1F 02 38 */ lwz r0, 0x238(r31) -/* 801F6D2C 90 03 00 68 */ stw r0, 0x68(r3) -/* 801F6D30 80 9F 02 3C */ lwz r4, 0x23c(r31) -/* 801F6D34 80 1F 02 40 */ lwz r0, 0x240(r31) -/* 801F6D38 90 83 00 6C */ stw r4, 0x6c(r3) -/* 801F6D3C 90 03 00 70 */ stw r0, 0x70(r3) -/* 801F6D40 80 1F 02 44 */ lwz r0, 0x244(r31) -/* 801F6D44 90 03 00 74 */ stw r0, 0x74(r3) -/* 801F6D48 80 9F 02 48 */ lwz r4, 0x248(r31) -/* 801F6D4C 80 1F 02 4C */ lwz r0, 0x24c(r31) -/* 801F6D50 90 83 00 78 */ stw r4, 0x78(r3) -/* 801F6D54 90 03 00 7C */ stw r0, 0x7c(r3) -/* 801F6D58 80 1F 02 50 */ lwz r0, 0x250(r31) -/* 801F6D5C 90 03 00 80 */ stw r0, 0x80(r3) -/* 801F6D60 80 9F 02 54 */ lwz r4, 0x254(r31) -/* 801F6D64 80 1F 02 58 */ lwz r0, 0x258(r31) -/* 801F6D68 90 83 00 84 */ stw r4, 0x84(r3) -/* 801F6D6C 90 03 00 88 */ stw r0, 0x88(r3) -/* 801F6D70 80 1F 02 5C */ lwz r0, 0x25c(r31) -/* 801F6D74 90 03 00 8C */ stw r0, 0x8c(r3) -/* 801F6D78 80 9F 02 60 */ lwz r4, 0x260(r31) -/* 801F6D7C 80 1F 02 64 */ lwz r0, 0x264(r31) -/* 801F6D80 90 83 00 90 */ stw r4, 0x90(r3) -/* 801F6D84 90 03 00 94 */ stw r0, 0x94(r3) -/* 801F6D88 80 1F 02 68 */ lwz r0, 0x268(r31) -/* 801F6D8C 90 03 00 98 */ stw r0, 0x98(r3) -/* 801F6D90 80 9F 02 6C */ lwz r4, 0x26c(r31) -/* 801F6D94 80 1F 02 70 */ lwz r0, 0x270(r31) -/* 801F6D98 90 83 00 9C */ stw r4, 0x9c(r3) -/* 801F6D9C 90 03 00 A0 */ stw r0, 0xa0(r3) -/* 801F6DA0 80 1F 02 74 */ lwz r0, 0x274(r31) -/* 801F6DA4 90 03 00 A4 */ stw r0, 0xa4(r3) -/* 801F6DA8 80 9F 02 78 */ lwz r4, 0x278(r31) -/* 801F6DAC 80 1F 02 7C */ lwz r0, 0x27c(r31) -/* 801F6DB0 90 83 00 A8 */ stw r4, 0xa8(r3) -/* 801F6DB4 90 03 00 AC */ stw r0, 0xac(r3) -/* 801F6DB8 80 1F 02 80 */ lwz r0, 0x280(r31) -/* 801F6DBC 90 03 00 B0 */ stw r0, 0xb0(r3) -/* 801F6DC0 80 9F 02 84 */ lwz r4, 0x284(r31) -/* 801F6DC4 80 1F 02 88 */ lwz r0, 0x288(r31) -/* 801F6DC8 90 83 00 B4 */ stw r4, 0xb4(r3) -/* 801F6DCC 90 03 00 B8 */ stw r0, 0xb8(r3) -/* 801F6DD0 80 1F 02 8C */ lwz r0, 0x28c(r31) -/* 801F6DD4 90 03 00 BC */ stw r0, 0xbc(r3) -/* 801F6DD8 80 9F 02 90 */ lwz r4, 0x290(r31) -/* 801F6DDC 80 1F 02 94 */ lwz r0, 0x294(r31) -/* 801F6DE0 90 83 00 C0 */ stw r4, 0xc0(r3) -/* 801F6DE4 90 03 00 C4 */ stw r0, 0xc4(r3) -/* 801F6DE8 80 1F 02 98 */ lwz r0, 0x298(r31) -/* 801F6DEC 90 03 00 C8 */ stw r0, 0xc8(r3) -/* 801F6DF0 80 9F 02 9C */ lwz r4, 0x29c(r31) -/* 801F6DF4 80 1F 02 A0 */ lwz r0, 0x2a0(r31) -/* 801F6DF8 90 83 00 CC */ stw r4, 0xcc(r3) -/* 801F6DFC 90 03 00 D0 */ stw r0, 0xd0(r3) -/* 801F6E00 80 1F 02 A4 */ lwz r0, 0x2a4(r31) -/* 801F6E04 90 03 00 D4 */ stw r0, 0xd4(r3) -/* 801F6E08 80 9F 02 A8 */ lwz r4, 0x2a8(r31) -/* 801F6E0C 80 1F 02 AC */ lwz r0, 0x2ac(r31) -/* 801F6E10 90 83 00 D8 */ stw r4, 0xd8(r3) -/* 801F6E14 90 03 00 DC */ stw r0, 0xdc(r3) -/* 801F6E18 80 1F 02 B0 */ lwz r0, 0x2b0(r31) -/* 801F6E1C 90 03 00 E0 */ stw r0, 0xe0(r3) -/* 801F6E20 80 9F 02 B4 */ lwz r4, 0x2b4(r31) -/* 801F6E24 80 1F 02 B8 */ lwz r0, 0x2b8(r31) -/* 801F6E28 90 83 00 E4 */ stw r4, 0xe4(r3) -/* 801F6E2C 90 03 00 E8 */ stw r0, 0xe8(r3) -/* 801F6E30 80 1F 02 BC */ lwz r0, 0x2bc(r31) -/* 801F6E34 90 03 00 EC */ stw r0, 0xec(r3) -/* 801F6E38 80 9F 02 C0 */ lwz r4, 0x2c0(r31) -/* 801F6E3C 80 1F 02 C4 */ lwz r0, 0x2c4(r31) -/* 801F6E40 90 83 00 F0 */ stw r4, 0xf0(r3) -/* 801F6E44 90 03 00 F4 */ stw r0, 0xf4(r3) -/* 801F6E48 80 1F 02 C8 */ lwz r0, 0x2c8(r31) -/* 801F6E4C 90 03 00 F8 */ stw r0, 0xf8(r3) -/* 801F6E50 80 9F 02 CC */ lwz r4, 0x2cc(r31) -/* 801F6E54 80 1F 02 D0 */ lwz r0, 0x2d0(r31) -/* 801F6E58 90 83 00 FC */ stw r4, 0xfc(r3) -/* 801F6E5C 90 03 01 00 */ stw r0, 0x100(r3) -/* 801F6E60 80 1F 02 D4 */ lwz r0, 0x2d4(r31) -/* 801F6E64 90 03 01 04 */ stw r0, 0x104(r3) -/* 801F6E68 80 9F 02 D8 */ lwz r4, 0x2d8(r31) -/* 801F6E6C 80 1F 02 DC */ lwz r0, 0x2dc(r31) -/* 801F6E70 90 83 01 08 */ stw r4, 0x108(r3) -/* 801F6E74 90 03 01 0C */ stw r0, 0x10c(r3) -/* 801F6E78 80 1F 02 E0 */ lwz r0, 0x2e0(r31) -/* 801F6E7C 90 03 01 10 */ stw r0, 0x110(r3) -/* 801F6E80 80 9F 02 E4 */ lwz r4, 0x2e4(r31) -/* 801F6E84 80 1F 02 E8 */ lwz r0, 0x2e8(r31) -/* 801F6E88 90 83 01 14 */ stw r4, 0x114(r3) -/* 801F6E8C 90 03 01 18 */ stw r0, 0x118(r3) -/* 801F6E90 80 1F 02 EC */ lwz r0, 0x2ec(r31) -/* 801F6E94 90 03 01 1C */ stw r0, 0x11c(r3) -/* 801F6E98 80 9F 02 F0 */ lwz r4, 0x2f0(r31) -/* 801F6E9C 80 1F 02 F4 */ lwz r0, 0x2f4(r31) -/* 801F6EA0 90 83 01 20 */ stw r4, 0x120(r3) -/* 801F6EA4 90 03 01 24 */ stw r0, 0x124(r3) -/* 801F6EA8 80 1F 02 F8 */ lwz r0, 0x2f8(r31) -/* 801F6EAC 90 03 01 28 */ stw r0, 0x128(r3) -/* 801F6EB0 80 9F 02 FC */ lwz r4, 0x2fc(r31) -/* 801F6EB4 80 1F 03 00 */ lwz r0, 0x300(r31) -/* 801F6EB8 90 83 01 2C */ stw r4, 0x12c(r3) -/* 801F6EBC 90 03 01 30 */ stw r0, 0x130(r3) -/* 801F6EC0 80 1F 03 04 */ lwz r0, 0x304(r31) -/* 801F6EC4 90 03 01 34 */ stw r0, 0x134(r3) -/* 801F6EC8 80 9F 03 08 */ lwz r4, 0x308(r31) -/* 801F6ECC 80 1F 03 0C */ lwz r0, 0x30c(r31) -/* 801F6ED0 90 83 01 38 */ stw r4, 0x138(r3) -/* 801F6ED4 90 03 01 3C */ stw r0, 0x13c(r3) -/* 801F6ED8 80 1F 03 10 */ lwz r0, 0x310(r31) -/* 801F6EDC 90 03 01 40 */ stw r0, 0x140(r3) -/* 801F6EE0 80 9F 03 14 */ lwz r4, 0x314(r31) -/* 801F6EE4 80 1F 03 18 */ lwz r0, 0x318(r31) -/* 801F6EE8 90 83 01 44 */ stw r4, 0x144(r3) -/* 801F6EEC 90 03 01 48 */ stw r0, 0x148(r3) -/* 801F6EF0 80 1F 03 1C */ lwz r0, 0x31c(r31) -/* 801F6EF4 90 03 01 4C */ stw r0, 0x14c(r3) -/* 801F6EF8 80 9F 03 20 */ lwz r4, 0x320(r31) -/* 801F6EFC 80 1F 03 24 */ lwz r0, 0x324(r31) -/* 801F6F00 90 83 01 50 */ stw r4, 0x150(r3) -/* 801F6F04 90 03 01 54 */ stw r0, 0x154(r3) -/* 801F6F08 80 1F 03 28 */ lwz r0, 0x328(r31) -/* 801F6F0C 90 03 01 58 */ stw r0, 0x158(r3) -/* 801F6F10 80 9F 03 2C */ lwz r4, 0x32c(r31) -/* 801F6F14 80 1F 03 30 */ lwz r0, 0x330(r31) -/* 801F6F18 90 83 01 5C */ stw r4, 0x15c(r3) -/* 801F6F1C 90 03 01 60 */ stw r0, 0x160(r3) -/* 801F6F20 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 801F6F24 90 03 01 64 */ stw r0, 0x164(r3) -/* 801F6F28 80 9F 03 38 */ lwz r4, 0x338(r31) -/* 801F6F2C 80 1F 03 3C */ lwz r0, 0x33c(r31) -/* 801F6F30 90 83 01 68 */ stw r4, 0x168(r3) -/* 801F6F34 90 03 01 6C */ stw r0, 0x16c(r3) -/* 801F6F38 80 1F 03 40 */ lwz r0, 0x340(r31) -/* 801F6F3C 90 03 01 70 */ stw r0, 0x170(r3) -/* 801F6F40 80 9F 03 44 */ lwz r4, 0x344(r31) -/* 801F6F44 80 1F 03 48 */ lwz r0, 0x348(r31) -/* 801F6F48 90 83 01 74 */ stw r4, 0x174(r3) -/* 801F6F4C 90 03 01 78 */ stw r0, 0x178(r3) -/* 801F6F50 80 1F 03 4C */ lwz r0, 0x34c(r31) -/* 801F6F54 90 03 01 7C */ stw r0, 0x17c(r3) -/* 801F6F58 80 9F 03 50 */ lwz r4, 0x350(r31) -/* 801F6F5C 80 1F 03 54 */ lwz r0, 0x354(r31) -/* 801F6F60 90 83 01 80 */ stw r4, 0x180(r3) -/* 801F6F64 90 03 01 84 */ stw r0, 0x184(r3) -/* 801F6F68 80 1F 03 58 */ lwz r0, 0x358(r31) -/* 801F6F6C 90 03 01 88 */ stw r0, 0x188(r3) -/* 801F6F70 80 9F 03 5C */ lwz r4, 0x35c(r31) -/* 801F6F74 80 1F 03 60 */ lwz r0, 0x360(r31) -/* 801F6F78 90 83 01 8C */ stw r4, 0x18c(r3) -/* 801F6F7C 90 03 01 90 */ stw r0, 0x190(r3) -/* 801F6F80 80 1F 03 64 */ lwz r0, 0x364(r31) -/* 801F6F84 90 03 01 94 */ stw r0, 0x194(r3) -/* 801F6F88 80 9F 03 68 */ lwz r4, 0x368(r31) -/* 801F6F8C 80 1F 03 6C */ lwz r0, 0x36c(r31) -/* 801F6F90 90 83 01 98 */ stw r4, 0x198(r3) -/* 801F6F94 90 03 01 9C */ stw r0, 0x19c(r3) -/* 801F6F98 80 1F 03 70 */ lwz r0, 0x370(r31) -/* 801F6F9C 90 03 01 A0 */ stw r0, 0x1a0(r3) -/* 801F6FA0 80 9F 03 74 */ lwz r4, 0x374(r31) -/* 801F6FA4 80 1F 03 78 */ lwz r0, 0x378(r31) -/* 801F6FA8 90 83 01 A4 */ stw r4, 0x1a4(r3) -/* 801F6FAC 90 03 01 A8 */ stw r0, 0x1a8(r3) -/* 801F6FB0 80 1F 03 7C */ lwz r0, 0x37c(r31) -/* 801F6FB4 90 03 01 AC */ stw r0, 0x1ac(r3) -/* 801F6FB8 80 9F 03 80 */ lwz r4, 0x380(r31) -/* 801F6FBC 80 1F 03 84 */ lwz r0, 0x384(r31) -/* 801F6FC0 90 83 01 B0 */ stw r4, 0x1b0(r3) -/* 801F6FC4 90 03 01 B4 */ stw r0, 0x1b4(r3) -/* 801F6FC8 80 1F 03 88 */ lwz r0, 0x388(r31) -/* 801F6FCC 90 03 01 B8 */ stw r0, 0x1b8(r3) -/* 801F6FD0 80 9F 03 8C */ lwz r4, 0x38c(r31) -/* 801F6FD4 80 1F 03 90 */ lwz r0, 0x390(r31) -/* 801F6FD8 90 83 01 BC */ stw r4, 0x1bc(r3) -/* 801F6FDC 90 03 01 C0 */ stw r0, 0x1c0(r3) -/* 801F6FE0 80 1F 03 94 */ lwz r0, 0x394(r31) -/* 801F6FE4 90 03 01 C4 */ stw r0, 0x1c4(r3) -/* 801F6FE8 80 9F 03 98 */ lwz r4, 0x398(r31) -/* 801F6FEC 80 1F 03 9C */ lwz r0, 0x39c(r31) -/* 801F6FF0 90 83 01 C8 */ stw r4, 0x1c8(r3) -/* 801F6FF4 90 03 01 CC */ stw r0, 0x1cc(r3) -/* 801F6FF8 80 1F 03 A0 */ lwz r0, 0x3a0(r31) -/* 801F6FFC 90 03 01 D0 */ stw r0, 0x1d0(r3) -/* 801F7000 80 9F 03 A4 */ lwz r4, 0x3a4(r31) -/* 801F7004 80 1F 03 A8 */ lwz r0, 0x3a8(r31) -/* 801F7008 90 83 01 D4 */ stw r4, 0x1d4(r3) -/* 801F700C 90 03 01 D8 */ stw r0, 0x1d8(r3) -/* 801F7010 80 1F 03 AC */ lwz r0, 0x3ac(r31) -/* 801F7014 90 03 01 DC */ stw r0, 0x1dc(r3) -/* 801F7018 80 9F 03 B0 */ lwz r4, 0x3b0(r31) -/* 801F701C 80 1F 03 B4 */ lwz r0, 0x3b4(r31) -/* 801F7020 90 83 01 E0 */ stw r4, 0x1e0(r3) -/* 801F7024 90 03 01 E4 */ stw r0, 0x1e4(r3) -/* 801F7028 80 1F 03 B8 */ lwz r0, 0x3b8(r31) -/* 801F702C 90 03 01 E8 */ stw r0, 0x1e8(r3) -/* 801F7030 80 9F 03 BC */ lwz r4, 0x3bc(r31) -/* 801F7034 80 1F 03 C0 */ lwz r0, 0x3c0(r31) -/* 801F7038 90 83 01 EC */ stw r4, 0x1ec(r3) -/* 801F703C 90 03 01 F0 */ stw r0, 0x1f0(r3) -/* 801F7040 80 1F 03 C4 */ lwz r0, 0x3c4(r31) -/* 801F7044 90 03 01 F4 */ stw r0, 0x1f4(r3) -/* 801F7048 80 9F 03 C8 */ lwz r4, 0x3c8(r31) -/* 801F704C 80 1F 03 CC */ lwz r0, 0x3cc(r31) -/* 801F7050 90 83 01 F8 */ stw r4, 0x1f8(r3) -/* 801F7054 90 03 01 FC */ stw r0, 0x1fc(r3) -/* 801F7058 80 1F 03 D0 */ lwz r0, 0x3d0(r31) -/* 801F705C 90 03 02 00 */ stw r0, 0x200(r3) -/* 801F7060 80 9F 03 D4 */ lwz r4, 0x3d4(r31) -/* 801F7064 80 1F 03 D8 */ lwz r0, 0x3d8(r31) -/* 801F7068 90 83 02 04 */ stw r4, 0x204(r3) -/* 801F706C 90 03 02 08 */ stw r0, 0x208(r3) -/* 801F7070 80 1F 03 DC */ lwz r0, 0x3dc(r31) -/* 801F7074 90 03 02 0C */ stw r0, 0x20c(r3) -/* 801F7078 80 9F 03 E0 */ lwz r4, 0x3e0(r31) -/* 801F707C 80 1F 03 E4 */ lwz r0, 0x3e4(r31) -/* 801F7080 90 83 02 10 */ stw r4, 0x210(r3) -/* 801F7084 90 03 02 14 */ stw r0, 0x214(r3) -/* 801F7088 80 1F 03 E8 */ lwz r0, 0x3e8(r31) -/* 801F708C 90 03 02 18 */ stw r0, 0x218(r3) -/* 801F7090 80 9F 03 EC */ lwz r4, 0x3ec(r31) -/* 801F7094 80 1F 03 F0 */ lwz r0, 0x3f0(r31) -/* 801F7098 90 83 02 1C */ stw r4, 0x21c(r3) -/* 801F709C 90 03 02 20 */ stw r0, 0x220(r3) -/* 801F70A0 80 1F 03 F4 */ lwz r0, 0x3f4(r31) -/* 801F70A4 90 03 02 24 */ stw r0, 0x224(r3) -/* 801F70A8 80 9F 03 F8 */ lwz r4, 0x3f8(r31) -/* 801F70AC 80 1F 03 FC */ lwz r0, 0x3fc(r31) -/* 801F70B0 90 83 02 28 */ stw r4, 0x228(r3) -/* 801F70B4 90 03 02 2C */ stw r0, 0x22c(r3) -/* 801F70B8 80 1F 04 00 */ lwz r0, 0x400(r31) -/* 801F70BC 90 03 02 30 */ stw r0, 0x230(r3) -/* 801F70C0 80 9F 04 04 */ lwz r4, 0x404(r31) -/* 801F70C4 80 1F 04 08 */ lwz r0, 0x408(r31) -/* 801F70C8 90 83 02 34 */ stw r4, 0x234(r3) -/* 801F70CC 90 03 02 38 */ stw r0, 0x238(r3) -/* 801F70D0 80 1F 04 0C */ lwz r0, 0x40c(r31) -/* 801F70D4 90 03 02 3C */ stw r0, 0x23c(r3) -/* 801F70D8 80 9F 04 10 */ lwz r4, 0x410(r31) -/* 801F70DC 80 1F 04 14 */ lwz r0, 0x414(r31) -/* 801F70E0 90 83 02 40 */ stw r4, 0x240(r3) -/* 801F70E4 90 03 02 44 */ stw r0, 0x244(r3) -/* 801F70E8 80 1F 04 18 */ lwz r0, 0x418(r31) -/* 801F70EC 90 03 02 48 */ stw r0, 0x248(r3) -/* 801F70F0 80 9F 04 1C */ lwz r4, 0x41c(r31) -/* 801F70F4 80 1F 04 20 */ lwz r0, 0x420(r31) -/* 801F70F8 90 83 02 4C */ stw r4, 0x24c(r3) -/* 801F70FC 90 03 02 50 */ stw r0, 0x250(r3) -/* 801F7100 80 1F 04 24 */ lwz r0, 0x424(r31) -/* 801F7104 90 03 02 54 */ stw r0, 0x254(r3) -/* 801F7108 80 9F 04 28 */ lwz r4, 0x428(r31) -/* 801F710C 80 1F 04 2C */ lwz r0, 0x42c(r31) -/* 801F7110 90 83 02 58 */ stw r4, 0x258(r3) -/* 801F7114 90 03 02 5C */ stw r0, 0x25c(r3) -/* 801F7118 80 1F 04 30 */ lwz r0, 0x430(r31) -/* 801F711C 90 03 02 60 */ stw r0, 0x260(r3) -/* 801F7120 80 9F 04 34 */ lwz r4, 0x434(r31) -/* 801F7124 80 1F 04 38 */ lwz r0, 0x438(r31) -/* 801F7128 90 83 02 64 */ stw r4, 0x264(r3) -/* 801F712C 90 03 02 68 */ stw r0, 0x268(r3) -/* 801F7130 80 1F 04 3C */ lwz r0, 0x43c(r31) -/* 801F7134 90 03 02 6C */ stw r0, 0x26c(r3) -/* 801F7138 80 9F 04 40 */ lwz r4, 0x440(r31) -/* 801F713C 80 1F 04 44 */ lwz r0, 0x444(r31) -/* 801F7140 90 83 02 70 */ stw r4, 0x270(r3) -/* 801F7144 90 03 02 74 */ stw r0, 0x274(r3) -/* 801F7148 80 1F 04 48 */ lwz r0, 0x448(r31) -/* 801F714C 90 03 02 78 */ stw r0, 0x278(r3) -/* 801F7150 80 9F 04 4C */ lwz r4, 0x44c(r31) -/* 801F7154 80 1F 04 50 */ lwz r0, 0x450(r31) -/* 801F7158 90 83 02 7C */ stw r4, 0x27c(r3) -/* 801F715C 90 03 02 80 */ stw r0, 0x280(r3) -/* 801F7160 80 1F 04 54 */ lwz r0, 0x454(r31) -/* 801F7164 90 03 02 84 */ stw r0, 0x284(r3) -/* 801F7168 80 9F 04 58 */ lwz r4, 0x458(r31) -/* 801F716C 80 1F 04 5C */ lwz r0, 0x45c(r31) -/* 801F7170 90 83 02 88 */ stw r4, 0x288(r3) -/* 801F7174 90 03 02 8C */ stw r0, 0x28c(r3) -/* 801F7178 80 1F 04 60 */ lwz r0, 0x460(r31) -/* 801F717C 90 03 02 90 */ stw r0, 0x290(r3) -/* 801F7180 80 9F 04 64 */ lwz r4, 0x464(r31) -/* 801F7184 80 1F 04 68 */ lwz r0, 0x468(r31) -/* 801F7188 90 83 02 94 */ stw r4, 0x294(r3) -/* 801F718C 90 03 02 98 */ stw r0, 0x298(r3) -/* 801F7190 80 1F 04 6C */ lwz r0, 0x46c(r31) -/* 801F7194 90 03 02 9C */ stw r0, 0x29c(r3) -/* 801F7198 80 9F 04 70 */ lwz r4, 0x470(r31) -/* 801F719C 80 1F 04 74 */ lwz r0, 0x474(r31) -/* 801F71A0 90 83 02 A0 */ stw r4, 0x2a0(r3) -/* 801F71A4 90 03 02 A4 */ stw r0, 0x2a4(r3) -/* 801F71A8 80 1F 04 78 */ lwz r0, 0x478(r31) -/* 801F71AC 90 03 02 A8 */ stw r0, 0x2a8(r3) -/* 801F71B0 80 9F 04 7C */ lwz r4, 0x47c(r31) -/* 801F71B4 80 1F 04 80 */ lwz r0, 0x480(r31) -/* 801F71B8 90 83 02 AC */ stw r4, 0x2ac(r3) -/* 801F71BC 90 03 02 B0 */ stw r0, 0x2b0(r3) -/* 801F71C0 80 1F 04 84 */ lwz r0, 0x484(r31) -/* 801F71C4 90 03 02 B4 */ stw r0, 0x2b4(r3) -/* 801F71C8 80 9F 04 88 */ lwz r4, 0x488(r31) -/* 801F71CC 80 1F 04 8C */ lwz r0, 0x48c(r31) -/* 801F71D0 90 83 02 B8 */ stw r4, 0x2b8(r3) -/* 801F71D4 90 03 02 BC */ stw r0, 0x2bc(r3) -/* 801F71D8 80 1F 04 90 */ lwz r0, 0x490(r31) -/* 801F71DC 90 03 02 C0 */ stw r0, 0x2c0(r3) -/* 801F71E0 80 9F 04 94 */ lwz r4, 0x494(r31) -/* 801F71E4 80 1F 04 98 */ lwz r0, 0x498(r31) -/* 801F71E8 90 83 02 C4 */ stw r4, 0x2c4(r3) -/* 801F71EC 90 03 02 C8 */ stw r0, 0x2c8(r3) -/* 801F71F0 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 801F71F4 90 03 02 CC */ stw r0, 0x2cc(r3) -/* 801F71F8 80 9F 04 A0 */ lwz r4, 0x4a0(r31) -/* 801F71FC 80 1F 04 A4 */ lwz r0, 0x4a4(r31) -/* 801F7200 90 83 02 D0 */ stw r4, 0x2d0(r3) -/* 801F7204 90 03 02 D4 */ stw r0, 0x2d4(r3) -/* 801F7208 80 1F 04 A8 */ lwz r0, 0x4a8(r31) -/* 801F720C 90 03 02 D8 */ stw r0, 0x2d8(r3) -/* 801F7210 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F7214 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F7218 7C 08 03 A6 */ mtlr r0 -/* 801F721C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F7220 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/_close__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/_close__12dMenu_save_cFv.s deleted file mode 100644 index 4c04a289f3..0000000000 --- a/asm/d/menu/d_menu_save/_close__12dMenu_save_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_801F0B10: -/* 801F0B10 38 00 00 29 */ li r0, 0x29 -/* 801F0B14 98 03 01 B2 */ stb r0, 0x1b2(r3) -/* 801F0B18 38 00 00 00 */ li r0, 0 -/* 801F0B1C 98 03 01 BA */ stb r0, 0x1ba(r3) -/* 801F0B20 38 60 00 01 */ li r3, 1 -/* 801F0B24 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/_create__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/_create__12dMenu_save_cFv.s deleted file mode 100644 index 953ac07173..0000000000 --- a/asm/d/menu/d_menu_save/_create__12dMenu_save_cFv.s +++ /dev/null @@ -1,98 +0,0 @@ -lbl_801EF7AC: -/* 801EF7AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801EF7B0 7C 08 02 A6 */ mflr r0 -/* 801EF7B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801EF7B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801EF7BC 93 C1 00 08 */ stw r30, 8(r1) -/* 801EF7C0 7C 7E 1B 78 */ mr r30, r3 -/* 801EF7C4 38 60 00 30 */ li r3, 0x30 -/* 801EF7C8 48 0D F4 85 */ bl __nw__FUl -/* 801EF7CC 7C 60 1B 79 */ or. r0, r3, r3 -/* 801EF7D0 41 82 00 2C */ beq lbl_801EF7FC -/* 801EF7D4 38 80 00 02 */ li r4, 2 -/* 801EF7D8 38 A0 00 02 */ li r5, 2 -/* 801EF7DC 38 C0 00 01 */ li r6, 1 -/* 801EF7E0 38 E0 00 01 */ li r7, 1 -/* 801EF7E4 C0 22 AA 38 */ lfs f1, lit_3849(r2) -/* 801EF7E8 C0 42 AA 3C */ lfs f2, lit_3850(r2) -/* 801EF7EC 39 00 00 00 */ li r8, 0 -/* 801EF7F0 39 20 20 00 */ li r9, 0x2000 -/* 801EF7F4 4B E4 28 51 */ bl __ct__9STControlFssssffss -/* 801EF7F8 7C 60 1B 78 */ mr r0, r3 -lbl_801EF7FC: -/* 801EF7FC 90 1E 00 0C */ stw r0, 0xc(r30) -/* 801EF800 88 1E 01 BC */ lbz r0, 0x1bc(r30) -/* 801EF804 28 00 00 01 */ cmplwi r0, 1 -/* 801EF808 41 82 00 14 */ beq lbl_801EF81C -/* 801EF80C 28 00 00 03 */ cmplwi r0, 3 -/* 801EF810 41 82 00 0C */ beq lbl_801EF81C -/* 801EF814 28 00 00 04 */ cmplwi r0, 4 -/* 801EF818 40 82 00 20 */ bne lbl_801EF838 -lbl_801EF81C: -/* 801EF81C 4B E1 F6 15 */ bl mDoExt_getJ2dHeap__Fv -/* 801EF820 7C 65 1B 78 */ mr r5, r3 -/* 801EF824 3C 60 80 39 */ lis r3, d_menu_d_menu_save__stringBase0@ha /* 0x80397960@ha */ -/* 801EF828 38 63 79 60 */ addi r3, r3, d_menu_d_menu_save__stringBase0@l /* 0x80397960@l */ -/* 801EF82C 38 80 00 00 */ li r4, 0 -/* 801EF830 4B E2 65 E5 */ bl create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap -/* 801EF834 90 7E 00 08 */ stw r3, 8(r30) -lbl_801EF838: -/* 801EF838 88 1E 01 BC */ lbz r0, 0x1bc(r30) -/* 801EF83C 28 00 00 02 */ cmplwi r0, 2 -/* 801EF840 41 82 00 14 */ beq lbl_801EF854 -/* 801EF844 28 00 00 03 */ cmplwi r0, 3 -/* 801EF848 41 82 00 0C */ beq lbl_801EF854 -/* 801EF84C 28 00 00 04 */ cmplwi r0, 4 -/* 801EF850 40 82 00 84 */ bne lbl_801EF8D4 -lbl_801EF854: -/* 801EF854 2C 00 00 03 */ cmpwi r0, 3 -/* 801EF858 41 82 00 30 */ beq lbl_801EF888 -/* 801EF85C 40 80 00 10 */ bge lbl_801EF86C -/* 801EF860 2C 00 00 02 */ cmpwi r0, 2 -/* 801EF864 40 80 00 14 */ bge lbl_801EF878 -/* 801EF868 48 00 00 20 */ b lbl_801EF888 -lbl_801EF86C: -/* 801EF86C 2C 00 00 05 */ cmpwi r0, 5 -/* 801EF870 40 80 00 18 */ bge lbl_801EF888 -/* 801EF874 48 00 00 0C */ b lbl_801EF880 -lbl_801EF878: -/* 801EF878 3B E0 00 02 */ li r31, 2 -/* 801EF87C 48 00 00 10 */ b lbl_801EF88C -lbl_801EF880: -/* 801EF880 3B E0 00 03 */ li r31, 3 -/* 801EF884 48 00 00 08 */ b lbl_801EF88C -lbl_801EF888: -/* 801EF888 3B E0 00 01 */ li r31, 1 -lbl_801EF88C: -/* 801EF88C 38 60 00 68 */ li r3, 0x68 -/* 801EF890 48 0D F3 BD */ bl __nw__FUl -/* 801EF894 7C 60 1B 79 */ or. r0, r3, r3 -/* 801EF898 41 82 00 1C */ beq lbl_801EF8B4 -/* 801EF89C 80 9E 00 0C */ lwz r4, 0xc(r30) -/* 801EF8A0 7F E5 FB 78 */ mr r5, r31 -/* 801EF8A4 38 C0 00 00 */ li r6, 0 -/* 801EF8A8 38 E0 00 00 */ li r7, 0 -/* 801EF8AC 48 04 D3 DD */ bl __ct__17dMsgScrnExplain_cFP9STControlUcbUc -/* 801EF8B0 7C 60 1B 78 */ mr r0, r3 -lbl_801EF8B4: -/* 801EF8B4 90 1E 21 8C */ stw r0, 0x218c(r30) -/* 801EF8B8 38 00 00 00 */ li r0, 0 -/* 801EF8BC 98 1E 21 9D */ stb r0, 0x219d(r30) -/* 801EF8C0 98 1E 21 90 */ stb r0, 0x2190(r30) -/* 801EF8C4 B0 1E 21 92 */ sth r0, 0x2192(r30) -/* 801EF8C8 98 1E 21 94 */ stb r0, 0x2194(r30) -/* 801EF8CC 80 1E 21 8C */ lwz r0, 0x218c(r30) -/* 801EF8D0 90 1E 00 14 */ stw r0, 0x14(r30) -lbl_801EF8D4: -/* 801EF8D4 7F C3 F3 78 */ mr r3, r30 -/* 801EF8D8 48 00 10 81 */ bl displayInit__12dMenu_save_cFv -/* 801EF8DC 38 00 FF FF */ li r0, -1 -/* 801EF8E0 3C 60 80 43 */ lis r3, g_msHIO@ha /* 0x8042E84C@ha */ -/* 801EF8E4 38 63 E8 4C */ addi r3, r3, g_msHIO@l /* 0x8042E84C@l */ -/* 801EF8E8 98 03 00 04 */ stb r0, 4(r3) -/* 801EF8EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801EF8F0 83 C1 00 08 */ lwz r30, 8(r1) -/* 801EF8F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801EF8F8 7C 08 03 A6 */ mtlr r0 -/* 801EF8FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801EF900 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/_draw2__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/_draw2__12dMenu_save_cFv.s deleted file mode 100644 index af437334c0..0000000000 --- a/asm/d/menu/d_menu_save/_draw2__12dMenu_save_cFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_801F69FC: -/* 801F69FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801F6A00 7C 08 02 A6 */ mflr r0 -/* 801F6A04 90 01 00 24 */ stw r0, 0x24(r1) -/* 801F6A08 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F6A0C 48 16 B7 C5 */ bl _savegpr_26 -/* 801F6A10 7C 7A 1B 78 */ mr r26, r3 -/* 801F6A14 88 03 21 A1 */ lbz r0, 0x21a1(r3) -/* 801F6A18 28 00 00 00 */ cmplwi r0, 0 -/* 801F6A1C 40 82 00 A8 */ bne lbl_801F6AC4 -/* 801F6A20 80 1A 21 8C */ lwz r0, 0x218c(r26) -/* 801F6A24 28 00 00 00 */ cmplwi r0, 0 -/* 801F6A28 41 82 00 20 */ beq lbl_801F6A48 -/* 801F6A2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F6A30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801F6A34 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 801F6A38 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 801F6A3C 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 801F6A40 38 DA 00 10 */ addi r6, r26, 0x10 -/* 801F6A44 4B E5 FD 51 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_801F6A48: -/* 801F6A48 88 1A 01 B0 */ lbz r0, 0x1b0(r26) -/* 801F6A4C 28 00 00 00 */ cmplwi r0, 0 -/* 801F6A50 41 82 00 64 */ beq lbl_801F6AB4 -/* 801F6A54 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F6A58 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801F6A5C 3B C3 5F 64 */ addi r30, r3, 0x5f64 -/* 801F6A60 7F C3 F3 78 */ mr r3, r30 -/* 801F6A64 3B 9E 01 B4 */ addi r28, r30, 0x1b4 -/* 801F6A68 7F 84 E3 78 */ mr r4, r28 -/* 801F6A6C 3B BE 01 B8 */ addi r29, r30, 0x1b8 -/* 801F6A70 7F A5 EB 78 */ mr r5, r29 -/* 801F6A74 38 DA 00 18 */ addi r6, r26, 0x18 -/* 801F6A78 4B E5 FD 1D */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 801F6A7C 3B 60 00 00 */ li r27, 0 -/* 801F6A80 3B E0 00 00 */ li r31, 0 -lbl_801F6A84: -/* 801F6A84 38 1F 00 34 */ addi r0, r31, 0x34 -/* 801F6A88 7C 7A 00 2E */ lwzx r3, r26, r0 -/* 801F6A8C 4B F9 C2 D5 */ bl _draw__12dFile_info_cFv -/* 801F6A90 3B 7B 00 01 */ addi r27, r27, 1 -/* 801F6A94 2C 1B 00 03 */ cmpwi r27, 3 -/* 801F6A98 3B FF 00 04 */ addi r31, r31, 4 -/* 801F6A9C 41 80 FF E8 */ blt lbl_801F6A84 -/* 801F6AA0 7F C3 F3 78 */ mr r3, r30 -/* 801F6AA4 7F 84 E3 78 */ mr r4, r28 -/* 801F6AA8 7F A5 EB 78 */ mr r5, r29 -/* 801F6AAC 80 DA 00 2C */ lwz r6, 0x2c(r26) -/* 801F6AB0 4B E5 FC E5 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_801F6AB4: -/* 801F6AB4 80 7A 00 30 */ lwz r3, 0x30(r26) -/* 801F6AB8 28 03 00 00 */ cmplwi r3, 0 -/* 801F6ABC 41 82 00 08 */ beq lbl_801F6AC4 -/* 801F6AC0 4B F9 B6 D1 */ bl _draw__15dFile_warning_cFv -lbl_801F6AC4: -/* 801F6AC4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F6AC8 48 16 B7 55 */ bl _restgpr_26 -/* 801F6ACC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801F6AD0 7C 08 03 A6 */ mtlr r0 -/* 801F6AD4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801F6AD8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/_draw__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/_draw__12dMenu_save_cFv.s deleted file mode 100644 index 9bf9dae37c..0000000000 --- a/asm/d/menu/d_menu_save/_draw__12dMenu_save_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_801F69B8: -/* 801F69B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F69BC 7C 08 02 A6 */ mflr r0 -/* 801F69C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F69C4 88 03 21 A1 */ lbz r0, 0x21a1(r3) -/* 801F69C8 28 00 00 00 */ cmplwi r0, 0 -/* 801F69CC 40 82 00 20 */ bne lbl_801F69EC -/* 801F69D0 80 63 21 8C */ lwz r3, 0x218c(r3) -/* 801F69D4 28 03 00 00 */ cmplwi r3, 0 -/* 801F69D8 41 82 00 14 */ beq lbl_801F69EC -/* 801F69DC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F69E0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801F69E4 80 84 5F 50 */ lwz r4, 0x5f50(r4) -/* 801F69E8 48 04 6F 31 */ bl draw__17dMsgScrnExplain_cFP13J2DOrthoGraph -lbl_801F69EC: -/* 801F69EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F69F0 7C 08 03 A6 */ mtlr r0 -/* 801F69F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F69F8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/_move__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/_move__12dMenu_save_cFv.s deleted file mode 100644 index 47558a92db..0000000000 --- a/asm/d/menu/d_menu_save/_move__12dMenu_save_cFv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_801F1048: -/* 801F1048 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F104C 7C 08 02 A6 */ mflr r0 -/* 801F1050 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F1054 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F1058 7C 7F 1B 78 */ mr r31, r3 -/* 801F105C 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 801F1060 80 03 00 00 */ lwz r0, 0(r3) -/* 801F1064 2C 00 00 00 */ cmpwi r0, 0 -/* 801F1068 41 82 00 10 */ beq lbl_801F1078 -/* 801F106C 88 1F 21 A0 */ lbz r0, 0x21a0(r31) -/* 801F1070 28 00 00 00 */ cmplwi r0, 0 -/* 801F1074 41 82 00 78 */ beq lbl_801F10EC -lbl_801F1078: -/* 801F1078 7F E3 FB 78 */ mr r3, r31 -/* 801F107C 48 00 02 75 */ bl memCardWatch__12dMenu_save_cFv -/* 801F1080 88 1F 01 B2 */ lbz r0, 0x1b2(r31) -/* 801F1084 28 00 00 2A */ cmplwi r0, 0x2a -/* 801F1088 41 82 00 2C */ beq lbl_801F10B4 -/* 801F108C 80 7F 21 8C */ lwz r3, 0x218c(r31) -/* 801F1090 28 03 00 00 */ cmplwi r3, 0 -/* 801F1094 41 82 00 20 */ beq lbl_801F10B4 -/* 801F1098 88 03 00 60 */ lbz r0, 0x60(r3) -/* 801F109C 98 1F 21 9D */ stb r0, 0x219d(r31) -/* 801F10A0 80 7F 21 8C */ lwz r3, 0x218c(r31) -/* 801F10A4 88 03 00 60 */ lbz r0, 0x60(r3) -/* 801F10A8 28 00 00 00 */ cmplwi r0, 0 -/* 801F10AC 41 82 00 08 */ beq lbl_801F10B4 -/* 801F10B0 48 04 C7 29 */ bl move__17dMsgScrnExplain_cFv -lbl_801F10B4: -/* 801F10B4 7F E3 FB 78 */ mr r3, r31 -/* 801F10B8 88 1F 01 B2 */ lbz r0, 0x1b2(r31) -/* 801F10BC 1C A0 00 0C */ mulli r5, r0, 0xc -/* 801F10C0 3C 80 80 3C */ lis r4, MenuSaveProc@ha /* 0x803BE424@ha */ -/* 801F10C4 38 04 E4 24 */ addi r0, r4, MenuSaveProc@l /* 0x803BE424@l */ -/* 801F10C8 7D 80 2A 14 */ add r12, r0, r5 -/* 801F10CC 48 17 0F B9 */ bl __ptmf_scall -/* 801F10D0 60 00 00 00 */ nop -/* 801F10D4 7F E3 FB 78 */ mr r3, r31 -/* 801F10D8 48 00 00 29 */ bl saveSelAnm__12dMenu_save_cFv -/* 801F10DC 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 801F10E0 28 03 00 00 */ cmplwi r3, 0 -/* 801F10E4 41 82 00 08 */ beq lbl_801F10EC -/* 801F10E8 4B FA 0E 31 */ bl _move__15dFile_warning_cFv -lbl_801F10EC: -/* 801F10EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F10F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F10F4 7C 08 03 A6 */ mtlr r0 -/* 801F10F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F10FC 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/_open__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/_open__12dMenu_save_cFv.s deleted file mode 100644 index 1a850135de..0000000000 --- a/asm/d/menu/d_menu_save/_open__12dMenu_save_cFv.s +++ /dev/null @@ -1,102 +0,0 @@ -lbl_801F09AC: -/* 801F09AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F09B0 7C 08 02 A6 */ mflr r0 -/* 801F09B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F09B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F09BC 7C 7F 1B 78 */ mr r31, r3 -/* 801F09C0 38 00 00 01 */ li r0, 1 -/* 801F09C4 98 03 01 BF */ stb r0, 0x1bf(r3) -/* 801F09C8 88 03 01 BC */ lbz r0, 0x1bc(r3) -/* 801F09CC 28 00 00 01 */ cmplwi r0, 1 -/* 801F09D0 41 82 00 14 */ beq lbl_801F09E4 -/* 801F09D4 28 00 00 03 */ cmplwi r0, 3 -/* 801F09D8 41 82 00 0C */ beq lbl_801F09E4 -/* 801F09DC 28 00 00 04 */ cmplwi r0, 4 -/* 801F09E0 40 82 00 88 */ bne lbl_801F0A68 -lbl_801F09E4: -/* 801F09E4 80 7F 00 08 */ lwz r3, 8(r31) -/* 801F09E8 88 03 00 0C */ lbz r0, 0xc(r3) -/* 801F09EC 2C 00 00 00 */ cmpwi r0, 0 -/* 801F09F0 40 82 00 0C */ bne lbl_801F09FC -/* 801F09F4 38 60 00 00 */ li r3, 0 -/* 801F09F8 48 00 01 04 */ b lbl_801F0AFC -lbl_801F09FC: -/* 801F09FC 80 1F 00 04 */ lwz r0, 4(r31) -/* 801F0A00 28 00 00 00 */ cmplwi r0, 0 -/* 801F0A04 40 82 00 64 */ bne lbl_801F0A68 -/* 801F0A08 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 801F0A0C 90 1F 00 04 */ stw r0, 4(r31) -/* 801F0A10 7F E3 FB 78 */ mr r3, r31 -/* 801F0A14 4B FF EE F1 */ bl screenSet__12dMenu_save_cFv -/* 801F0A18 88 1F 01 BC */ lbz r0, 0x1bc(r31) -/* 801F0A1C 28 00 00 01 */ cmplwi r0, 1 -/* 801F0A20 40 82 00 14 */ bne lbl_801F0A34 -/* 801F0A24 38 00 00 01 */ li r0, 1 -/* 801F0A28 98 1F 01 B0 */ stb r0, 0x1b0(r31) -/* 801F0A2C 38 00 00 00 */ li r0, 0 -/* 801F0A30 98 1F 01 BF */ stb r0, 0x1bf(r31) -lbl_801F0A34: -/* 801F0A34 3C 60 80 3F */ lis r3, g_mDoMemCd_control@ha /* 0x803EAF40@ha */ -/* 801F0A38 38 63 AF 40 */ addi r3, r3, g_mDoMemCd_control@l /* 0x803EAF40@l */ -/* 801F0A3C 4B E2 66 7D */ bl command_attach__15mDoMemCd_Ctrl_cFv -/* 801F0A40 80 7F 00 08 */ lwz r3, 8(r31) -/* 801F0A44 28 03 00 00 */ cmplwi r3, 0 -/* 801F0A48 41 82 00 18 */ beq lbl_801F0A60 -/* 801F0A4C 38 80 00 01 */ li r4, 1 -/* 801F0A50 81 83 00 10 */ lwz r12, 0x10(r3) -/* 801F0A54 81 8C 00 08 */ lwz r12, 8(r12) -/* 801F0A58 7D 89 03 A6 */ mtctr r12 -/* 801F0A5C 4E 80 04 21 */ bctrl -lbl_801F0A60: -/* 801F0A60 38 00 00 00 */ li r0, 0 -/* 801F0A64 90 1F 00 08 */ stw r0, 8(r31) -lbl_801F0A68: -/* 801F0A68 38 00 00 00 */ li r0, 0 -/* 801F0A6C 98 1F 01 B6 */ stb r0, 0x1b6(r31) -/* 801F0A70 38 60 00 01 */ li r3, 1 -/* 801F0A74 98 7F 21 90 */ stb r3, 0x2190(r31) -/* 801F0A78 88 1F 01 BC */ lbz r0, 0x1bc(r31) -/* 801F0A7C 2C 00 00 02 */ cmpwi r0, 2 -/* 801F0A80 41 82 00 4C */ beq lbl_801F0ACC -/* 801F0A84 40 80 00 10 */ bge lbl_801F0A94 -/* 801F0A88 2C 00 00 01 */ cmpwi r0, 1 -/* 801F0A8C 40 80 00 14 */ bge lbl_801F0AA0 -/* 801F0A90 48 00 00 44 */ b lbl_801F0AD4 -lbl_801F0A94: -/* 801F0A94 2C 00 00 05 */ cmpwi r0, 5 -/* 801F0A98 40 80 00 3C */ bge lbl_801F0AD4 -/* 801F0A9C 48 00 00 10 */ b lbl_801F0AAC -lbl_801F0AA0: -/* 801F0AA0 38 00 00 06 */ li r0, 6 -/* 801F0AA4 98 1F 01 B2 */ stb r0, 0x1b2(r31) -/* 801F0AA8 48 00 00 2C */ b lbl_801F0AD4 -lbl_801F0AAC: -/* 801F0AAC 98 7F 01 B6 */ stb r3, 0x1b6(r31) -/* 801F0AB0 7F E3 FB 78 */ mr r3, r31 -/* 801F0AB4 38 80 03 CE */ li r4, 0x3ce -/* 801F0AB8 38 A0 00 01 */ li r5, 1 -/* 801F0ABC 48 00 2A 01 */ bl msgTxtSet__12dMenu_save_cFUsb -/* 801F0AC0 38 00 00 00 */ li r0, 0 -/* 801F0AC4 98 1F 01 B2 */ stb r0, 0x1b2(r31) -/* 801F0AC8 48 00 00 0C */ b lbl_801F0AD4 -lbl_801F0ACC: -/* 801F0ACC 38 00 00 2B */ li r0, 0x2b -/* 801F0AD0 98 1F 01 B2 */ stb r0, 0x1b2(r31) -lbl_801F0AD4: -/* 801F0AD4 38 00 00 02 */ li r0, 2 -/* 801F0AD8 98 1F 01 BA */ stb r0, 0x1ba(r31) -/* 801F0ADC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801F0AE0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 801F0AE4 88 03 00 DD */ lbz r0, 0xdd(r3) -/* 801F0AE8 28 00 00 00 */ cmplwi r0, 0 -/* 801F0AEC 41 82 00 0C */ beq lbl_801F0AF8 -/* 801F0AF0 38 80 00 01 */ li r4, 1 -/* 801F0AF4 48 02 D5 D1 */ bl resetMiniGameItem__13dMeter2Info_cFb -lbl_801F0AF8: -/* 801F0AF8 38 60 00 01 */ li r3, 1 -lbl_801F0AFC: -/* 801F0AFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F0B00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F0B04 7C 08 03 A6 */ mtlr r0 -/* 801F0B08 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F0B0C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/dataSave__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/dataSave__12dMenu_save_cFv.s deleted file mode 100644 index 10da81b79f..0000000000 --- a/asm/d/menu/d_menu_save/dataSave__12dMenu_save_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_801F67B8: -/* 801F67B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F67BC 7C 08 02 A6 */ mflr r0 -/* 801F67C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F67C4 7C 64 1B 78 */ mr r4, r3 -/* 801F67C8 3C 60 80 3F */ lis r3, g_mDoMemCd_control@ha /* 0x803EAF40@ha */ -/* 801F67CC 38 63 AF 40 */ addi r3, r3, g_mDoMemCd_control@l /* 0x803EAF40@l */ -/* 801F67D0 38 84 01 D0 */ addi r4, r4, 0x1d0 -/* 801F67D4 38 A0 1F BC */ li r5, 0x1fbc -/* 801F67D8 38 C0 00 00 */ li r6, 0 -/* 801F67DC 4B E2 03 7D */ bl save__15mDoMemCd_Ctrl_cFPvUlUl -/* 801F67E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F67E4 7C 08 03 A6 */ mtlr r0 -/* 801F67E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F67EC 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/dataWrite__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/dataWrite__12dMenu_save_cFv.s deleted file mode 100644 index 45b41a20d2..0000000000 --- a/asm/d/menu/d_menu_save/dataWrite__12dMenu_save_cFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_801F2840: -/* 801F2840 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801F2844 7C 08 02 A6 */ mflr r0 -/* 801F2848 90 01 00 24 */ stw r0, 0x24(r1) -/* 801F284C 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F2850 48 16 F9 8D */ bl _savegpr_29 -/* 801F2854 7C 7D 1B 78 */ mr r29, r3 -/* 801F2858 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F285C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801F2860 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 801F2864 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 801F2868 7D 89 03 A6 */ mtctr r12 -/* 801F286C 4E 80 04 21 */ bctrl -/* 801F2870 88 03 00 09 */ lbz r0, 9(r3) -/* 801F2874 54 04 FE FE */ rlwinm r4, r0, 0x1f, 0x1b, 0x1f -/* 801F2878 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F287C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801F2880 4B E4 28 71 */ bl putSave__10dSv_info_cFi -/* 801F2884 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F2888 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801F288C 38 9D 01 D0 */ addi r4, r29, 0x1d0 -/* 801F2890 88 BD 00 54 */ lbz r5, 0x54(r29) -/* 801F2894 4B E4 2F 05 */ bl memory_to_card__10dSv_info_cFPci -/* 801F2898 38 7D 01 D0 */ addi r3, r29, 0x1d0 -/* 801F289C 88 9D 00 54 */ lbz r4, 0x54(r29) -/* 801F28A0 4B E2 54 99 */ bl mDoMemCdRWm_SetCheckSumGameData__FPUcUc -/* 801F28A4 3B FD 01 D0 */ addi r31, r29, 0x1d0 -/* 801F28A8 3B C0 00 00 */ li r30, 0 -lbl_801F28AC: -/* 801F28AC 7F E3 FB 78 */ mr r3, r31 -/* 801F28B0 4B E2 54 3D */ bl mDoMemCdRWm_TestCheckSumGameData__FPv -/* 801F28B4 3B DE 00 01 */ addi r30, r30, 1 -/* 801F28B8 2C 1E 00 03 */ cmpwi r30, 3 -/* 801F28BC 3B FF 0A 94 */ addi r31, r31, 0xa94 -/* 801F28C0 41 80 FF EC */ blt lbl_801F28AC -/* 801F28C4 7F A3 EB 78 */ mr r3, r29 -/* 801F28C8 48 00 3E F1 */ bl dataSave__12dMenu_save_cFv -/* 801F28CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F28D0 48 16 F9 59 */ bl _restgpr_29 -/* 801F28D4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801F28D8 7C 08 03 A6 */ mtlr r0 -/* 801F28DC 38 21 00 20 */ addi r1, r1, 0x20 -/* 801F28E0 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/displayInit__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/displayInit__12dMenu_save_cFv.s deleted file mode 100644 index 1ad7f7f75d..0000000000 --- a/asm/d/menu/d_menu_save/displayInit__12dMenu_save_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_801F0958: -/* 801F0958 38 80 00 01 */ li r4, 1 -/* 801F095C 98 83 01 BF */ stb r4, 0x1bf(r3) -/* 801F0960 38 00 00 00 */ li r0, 0 -/* 801F0964 98 03 01 C0 */ stb r0, 0x1c0(r3) -/* 801F0968 98 03 00 64 */ stb r0, 0x64(r3) -/* 801F096C 98 03 00 D2 */ stb r0, 0xd2(r3) -/* 801F0970 98 03 00 9C */ stb r0, 0x9c(r3) -/* 801F0974 98 03 01 7A */ stb r0, 0x17a(r3) -/* 801F0978 98 03 00 65 */ stb r0, 0x65(r3) -/* 801F097C 98 03 00 9D */ stb r0, 0x9d(r3) -/* 801F0980 98 03 00 D3 */ stb r0, 0xd3(r3) -/* 801F0984 98 03 01 9C */ stb r0, 0x19c(r3) -/* 801F0988 98 03 01 9D */ stb r0, 0x19d(r3) -/* 801F098C 98 03 01 A8 */ stb r0, 0x1a8(r3) -/* 801F0990 98 03 01 A9 */ stb r0, 0x1a9(r3) -/* 801F0994 38 00 00 29 */ li r0, 0x29 -/* 801F0998 98 03 01 B2 */ stb r0, 0x1b2(r3) -/* 801F099C 98 83 01 BA */ stb r4, 0x1ba(r3) -/* 801F09A0 38 00 00 02 */ li r0, 2 -/* 801F09A4 98 03 01 BB */ stb r0, 0x1bb(r3) -/* 801F09A8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/errorTxtSet__12dMenu_save_cFUs.s b/asm/d/menu/d_menu_save/errorTxtSet__12dMenu_save_cFUs.s deleted file mode 100644 index e314a36cf7..0000000000 --- a/asm/d/menu/d_menu_save/errorTxtSet__12dMenu_save_cFUs.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_801F50C4: -/* 801F50C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F50C8 7C 08 02 A6 */ mflr r0 -/* 801F50CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F50D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F50D4 7C 7F 1B 78 */ mr r31, r3 -/* 801F50D8 54 84 04 3E */ clrlwi r4, r4, 0x10 -/* 801F50DC 28 04 FF FF */ cmplwi r4, 0xffff -/* 801F50E0 40 82 00 2C */ bne lbl_801F510C -/* 801F50E4 88 1F 00 D0 */ lbz r0, 0xd0(r31) -/* 801F50E8 68 00 00 01 */ xori r0, r0, 1 -/* 801F50EC 54 00 10 3A */ slwi r0, r0, 2 -/* 801F50F0 7C 7F 02 14 */ add r3, r31, r0 -/* 801F50F4 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 801F50F8 3C 80 80 39 */ lis r4, d_menu_d_menu_save__stringBase0@ha /* 0x80397960@ha */ -/* 801F50FC 38 84 79 60 */ addi r4, r4, d_menu_d_menu_save__stringBase0@l /* 0x80397960@l */ -/* 801F5100 38 84 00 A5 */ addi r4, r4, 0xa5 -/* 801F5104 48 17 3A 29 */ bl strcpy -/* 801F5108 48 00 00 40 */ b lbl_801F5148 -lbl_801F510C: -/* 801F510C 88 1F 00 D0 */ lbz r0, 0xd0(r31) -/* 801F5110 68 00 00 01 */ xori r0, r0, 1 -/* 801F5114 54 00 10 3A */ slwi r0, r0, 2 -/* 801F5118 7C 7F 02 14 */ add r3, r31, r0 -/* 801F511C 80 63 00 C0 */ lwz r3, 0xc0(r3) -/* 801F5120 80 A3 00 04 */ lwz r5, 4(r3) -/* 801F5124 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 801F5128 38 C0 00 00 */ li r6, 0 -/* 801F512C 80 FF 00 20 */ lwz r7, 0x20(r31) -/* 801F5130 39 00 00 00 */ li r8, 0 -/* 801F5134 39 20 00 00 */ li r9, 0 -/* 801F5138 81 83 00 00 */ lwz r12, 0(r3) -/* 801F513C 81 8C 00 08 */ lwz r12, 8(r12) -/* 801F5140 7D 89 03 A6 */ mtctr r12 -/* 801F5144 4E 80 04 21 */ bctrl -lbl_801F5148: -/* 801F5148 38 80 00 00 */ li r4, 0 -/* 801F514C 88 1F 00 D0 */ lbz r0, 0xd0(r31) -/* 801F5150 54 00 10 3A */ slwi r0, r0, 2 -/* 801F5154 7C 7F 02 14 */ add r3, r31, r0 -/* 801F5158 80 63 00 C0 */ lwz r3, 0xc0(r3) -/* 801F515C B0 83 00 16 */ sth r4, 0x16(r3) -/* 801F5160 88 1F 00 D0 */ lbz r0, 0xd0(r31) -/* 801F5164 68 00 00 01 */ xori r0, r0, 1 -/* 801F5168 54 00 10 3A */ slwi r0, r0, 2 -/* 801F516C 7C 7F 02 14 */ add r3, r31, r0 -/* 801F5170 80 63 00 C0 */ lwz r3, 0xc0(r3) -/* 801F5174 B0 83 00 16 */ sth r4, 0x16(r3) -/* 801F5178 98 9F 00 D1 */ stb r4, 0xd1(r31) -/* 801F517C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F5180 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F5184 7C 08 03 A6 */ mtlr r0 -/* 801F5188 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F518C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/gameFileMakeSelInitSet__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/gameFileMakeSelInitSet__12dMenu_save_cFv.s deleted file mode 100644 index b05c1e049d..0000000000 --- a/asm/d/menu/d_menu_save/gameFileMakeSelInitSet__12dMenu_save_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_801F23A4: -/* 801F23A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F23A8 7C 08 02 A6 */ mflr r0 -/* 801F23AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F23B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F23B4 7C 7F 1B 78 */ mr r31, r3 -/* 801F23B8 38 80 03 C1 */ li r4, 0x3c1 -/* 801F23BC 48 00 2D 09 */ bl errorTxtSet__12dMenu_save_cFUs -/* 801F23C0 7F E3 FB 78 */ mr r3, r31 -/* 801F23C4 38 80 00 01 */ li r4, 1 -/* 801F23C8 48 00 3E 35 */ bl ketteiTxtDispAnmInit__12dMenu_save_cFUc -/* 801F23CC 38 00 00 00 */ li r0, 0 -/* 801F23D0 98 1F 01 B6 */ stb r0, 0x1b6(r31) -/* 801F23D4 7F E3 FB 78 */ mr r3, r31 -/* 801F23D8 38 80 0B B7 */ li r4, 0xbb7 -/* 801F23DC 38 A0 0B C1 */ li r5, 0xbc1 -/* 801F23E0 38 C0 00 00 */ li r6, 0 -/* 801F23E4 48 00 33 61 */ bl yesnoMenuMoveAnmInitSet__12dMenu_save_cFiiUc -/* 801F23E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F23EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F23F0 7C 08 03 A6 */ mtlr r0 -/* 801F23F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F23F8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/headerTxtSet__12dMenu_save_cFUs.s b/asm/d/menu/d_menu_save/headerTxtSet__12dMenu_save_cFUs.s deleted file mode 100644 index 1aefff8f7d..0000000000 --- a/asm/d/menu/d_menu_save/headerTxtSet__12dMenu_save_cFUs.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_801F485C: -/* 801F485C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F4860 7C 08 02 A6 */ mflr r0 -/* 801F4864 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F4868 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F486C 7C 7F 1B 78 */ mr r31, r3 -/* 801F4870 54 84 04 3E */ clrlwi r4, r4, 0x10 -/* 801F4874 28 04 FF FF */ cmplwi r4, 0xffff -/* 801F4878 40 82 00 2C */ bne lbl_801F48A4 -/* 801F487C 88 1F 01 78 */ lbz r0, 0x178(r31) -/* 801F4880 68 00 00 01 */ xori r0, r0, 1 -/* 801F4884 54 00 10 3A */ slwi r0, r0, 2 -/* 801F4888 7C 7F 02 14 */ add r3, r31, r0 -/* 801F488C 80 63 01 70 */ lwz r3, 0x170(r3) -/* 801F4890 3C 80 80 39 */ lis r4, d_menu_d_menu_save__stringBase0@ha /* 0x80397960@ha */ -/* 801F4894 38 84 79 60 */ addi r4, r4, d_menu_d_menu_save__stringBase0@l /* 0x80397960@l */ -/* 801F4898 38 84 00 A5 */ addi r4, r4, 0xa5 -/* 801F489C 48 17 42 91 */ bl strcpy -/* 801F48A0 48 00 00 40 */ b lbl_801F48E0 -lbl_801F48A4: -/* 801F48A4 88 1F 01 78 */ lbz r0, 0x178(r31) -/* 801F48A8 68 00 00 01 */ xori r0, r0, 1 -/* 801F48AC 54 00 10 3A */ slwi r0, r0, 2 -/* 801F48B0 7C 7F 02 14 */ add r3, r31, r0 -/* 801F48B4 80 63 01 68 */ lwz r3, 0x168(r3) -/* 801F48B8 80 A3 00 04 */ lwz r5, 4(r3) -/* 801F48BC 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 801F48C0 38 C0 00 00 */ li r6, 0 -/* 801F48C4 80 FF 00 20 */ lwz r7, 0x20(r31) -/* 801F48C8 39 00 00 00 */ li r8, 0 -/* 801F48CC 39 20 00 00 */ li r9, 0 -/* 801F48D0 81 83 00 00 */ lwz r12, 0(r3) -/* 801F48D4 81 8C 00 08 */ lwz r12, 8(r12) -/* 801F48D8 7D 89 03 A6 */ mtctr r12 -/* 801F48DC 4E 80 04 21 */ bctrl -lbl_801F48E0: -/* 801F48E0 38 80 00 00 */ li r4, 0 -/* 801F48E4 88 1F 01 78 */ lbz r0, 0x178(r31) -/* 801F48E8 54 00 10 3A */ slwi r0, r0, 2 -/* 801F48EC 7C 7F 02 14 */ add r3, r31, r0 -/* 801F48F0 80 63 01 68 */ lwz r3, 0x168(r3) -/* 801F48F4 B0 83 00 16 */ sth r4, 0x16(r3) -/* 801F48F8 88 1F 01 78 */ lbz r0, 0x178(r31) -/* 801F48FC 68 00 00 01 */ xori r0, r0, 1 -/* 801F4900 54 00 10 3A */ slwi r0, r0, 2 -/* 801F4904 7C 7F 02 14 */ add r3, r31, r0 -/* 801F4908 80 63 01 68 */ lwz r3, 0x168(r3) -/* 801F490C B0 83 00 16 */ sth r4, 0x16(r3) -/* 801F4910 98 9F 01 79 */ stb r4, 0x179(r31) -/* 801F4914 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F4918 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F491C 7C 08 03 A6 */ mtlr r0 -/* 801F4920 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F4924 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/initialize__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/initialize__12dMenu_save_cFv.s deleted file mode 100644 index 33527f026f..0000000000 --- a/asm/d/menu/d_menu_save/initialize__12dMenu_save_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_801F0938: -/* 801F0938 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F093C 7C 08 02 A6 */ mflr r0 -/* 801F0940 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F0944 48 00 00 15 */ bl displayInit__12dMenu_save_cFv -/* 801F0948 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F094C 7C 08 03 A6 */ mtlr r0 -/* 801F0950 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F0954 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/iplSelMsgInitSet__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/iplSelMsgInitSet__12dMenu_save_cFv.s deleted file mode 100644 index 1717060500..0000000000 --- a/asm/d/menu/d_menu_save/iplSelMsgInitSet__12dMenu_save_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_801F1C70: -/* 801F1C70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F1C74 7C 08 02 A6 */ mflr r0 -/* 801F1C78 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F1C7C 38 80 03 B5 */ li r4, 0x3b5 -/* 801F1C80 48 00 34 45 */ bl errorTxtSet__12dMenu_save_cFUs -/* 801F1C84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F1C88 7C 08 03 A6 */ mtlr r0 -/* 801F1C8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F1C90 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/makeGameFileDisp__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/makeGameFileDisp__12dMenu_save_cFv.s deleted file mode 100644 index c758e049b4..0000000000 --- a/asm/d/menu/d_menu_save/makeGameFileDisp__12dMenu_save_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_801F2514: -/* 801F2514 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801F2518 7C 08 02 A6 */ mflr r0 -/* 801F251C 90 01 00 24 */ stw r0, 0x24(r1) -/* 801F2520 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F2524 48 16 FC B9 */ bl _savegpr_29 -/* 801F2528 7C 7D 1B 78 */ mr r29, r3 -/* 801F252C 48 00 2C 65 */ bl errorTxtChangeAnm__12dMenu_save_cFv -/* 801F2530 7C 7E 1B 78 */ mr r30, r3 -/* 801F2534 7F A3 EB 78 */ mr r3, r29 -/* 801F2538 48 00 33 91 */ bl yesnoMenuMoveAnm__12dMenu_save_cFv -/* 801F253C 7C 7F 1B 78 */ mr r31, r3 -/* 801F2540 7F A3 EB 78 */ mr r3, r29 -/* 801F2544 48 00 3D 35 */ bl ketteiTxtDispAnm__12dMenu_save_cFv -/* 801F2548 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 801F254C 28 00 00 01 */ cmplwi r0, 1 -/* 801F2550 40 82 00 44 */ bne lbl_801F2594 -/* 801F2554 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 801F2558 28 00 00 01 */ cmplwi r0, 1 -/* 801F255C 40 82 00 38 */ bne lbl_801F2594 -/* 801F2560 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 801F2564 28 00 00 01 */ cmplwi r0, 1 -/* 801F2568 40 82 00 2C */ bne lbl_801F2594 -/* 801F256C 3C 60 80 43 */ lis r3, g_msHIO@ha /* 0x8042E84C@ha */ -/* 801F2570 38 63 E8 4C */ addi r3, r3, g_msHIO@l /* 0x8042E84C@l */ -/* 801F2574 88 03 00 06 */ lbz r0, 6(r3) -/* 801F2578 98 1D 01 BD */ stb r0, 0x1bd(r29) -/* 801F257C 7F A3 EB 78 */ mr r3, r29 -/* 801F2580 48 00 43 D5 */ bl setInitSaveData__12dMenu_save_cFv -/* 801F2584 7F A3 EB 78 */ mr r3, r29 -/* 801F2588 48 00 42 31 */ bl dataSave__12dMenu_save_cFv -/* 801F258C 38 00 00 1A */ li r0, 0x1a -/* 801F2590 98 1D 01 B2 */ stb r0, 0x1b2(r29) -lbl_801F2594: -/* 801F2594 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F2598 48 16 FC 91 */ bl _restgpr_29 -/* 801F259C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801F25A0 7C 08 03 A6 */ mtlr r0 -/* 801F25A4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801F25A8 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/makeGameFileSelDisp__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/makeGameFileSelDisp__12dMenu_save_cFv.s deleted file mode 100644 index 85c1af8998..0000000000 --- a/asm/d/menu/d_menu_save/makeGameFileSelDisp__12dMenu_save_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_801F23FC: -/* 801F23FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801F2400 7C 08 02 A6 */ mflr r0 -/* 801F2404 90 01 00 24 */ stw r0, 0x24(r1) -/* 801F2408 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F240C 48 16 FD D1 */ bl _savegpr_29 -/* 801F2410 7C 7D 1B 78 */ mr r29, r3 -/* 801F2414 48 00 2D 7D */ bl errorTxtChangeAnm__12dMenu_save_cFv -/* 801F2418 7C 7E 1B 78 */ mr r30, r3 -/* 801F241C 7F A3 EB 78 */ mr r3, r29 -/* 801F2420 48 00 34 A9 */ bl yesnoMenuMoveAnm__12dMenu_save_cFv -/* 801F2424 7C 7F 1B 78 */ mr r31, r3 -/* 801F2428 7F A3 EB 78 */ mr r3, r29 -/* 801F242C 48 00 3E 4D */ bl ketteiTxtDispAnm__12dMenu_save_cFv -/* 801F2430 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 801F2434 28 00 00 01 */ cmplwi r0, 1 -/* 801F2438 40 82 00 2C */ bne lbl_801F2464 -/* 801F243C 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 801F2440 28 00 00 01 */ cmplwi r0, 1 -/* 801F2444 40 82 00 20 */ bne lbl_801F2464 -/* 801F2448 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 801F244C 28 00 00 01 */ cmplwi r0, 1 -/* 801F2450 40 82 00 14 */ bne lbl_801F2464 -/* 801F2454 7F A3 EB 78 */ mr r3, r29 -/* 801F2458 48 00 39 2D */ bl yesnoCursorShow__12dMenu_save_cFv -/* 801F245C 38 00 00 18 */ li r0, 0x18 -/* 801F2460 98 1D 01 B2 */ stb r0, 0x1b2(r29) -lbl_801F2464: -/* 801F2464 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F2468 48 16 FD C1 */ bl _restgpr_29 -/* 801F246C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801F2470 7C 08 03 A6 */ mtlr r0 -/* 801F2474 38 21 00 20 */ addi r1, r1, 0x20 -/* 801F2478 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/memCardErrMsgWaitKey__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/memCardErrMsgWaitKey__12dMenu_save_cFv.s deleted file mode 100644 index 5f171a5dba..0000000000 --- a/asm/d/menu/d_menu_save/memCardErrMsgWaitKey__12dMenu_save_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_801F191C: -/* 801F191C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F1920 7C 08 02 A6 */ mflr r0 -/* 801F1924 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F1928 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F192C 7C 7F 1B 78 */ mr r31, r3 -/* 801F1930 38 60 00 00 */ li r3, 0 -/* 801F1934 48 07 19 79 */ bl cAPICPad_ANY_BUTTON__FUl -/* 801F1938 28 03 00 00 */ cmplwi r3, 0 -/* 801F193C 41 82 00 58 */ beq lbl_801F1994 -/* 801F1940 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801F1944 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 801F1948 A8 03 00 94 */ lha r0, 0x94(r3) -/* 801F194C 2C 00 00 00 */ cmpwi r0, 0 -/* 801F1950 40 82 00 44 */ bne lbl_801F1994 -/* 801F1954 88 1F 01 B5 */ lbz r0, 0x1b5(r31) -/* 801F1958 28 00 00 3D */ cmplwi r0, 0x3d -/* 801F195C 40 82 00 10 */ bne lbl_801F196C -/* 801F1960 7F E3 FB 78 */ mr r3, r31 -/* 801F1964 48 00 01 D5 */ bl closeSelect__12dMenu_save_cFv -/* 801F1968 48 00 00 2C */ b lbl_801F1994 -lbl_801F196C: -/* 801F196C 38 7F 01 C4 */ addi r3, r31, 0x1c4 -/* 801F1970 48 17 06 A9 */ bl __ptmf_test -/* 801F1974 2C 03 00 00 */ cmpwi r3, 0 -/* 801F1978 41 82 00 14 */ beq lbl_801F198C -/* 801F197C 7F E3 FB 78 */ mr r3, r31 -/* 801F1980 39 9F 01 C4 */ addi r12, r31, 0x1c4 -/* 801F1984 48 17 07 01 */ bl __ptmf_scall -/* 801F1988 60 00 00 00 */ nop -lbl_801F198C: -/* 801F198C 88 1F 01 B5 */ lbz r0, 0x1b5(r31) -/* 801F1990 98 1F 01 B2 */ stb r0, 0x1b2(r31) -lbl_801F1994: -/* 801F1994 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F1998 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F199C 7C 08 03 A6 */ mtlr r0 -/* 801F19A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F19A4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/memCardFormat__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/memCardFormat__12dMenu_save_cFv.s deleted file mode 100644 index 15b6a21ddc..0000000000 --- a/asm/d/menu/d_menu_save/memCardFormat__12dMenu_save_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_801F22CC: -/* 801F22CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F22D0 7C 08 02 A6 */ mflr r0 -/* 801F22D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F22D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F22DC 7C 7F 1B 78 */ mr r31, r3 -/* 801F22E0 88 63 01 BD */ lbz r3, 0x1bd(r3) -/* 801F22E4 28 03 00 00 */ cmplwi r3, 0 -/* 801F22E8 41 82 00 0C */ beq lbl_801F22F4 -/* 801F22EC 38 03 FF FF */ addi r0, r3, -1 -/* 801F22F0 98 1F 01 BD */ stb r0, 0x1bd(r31) -lbl_801F22F4: -/* 801F22F4 3C 60 80 3F */ lis r3, g_mDoMemCd_control@ha /* 0x803EAF40@ha */ -/* 801F22F8 38 63 AF 40 */ addi r3, r3, g_mDoMemCd_control@l /* 0x803EAF40@l */ -/* 801F22FC 4B E2 4C 31 */ bl FormatSync__15mDoMemCd_Ctrl_cFv -/* 801F2300 90 7F 21 98 */ stw r3, 0x2198(r31) -/* 801F2304 80 1F 21 98 */ lwz r0, 0x2198(r31) -/* 801F2308 2C 00 00 00 */ cmpwi r0, 0 -/* 801F230C 41 82 00 0C */ beq lbl_801F2318 -/* 801F2310 38 00 00 16 */ li r0, 0x16 -/* 801F2314 98 1F 01 B2 */ stb r0, 0x1b2(r31) -lbl_801F2318: -/* 801F2318 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F231C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F2320 7C 08 03 A6 */ mtlr r0 -/* 801F2324 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F2328 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/memCardMakeGameFileSel__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/memCardMakeGameFileSel__12dMenu_save_cFv.s deleted file mode 100644 index c528f206d0..0000000000 --- a/asm/d/menu/d_menu_save/memCardMakeGameFileSel__12dMenu_save_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_801F247C: -/* 801F247C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F2480 7C 08 02 A6 */ mflr r0 -/* 801F2484 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F2488 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F248C 7C 7F 1B 78 */ mr r31, r3 -/* 801F2490 38 80 00 01 */ li r4, 1 -/* 801F2494 38 A0 00 00 */ li r5, 0 -/* 801F2498 48 00 29 B1 */ bl errYesNoSelect__12dMenu_save_cFUcUc -/* 801F249C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801F24A0 41 82 00 60 */ beq lbl_801F2500 -/* 801F24A4 88 1F 01 B6 */ lbz r0, 0x1b6(r31) -/* 801F24A8 28 00 00 00 */ cmplwi r0, 0 -/* 801F24AC 41 82 00 4C */ beq lbl_801F24F8 -/* 801F24B0 38 00 00 01 */ li r0, 1 -/* 801F24B4 98 1F 01 BF */ stb r0, 0x1bf(r31) -/* 801F24B8 7F E3 FB 78 */ mr r3, r31 -/* 801F24BC 38 80 03 C5 */ li r4, 0x3c5 -/* 801F24C0 48 00 2C 05 */ bl errorTxtSet__12dMenu_save_cFUs -/* 801F24C4 7F E3 FB 78 */ mr r3, r31 -/* 801F24C8 38 80 00 00 */ li r4, 0 -/* 801F24CC 48 00 3D 31 */ bl ketteiTxtDispAnmInit__12dMenu_save_cFUc -/* 801F24D0 38 00 00 00 */ li r0, 0 -/* 801F24D4 98 1F 00 9E */ stb r0, 0x9e(r31) -/* 801F24D8 7F E3 FB 78 */ mr r3, r31 -/* 801F24DC 38 80 0B C1 */ li r4, 0xbc1 -/* 801F24E0 38 A0 0B B7 */ li r5, 0xbb7 -/* 801F24E4 38 C0 00 00 */ li r6, 0 -/* 801F24E8 48 00 32 5D */ bl yesnoMenuMoveAnmInitSet__12dMenu_save_cFiiUc -/* 801F24EC 38 00 00 19 */ li r0, 0x19 -/* 801F24F0 98 1F 01 B2 */ stb r0, 0x1b2(r31) -/* 801F24F4 48 00 00 0C */ b lbl_801F2500 -lbl_801F24F8: -/* 801F24F8 7F E3 FB 78 */ mr r3, r31 -/* 801F24FC 4B FF F6 3D */ bl closeSelect__12dMenu_save_cFv -lbl_801F2500: -/* 801F2500 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F2504 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F2508 7C 08 03 A6 */ mtlr r0 -/* 801F250C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F2510 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/memCardWatch__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/memCardWatch__12dMenu_save_cFv.s deleted file mode 100644 index 7d5a6c5305..0000000000 --- a/asm/d/menu/d_menu_save/memCardWatch__12dMenu_save_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_801F12F0: -/* 801F12F0 88 03 01 BC */ lbz r0, 0x1bc(r3) -/* 801F12F4 28 00 00 02 */ cmplwi r0, 2 -/* 801F12F8 4D 82 00 20 */ beqlr -/* 801F12FC 3C 80 80 3F */ lis r4, g_mDoMemCd_control@ha /* 0x803EAF40@ha */ -/* 801F1300 38 A4 AF 40 */ addi r5, r4, g_mDoMemCd_control@l /* 0x803EAF40@l */ -/* 801F1304 88 05 1F BE */ lbz r0, 0x1fbe(r5) -/* 801F1308 28 00 00 00 */ cmplwi r0, 0 -/* 801F130C 41 82 00 0C */ beq lbl_801F1318 -/* 801F1310 28 00 00 01 */ cmplwi r0, 1 -/* 801F1314 4C 82 00 20 */ bnelr -lbl_801F1318: -/* 801F1318 80 8D 86 F8 */ lwz r4, mResetData__6mDoRst(r13) -/* 801F131C 80 04 00 00 */ lwz r0, 0(r4) -/* 801F1320 2C 00 00 00 */ cmpwi r0, 0 -/* 801F1324 4C 82 00 20 */ bnelr -/* 801F1328 88 03 01 BF */ lbz r0, 0x1bf(r3) -/* 801F132C 28 00 00 00 */ cmplwi r0, 0 -/* 801F1330 40 82 00 3C */ bne lbl_801F136C -/* 801F1334 80 83 21 8C */ lwz r4, 0x218c(r3) -/* 801F1338 28 04 00 00 */ cmplwi r4, 0 -/* 801F133C 41 82 00 28 */ beq lbl_801F1364 -/* 801F1340 88 04 00 60 */ lbz r0, 0x60(r4) -/* 801F1344 28 00 00 00 */ cmplwi r0, 0 -/* 801F1348 41 82 00 1C */ beq lbl_801F1364 -/* 801F134C 28 00 00 03 */ cmplwi r0, 3 -/* 801F1350 41 82 00 0C */ beq lbl_801F135C -/* 801F1354 28 00 00 04 */ cmplwi r0, 4 -/* 801F1358 40 82 00 0C */ bne lbl_801F1364 -lbl_801F135C: -/* 801F135C 38 00 00 01 */ li r0, 1 -/* 801F1360 98 04 00 65 */ stb r0, 0x65(r4) -lbl_801F1364: -/* 801F1364 38 00 00 06 */ li r0, 6 -/* 801F1368 98 03 01 B2 */ stb r0, 0x1b2(r3) -lbl_801F136C: -/* 801F136C 38 00 00 02 */ li r0, 2 -/* 801F1370 98 05 1F BE */ stb r0, 0x1fbe(r5) -/* 801F1374 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/msgTxtSet__12dMenu_save_cFUsb.s b/asm/d/menu/d_menu_save/msgTxtSet__12dMenu_save_cFUsb.s deleted file mode 100644 index a14ad57751..0000000000 --- a/asm/d/menu/d_menu_save/msgTxtSet__12dMenu_save_cFUsb.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_801F34BC: -/* 801F34BC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801F34C0 7C 08 02 A6 */ mflr r0 -/* 801F34C4 90 01 00 24 */ stw r0, 0x24(r1) -/* 801F34C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F34CC 48 16 ED 11 */ bl _savegpr_29 -/* 801F34D0 7C 7D 1B 78 */ mr r29, r3 -/* 801F34D4 7C 9E 23 78 */ mr r30, r4 -/* 801F34D8 7C BF 2B 78 */ mr r31, r5 -/* 801F34DC 54 84 04 3E */ clrlwi r4, r4, 0x10 -/* 801F34E0 28 04 FF FF */ cmplwi r4, 0xffff -/* 801F34E4 41 82 00 84 */ beq lbl_801F3568 -/* 801F34E8 80 7D 21 8C */ lwz r3, 0x218c(r29) -/* 801F34EC 28 03 00 00 */ cmplwi r3, 0 -/* 801F34F0 40 82 00 0C */ bne lbl_801F34FC -/* 801F34F4 38 60 00 00 */ li r3, 0 -/* 801F34F8 48 00 00 50 */ b lbl_801F3548 -lbl_801F34FC: -/* 801F34FC 88 1D 21 90 */ lbz r0, 0x2190(r29) -/* 801F3500 28 00 00 01 */ cmplwi r0, 1 -/* 801F3504 40 82 00 30 */ bne lbl_801F3534 -/* 801F3508 38 A0 00 01 */ li r5, 1 -/* 801F350C 88 1D 01 B6 */ lbz r0, 0x1b6(r29) -/* 801F3510 7C 00 00 34 */ cntlzw r0, r0 -/* 801F3514 54 06 DE 3E */ rlwinm r6, r0, 0x1b, 0x18, 0x1f -/* 801F3518 38 E0 00 FF */ li r7, 0xff -/* 801F351C 7F E8 FB 78 */ mr r8, r31 -/* 801F3520 48 04 B0 39 */ bl openExplain__17dMsgScrnExplain_cFUlUcUcUcb -/* 801F3524 38 00 00 1E */ li r0, 0x1e -/* 801F3528 80 9D 21 8C */ lwz r4, 0x218c(r29) -/* 801F352C B0 04 00 5E */ sth r0, 0x5e(r4) -/* 801F3530 48 00 00 18 */ b lbl_801F3548 -lbl_801F3534: -/* 801F3534 38 A0 00 00 */ li r5, 0 -/* 801F3538 38 C0 00 00 */ li r6, 0 -/* 801F353C 38 E0 00 FF */ li r7, 0xff -/* 801F3540 39 00 00 01 */ li r8, 1 -/* 801F3544 48 04 B0 15 */ bl openExplain__17dMsgScrnExplain_cFUlUcUcUcb -lbl_801F3548: -/* 801F3548 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801F354C 40 82 00 1C */ bne lbl_801F3568 -/* 801F3550 9B FD 21 9C */ stb r31, 0x219c(r29) -/* 801F3554 B3 DD 21 92 */ sth r30, 0x2192(r29) -/* 801F3558 88 1D 01 B2 */ lbz r0, 0x1b2(r29) -/* 801F355C 98 1D 21 94 */ stb r0, 0x2194(r29) -/* 801F3560 38 00 00 2A */ li r0, 0x2a -/* 801F3564 98 1D 01 B2 */ stb r0, 0x1b2(r29) -lbl_801F3568: -/* 801F3568 38 00 00 00 */ li r0, 0 -/* 801F356C 98 1D 01 B9 */ stb r0, 0x1b9(r29) -/* 801F3570 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F3574 48 16 EC B5 */ bl _restgpr_29 -/* 801F3578 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801F357C 7C 08 03 A6 */ mtlr r0 -/* 801F3580 38 21 00 20 */ addi r1, r1, 0x20 -/* 801F3584 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/saveSelAnm__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/saveSelAnm__12dMenu_save_cFv.s deleted file mode 100644 index c256f88f61..0000000000 --- a/asm/d/menu/d_menu_save/saveSelAnm__12dMenu_save_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801F1100: -/* 801F1100 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F1104 7C 08 02 A6 */ mflr r0 -/* 801F1108 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F110C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F1110 7C 7F 1B 78 */ mr r31, r3 -/* 801F1114 88 03 01 B0 */ lbz r0, 0x1b0(r3) -/* 801F1118 28 00 00 00 */ cmplwi r0, 0 -/* 801F111C 41 82 00 18 */ beq lbl_801F1134 -/* 801F1120 48 00 00 29 */ bl selFileWakuAnm__12dMenu_save_cFv -/* 801F1124 7F E3 FB 78 */ mr r3, r31 -/* 801F1128 48 00 00 CD */ bl bookIconAnm__12dMenu_save_cFv -/* 801F112C 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 801F1130 48 10 85 61 */ bl animation__9J2DScreenFv -lbl_801F1134: -/* 801F1134 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F1138 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F113C 7C 08 03 A6 */ mtlr r0 -/* 801F1140 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F1144 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/setInitSaveData__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/setInitSaveData__12dMenu_save_cFv.s deleted file mode 100644 index be2aac1f12..0000000000 --- a/asm/d/menu/d_menu_save/setInitSaveData__12dMenu_save_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_801F6954: -/* 801F6954 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801F6958 7C 08 02 A6 */ mflr r0 -/* 801F695C 90 01 00 24 */ stw r0, 0x24(r1) -/* 801F6960 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F6964 48 16 B8 79 */ bl _savegpr_29 -/* 801F6968 7C 7D 1B 78 */ mr r29, r3 -/* 801F696C 3B C0 00 00 */ li r30, 0 -/* 801F6970 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F6974 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_801F6978: -/* 801F6978 7F E3 FB 78 */ mr r3, r31 -/* 801F697C 38 9D 01 D0 */ addi r4, r29, 0x1d0 -/* 801F6980 7F C5 F3 78 */ mr r5, r30 -/* 801F6984 4B E3 F2 4D */ bl initdata_to_card__10dSv_info_cFPci -/* 801F6988 38 7D 01 D0 */ addi r3, r29, 0x1d0 -/* 801F698C 57 C4 06 3E */ clrlwi r4, r30, 0x18 -/* 801F6990 4B E2 13 A9 */ bl mDoMemCdRWm_SetCheckSumGameData__FPUcUc -/* 801F6994 3B DE 00 01 */ addi r30, r30, 1 -/* 801F6998 2C 1E 00 03 */ cmpwi r30, 3 -/* 801F699C 41 80 FF DC */ blt lbl_801F6978 -/* 801F69A0 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F69A4 48 16 B8 85 */ bl _restgpr_29 -/* 801F69A8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801F69AC 7C 08 03 A6 */ mtlr r0 -/* 801F69B0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801F69B4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_save/setSaveData__12dMenu_save_cFv.s b/asm/d/menu/d_menu_save/setSaveData__12dMenu_save_cFv.s deleted file mode 100644 index e100fe7349..0000000000 --- a/asm/d/menu/d_menu_save/setSaveData__12dMenu_save_cFv.s +++ /dev/null @@ -1,98 +0,0 @@ -lbl_801F67F0: -/* 801F67F0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801F67F4 7C 08 02 A6 */ mflr r0 -/* 801F67F8 90 01 00 34 */ stw r0, 0x34(r1) -/* 801F67FC 39 61 00 30 */ addi r11, r1, 0x30 -/* 801F6800 48 16 B9 CD */ bl _savegpr_25 -/* 801F6804 7C 7B 1B 78 */ mr r27, r3 -/* 801F6808 3B BB 01 D0 */ addi r29, r27, 0x1d0 -/* 801F680C 3B 80 00 00 */ li r28, 0 -/* 801F6810 3B 40 00 00 */ li r26, 0 -/* 801F6814 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F6818 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_801F681C: -/* 801F681C 7F A3 EB 78 */ mr r3, r29 -/* 801F6820 4B E2 14 CD */ bl mDoMemCdRWm_TestCheckSumGameData__FPv -/* 801F6824 7C 65 1B 78 */ mr r5, r3 -/* 801F6828 7F DB D2 14 */ add r30, r27, r26 -/* 801F682C 80 7E 00 34 */ lwz r3, 0x34(r30) -/* 801F6830 7F A4 EB 78 */ mr r4, r29 -/* 801F6834 57 86 06 3E */ clrlwi r6, r28, 0x18 -/* 801F6838 4B F9 C1 1D */ bl setSaveData__12dFile_info_cFP10dSv_save_ciUc -/* 801F683C 2C 03 FF FF */ cmpwi r3, -1 -/* 801F6840 40 82 00 1C */ bne lbl_801F685C -/* 801F6844 38 00 00 01 */ li r0, 1 -/* 801F6848 7C 7B E2 14 */ add r3, r27, r28 -/* 801F684C 98 03 01 AD */ stb r0, 0x1ad(r3) -/* 801F6850 38 00 00 00 */ li r0, 0 -/* 801F6854 98 03 01 AA */ stb r0, 0x1aa(r3) -/* 801F6858 48 00 00 3C */ b lbl_801F6894 -lbl_801F685C: -/* 801F685C 7C 9B E2 14 */ add r4, r27, r28 -/* 801F6860 98 64 01 AA */ stb r3, 0x1aa(r4) -/* 801F6864 38 00 00 00 */ li r0, 0 -/* 801F6868 98 04 01 AD */ stb r0, 0x1ad(r4) -/* 801F686C 88 7F 0F 19 */ lbz r3, 0xf19(r31) -/* 801F6870 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 801F6874 40 82 00 0C */ bne lbl_801F6880 -/* 801F6878 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 -/* 801F687C 40 82 00 18 */ bne lbl_801F6894 -lbl_801F6880: -/* 801F6880 88 04 01 AA */ lbz r0, 0x1aa(r4) -/* 801F6884 28 00 00 02 */ cmplwi r0, 2 -/* 801F6888 40 82 00 0C */ bne lbl_801F6894 -/* 801F688C 38 00 00 01 */ li r0, 1 -/* 801F6890 98 04 01 AA */ stb r0, 0x1aa(r4) -lbl_801F6894: -/* 801F6894 7F 3B E2 14 */ add r25, r27, r28 -/* 801F6898 88 19 01 AD */ lbz r0, 0x1ad(r25) -/* 801F689C 28 00 00 00 */ cmplwi r0, 0 -/* 801F68A0 40 82 00 10 */ bne lbl_801F68B0 -/* 801F68A4 88 19 01 AA */ lbz r0, 0x1aa(r25) -/* 801F68A8 28 00 00 01 */ cmplwi r0, 1 -/* 801F68AC 40 82 00 38 */ bne lbl_801F68E4 -lbl_801F68B0: -/* 801F68B0 80 7E 01 7C */ lwz r3, 0x17c(r30) -/* 801F68B4 38 80 00 00 */ li r4, 0 -/* 801F68B8 81 83 00 00 */ lwz r12, 0(r3) -/* 801F68BC 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801F68C0 7D 89 03 A6 */ mtctr r12 -/* 801F68C4 4E 80 04 21 */ bctrl -/* 801F68C8 80 7E 01 88 */ lwz r3, 0x188(r30) -/* 801F68CC 38 80 00 FF */ li r4, 0xff -/* 801F68D0 81 83 00 00 */ lwz r12, 0(r3) -/* 801F68D4 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801F68D8 7D 89 03 A6 */ mtctr r12 -/* 801F68DC 4E 80 04 21 */ bctrl -/* 801F68E0 48 00 00 34 */ b lbl_801F6914 -lbl_801F68E4: -/* 801F68E4 80 7E 01 7C */ lwz r3, 0x17c(r30) -/* 801F68E8 38 80 00 FF */ li r4, 0xff -/* 801F68EC 81 83 00 00 */ lwz r12, 0(r3) -/* 801F68F0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801F68F4 7D 89 03 A6 */ mtctr r12 -/* 801F68F8 4E 80 04 21 */ bctrl -/* 801F68FC 80 7E 01 88 */ lwz r3, 0x188(r30) -/* 801F6900 38 80 00 00 */ li r4, 0 -/* 801F6904 81 83 00 00 */ lwz r12, 0(r3) -/* 801F6908 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801F690C 7D 89 03 A6 */ mtctr r12 -/* 801F6910 4E 80 04 21 */ bctrl -lbl_801F6914: -/* 801F6914 88 19 01 AA */ lbz r0, 0x1aa(r25) -/* 801F6918 28 00 00 02 */ cmplwi r0, 2 -/* 801F691C 40 82 00 0C */ bne lbl_801F6928 -/* 801F6920 38 00 00 01 */ li r0, 1 -/* 801F6924 98 19 01 AA */ stb r0, 0x1aa(r25) -lbl_801F6928: -/* 801F6928 3B 9C 00 01 */ addi r28, r28, 1 -/* 801F692C 2C 1C 00 03 */ cmpwi r28, 3 -/* 801F6930 3B BD 0A 94 */ addi r29, r29, 0xa94 -/* 801F6934 3B 5A 00 04 */ addi r26, r26, 4 -/* 801F6938 41 80 FE E4 */ blt lbl_801F681C -/* 801F693C 39 61 00 30 */ addi r11, r1, 0x30 -/* 801F6940 48 16 B8 D9 */ bl _restgpr_25 -/* 801F6944 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801F6948 7C 08 03 A6 */ mtlr r0 -/* 801F694C 38 21 00 30 */ addi r1, r1, 0x30 -/* 801F6950 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_info/dMeter2Info_getNowLifeGauge__Fv.s b/asm/d/meter/d_meter2_info/dMeter2Info_getNowLifeGauge__Fv.s deleted file mode 100644 index a2f53d3445..0000000000 --- a/asm/d/meter/d_meter2_info/dMeter2Info_getNowLifeGauge__Fv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8021E2B4: -/* 8021E2B4 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021E2B8 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021E2BC 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8021E2C0 A8 63 01 92 */ lha r3, 0x192(r3) -/* 8021E2C4 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_info/dMeter2Info_isItemOpenCheck__Fv.s b/asm/d/meter/d_meter2_info/dMeter2Info_isItemOpenCheck__Fv.s deleted file mode 100644 index 8487b81fa4..0000000000 --- a/asm/d/meter/d_meter2_info/dMeter2Info_isItemOpenCheck__Fv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8021E688: -/* 8021E688 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021E68C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021E690 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8021E694 88 63 05 6A */ lbz r3, 0x56a(r3) -/* 8021E698 28 03 00 2D */ cmplwi r3, 0x2d -/* 8021E69C 41 82 00 38 */ beq lbl_8021E6D4 -/* 8021E6A0 38 00 00 00 */ li r0, 0 -/* 8021E6A4 28 03 00 00 */ cmplwi r3, 0 -/* 8021E6A8 41 82 00 10 */ beq lbl_8021E6B8 -/* 8021E6AC 28 03 00 26 */ cmplwi r3, 0x26 -/* 8021E6B0 40 80 00 08 */ bge lbl_8021E6B8 -/* 8021E6B4 38 00 00 01 */ li r0, 1 -lbl_8021E6B8: -/* 8021E6B8 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8021E6BC 40 82 00 18 */ bne lbl_8021E6D4 -/* 8021E6C0 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021E6C4 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021E6C8 A0 03 00 A2 */ lhz r0, 0xa2(r3) -/* 8021E6CC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8021E6D0 41 82 00 0C */ beq lbl_8021E6DC -lbl_8021E6D4: -/* 8021E6D4 38 60 00 00 */ li r3, 0 -/* 8021E6D8 4E 80 00 20 */ blr -lbl_8021E6DC: -/* 8021E6DC 38 60 00 01 */ li r3, 1 -/* 8021E6E0 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_info/get2ndTexture__13dMeter2Info_cFUc.s b/asm/d/meter/d_meter2_info/get2ndTexture__13dMeter2Info_cFUc.s deleted file mode 100644 index fc900202ce..0000000000 --- a/asm/d/meter/d_meter2_info/get2ndTexture__13dMeter2Info_cFUc.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8021D44C: -/* 8021D44C 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 8021D450 28 00 00 24 */ cmplwi r0, 0x24 -/* 8021D454 41 81 00 5C */ bgt lbl_8021D4B0 -/* 8021D458 3C 60 80 3C */ lis r3, lit_4572@ha /* 0x803BF760@ha */ -/* 8021D45C 38 63 F7 60 */ addi r3, r3, lit_4572@l /* 0x803BF760@l */ -/* 8021D460 54 00 10 3A */ slwi r0, r0, 2 -/* 8021D464 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8021D468 7C 09 03 A6 */ mtctr r0 -/* 8021D46C 4E 80 04 20 */ bctr -/* 8021D470 38 60 00 2E */ li r3, 0x2e -/* 8021D474 4E 80 00 20 */ blr -/* 8021D478 38 60 00 0E */ li r3, 0xe -/* 8021D47C 4E 80 00 20 */ blr -/* 8021D480 38 60 00 14 */ li r3, 0x14 -/* 8021D484 4E 80 00 20 */ blr -/* 8021D488 38 60 00 27 */ li r3, 0x27 -/* 8021D48C 4E 80 00 20 */ blr -/* 8021D490 38 60 00 0F */ li r3, 0xf -/* 8021D494 4E 80 00 20 */ blr -/* 8021D498 38 60 00 10 */ li r3, 0x10 -/* 8021D49C 4E 80 00 20 */ blr -/* 8021D4A0 38 60 00 69 */ li r3, 0x69 -/* 8021D4A4 4E 80 00 20 */ blr -/* 8021D4A8 38 60 00 2A */ li r3, 0x2a -/* 8021D4AC 4E 80 00 20 */ blr -lbl_8021D4B0: -/* 8021D4B0 38 60 FF FF */ li r3, -1 -/* 8021D4B4 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_info/setFloatingFlow__13dMeter2Info_cFUssb.s b/asm/d/meter/d_meter2_info/setFloatingFlow__13dMeter2Info_cFUssb.s deleted file mode 100644 index 3e95707cdf..0000000000 --- a/asm/d/meter/d_meter2_info/setFloatingFlow__13dMeter2Info_cFUssb.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_8021C11C: -/* 8021C11C 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 8021C120 7C 08 02 A6 */ mflr r0 -/* 8021C124 90 01 00 74 */ stw r0, 0x74(r1) -/* 8021C128 39 61 00 70 */ addi r11, r1, 0x70 -/* 8021C12C 48 14 60 AD */ bl _savegpr_28 -/* 8021C130 7C 7C 1B 78 */ mr r28, r3 -/* 8021C134 7C 9D 23 78 */ mr r29, r4 -/* 8021C138 7C BE 2B 78 */ mr r30, r5 -/* 8021C13C 7C DF 33 78 */ mr r31, r6 -/* 8021C140 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021C144 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021C148 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8021C14C 28 00 00 00 */ cmplwi r0, 0 -/* 8021C150 41 82 00 0C */ beq lbl_8021C15C -/* 8021C154 38 60 00 00 */ li r3, 0 -/* 8021C158 48 00 00 6C */ b lbl_8021C1C4 -lbl_8021C15C: -/* 8021C15C B3 BC 00 A4 */ sth r29, 0xa4(r28) -/* 8021C160 38 61 00 08 */ addi r3, r1, 8 -/* 8021C164 48 02 DD 9D */ bl __ct__10dMsgFlow_cFv -/* 8021C168 38 61 00 08 */ addi r3, r1, 8 -/* 8021C16C 38 80 00 00 */ li r4, 0 -/* 8021C170 57 A5 04 3E */ clrlwi r5, r29, 0x10 -/* 8021C174 38 C0 00 00 */ li r6, 0 -/* 8021C178 38 E0 00 00 */ li r7, 0 -/* 8021C17C 48 02 DE 15 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 8021C180 38 61 00 08 */ addi r3, r1, 8 -/* 8021C184 38 80 00 00 */ li r4, 0 -/* 8021C188 38 A0 00 00 */ li r5, 0 -/* 8021C18C 38 C0 00 00 */ li r6, 0 -/* 8021C190 48 02 E1 49 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 8021C194 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8021C198 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8021C19C B0 1C 00 A4 */ sth r0, 0xa4(r28) -/* 8021C1A0 38 61 00 08 */ addi r3, r1, 8 -/* 8021C1A4 48 02 E3 95 */ bl getMsgNo__10dMsgFlow_cFv -/* 8021C1A8 B0 7C 00 A6 */ sth r3, 0xa6(r28) -/* 8021C1AC B3 DC 00 A8 */ sth r30, 0xa8(r28) -/* 8021C1B0 9B FC 00 F1 */ stb r31, 0xf1(r28) -/* 8021C1B4 38 61 00 08 */ addi r3, r1, 8 -/* 8021C1B8 38 80 FF FF */ li r4, -1 -/* 8021C1BC 48 02 DD 8D */ bl __dt__10dMsgFlow_cFv -/* 8021C1C0 38 60 00 01 */ li r3, 1 -lbl_8021C1C4: -/* 8021C1C4 39 61 00 70 */ addi r11, r1, 0x70 -/* 8021C1C8 48 14 60 5D */ bl _restgpr_28 -/* 8021C1CC 80 01 00 74 */ lwz r0, 0x74(r1) -/* 8021C1D0 7C 08 03 A6 */ mtlr r0 -/* 8021C1D4 38 21 00 70 */ addi r1, r1, 0x70 -/* 8021C1D8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_info/setFloatingMessage__13dMeter2Info_cFUssb.s b/asm/d/meter/d_meter2_info/setFloatingMessage__13dMeter2Info_cFUssb.s deleted file mode 100644 index 79df9f31e8..0000000000 --- a/asm/d/meter/d_meter2_info/setFloatingMessage__13dMeter2Info_cFUssb.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8021C0E0: -/* 8021C0E0 3C E0 80 40 */ lis r7, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021C0E4 38 E7 61 C0 */ addi r7, r7, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021C0E8 88 07 4F AD */ lbz r0, 0x4fad(r7) -/* 8021C0EC 28 00 00 00 */ cmplwi r0, 0 -/* 8021C0F0 41 82 00 0C */ beq lbl_8021C0FC -/* 8021C0F4 38 60 00 00 */ li r3, 0 -/* 8021C0F8 4E 80 00 20 */ blr -lbl_8021C0FC: -/* 8021C0FC 3C E0 00 01 */ lis r7, 0x0001 /* 0x0000FFFF@ha */ -/* 8021C100 38 07 FF FF */ addi r0, r7, 0xFFFF /* 0x0000FFFF@l */ -/* 8021C104 B0 03 00 A4 */ sth r0, 0xa4(r3) -/* 8021C108 B0 83 00 A6 */ sth r4, 0xa6(r3) -/* 8021C10C B0 A3 00 A8 */ sth r5, 0xa8(r3) -/* 8021C110 98 C3 00 F1 */ stb r6, 0xf1(r3) -/* 8021C114 38 60 00 01 */ li r3, 1 -/* 8021C118 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_info/setMeterString__13dMeter2Info_cFl.s b/asm/d/meter/d_meter2_info/setMeterString__13dMeter2Info_cFl.s deleted file mode 100644 index 68813c05bb..0000000000 --- a/asm/d/meter/d_meter2_info/setMeterString__13dMeter2Info_cFl.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8021C970: -/* 8021C970 80 03 00 8C */ lwz r0, 0x8c(r3) -/* 8021C974 2C 00 00 00 */ cmpwi r0, 0 -/* 8021C978 41 82 00 0C */ beq lbl_8021C984 -/* 8021C97C 38 60 00 00 */ li r3, 0 -/* 8021C980 4E 80 00 20 */ blr -lbl_8021C984: -/* 8021C984 2C 04 00 00 */ cmpwi r4, 0 -/* 8021C988 40 82 00 0C */ bne lbl_8021C994 -/* 8021C98C 38 60 00 00 */ li r3, 0 -/* 8021C990 4E 80 00 20 */ blr -lbl_8021C994: -/* 8021C994 3C A0 80 43 */ lis r5, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021C998 38 A5 01 88 */ addi r5, r5, g_meter2_info@l /* 0x80430188@l */ -/* 8021C99C 80 A5 00 1C */ lwz r5, 0x1c(r5) -/* 8021C9A0 28 05 00 00 */ cmplwi r5, 0 -/* 8021C9A4 41 82 00 30 */ beq lbl_8021C9D4 -/* 8021C9A8 88 05 01 E5 */ lbz r0, 0x1e5(r5) -/* 8021C9AC 28 00 00 00 */ cmplwi r0, 0 -/* 8021C9B0 41 82 00 18 */ beq lbl_8021C9C8 -/* 8021C9B4 28 00 00 05 */ cmplwi r0, 5 -/* 8021C9B8 40 82 00 1C */ bne lbl_8021C9D4 -/* 8021C9BC A0 05 01 B6 */ lhz r0, 0x1b6(r5) -/* 8021C9C0 28 00 00 00 */ cmplwi r0, 0 -/* 8021C9C4 40 82 00 10 */ bne lbl_8021C9D4 -lbl_8021C9C8: -/* 8021C9C8 90 83 00 8C */ stw r4, 0x8c(r3) -/* 8021C9CC 38 60 00 01 */ li r3, 1 -/* 8021C9D0 4E 80 00 20 */ blr -lbl_8021C9D4: -/* 8021C9D4 38 60 00 00 */ li r3, 0 -/* 8021C9D8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_info/warpOutProc__13dMeter2Info_cFv.s b/asm/d/meter/d_meter2_info/warpOutProc__13dMeter2Info_cFv.s deleted file mode 100644 index 55fa7433aa..0000000000 --- a/asm/d/meter/d_meter2_info/warpOutProc__13dMeter2Info_cFv.s +++ /dev/null @@ -1,107 +0,0 @@ -lbl_8021CA70: -/* 8021CA70 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8021CA74 7C 08 02 A6 */ mflr r0 -/* 8021CA78 90 01 00 34 */ stw r0, 0x34(r1) -/* 8021CA7C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8021CA80 93 C1 00 28 */ stw r30, 0x28(r1) -/* 8021CA84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021CA88 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021CA8C 38 7E 4E 20 */ addi r3, r30, 0x4e20 -/* 8021CA90 81 9E 4E 20 */ lwz r12, 0x4e20(r30) -/* 8021CA94 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8021CA98 7D 89 03 A6 */ mtctr r12 -/* 8021CA9C 4E 80 04 21 */ bctrl -/* 8021CAA0 88 03 00 09 */ lbz r0, 9(r3) -/* 8021CAA4 54 00 FE FE */ rlwinm r0, r0, 0x1f, 0x1b, 0x1f -/* 8021CAA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021CAAC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021CAB0 98 1F 00 98 */ stb r0, 0x98(r31) -/* 8021CAB4 C0 1F 0D BC */ lfs f0, 0xdbc(r31) -/* 8021CAB8 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8021CABC C0 1F 0D C0 */ lfs f0, 0xdc0(r31) -/* 8021CAC0 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8021CAC4 C0 1F 0D C4 */ lfs f0, 0xdc4(r31) -/* 8021CAC8 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8021CACC 38 61 00 08 */ addi r3, r1, 8 -/* 8021CAD0 38 80 00 00 */ li r4, 0 -/* 8021CAD4 A8 BF 0D BA */ lha r5, 0xdba(r31) -/* 8021CAD8 38 C0 00 00 */ li r6, 0 -/* 8021CADC 48 04 A9 19 */ bl __ct__5csXyzFsss -/* 8021CAE0 88 1F 0D B4 */ lbz r0, 0xdb4(r31) -/* 8021CAE4 7C 1F 07 74 */ extsb r31, r0 -/* 8021CAE8 3B DE 4E 00 */ addi r30, r30, 0x4e00 -/* 8021CAEC 7F C3 F3 78 */ mr r3, r30 -/* 8021CAF0 3C 80 80 3A */ lis r4, d_meter_d_meter2_info__stringBase0@ha /* 0x80399168@ha */ -/* 8021CAF4 38 84 91 68 */ addi r4, r4, d_meter_d_meter2_info__stringBase0@l /* 0x80399168@l */ -/* 8021CAF8 38 84 00 0C */ addi r4, r4, 0xc -/* 8021CAFC 48 14 BE 99 */ bl strcmp -/* 8021CB00 2C 03 00 00 */ cmpwi r3, 0 -/* 8021CB04 40 82 00 60 */ bne lbl_8021CB64 -/* 8021CB08 38 60 FF FF */ li r3, -1 -/* 8021CB0C 7F E0 07 75 */ extsb. r0, r31 -/* 8021CB10 40 82 00 0C */ bne lbl_8021CB1C -/* 8021CB14 38 60 00 01 */ li r3, 1 -/* 8021CB18 48 00 00 30 */ b lbl_8021CB48 -lbl_8021CB1C: -/* 8021CB1C 2C 1F 00 05 */ cmpwi r31, 5 -/* 8021CB20 40 82 00 0C */ bne lbl_8021CB2C -/* 8021CB24 38 60 00 02 */ li r3, 2 -/* 8021CB28 48 00 00 20 */ b lbl_8021CB48 -lbl_8021CB2C: -/* 8021CB2C 2C 1F 00 06 */ cmpwi r31, 6 -/* 8021CB30 40 82 00 0C */ bne lbl_8021CB3C -/* 8021CB34 38 60 00 02 */ li r3, 2 -/* 8021CB38 48 00 00 10 */ b lbl_8021CB48 -lbl_8021CB3C: -/* 8021CB3C 2C 1F 00 09 */ cmpwi r31, 9 -/* 8021CB40 40 82 00 08 */ bne lbl_8021CB48 -/* 8021CB44 38 60 00 04 */ li r3, 4 -lbl_8021CB48: -/* 8021CB48 2C 03 FF FF */ cmpwi r3, -1 -/* 8021CB4C 41 82 00 50 */ beq lbl_8021CB9C -/* 8021CB50 7F E4 FB 78 */ mr r4, r31 -/* 8021CB54 38 A1 00 1C */ addi r5, r1, 0x1c -/* 8021CB58 38 C1 00 08 */ addi r6, r1, 8 -/* 8021CB5C 4B F3 8C 19 */ bl daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz -/* 8021CB60 48 00 00 3C */ b lbl_8021CB9C -lbl_8021CB64: -/* 8021CB64 7F C3 F3 78 */ mr r3, r30 -/* 8021CB68 3C 80 80 3A */ lis r4, d_meter_d_meter2_info__stringBase0@ha /* 0x80399168@ha */ -/* 8021CB6C 38 84 91 68 */ addi r4, r4, d_meter_d_meter2_info__stringBase0@l /* 0x80399168@l */ -/* 8021CB70 38 84 00 13 */ addi r4, r4, 0x13 -/* 8021CB74 48 14 BE 21 */ bl strcmp -/* 8021CB78 2C 03 00 00 */ cmpwi r3, 0 -/* 8021CB7C 40 82 00 20 */ bne lbl_8021CB9C -/* 8021CB80 7F E0 07 75 */ extsb. r0, r31 -/* 8021CB84 40 82 00 18 */ bne lbl_8021CB9C -/* 8021CB88 38 60 00 05 */ li r3, 5 -/* 8021CB8C 7F E4 FB 78 */ mr r4, r31 -/* 8021CB90 38 A1 00 1C */ addi r5, r1, 0x1c -/* 8021CB94 38 C1 00 08 */ addi r6, r1, 8 -/* 8021CB98 4B F3 8B DD */ bl daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz -lbl_8021CB9C: -/* 8021CB9C C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 8021CBA0 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8021CBA4 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 8021CBA8 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8021CBAC C0 01 00 24 */ lfs f0, 0x24(r1) -/* 8021CBB0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8021CBB4 7F C3 F3 78 */ mr r3, r30 -/* 8021CBB8 38 81 00 10 */ addi r4, r1, 0x10 -/* 8021CBBC A8 A1 00 0A */ lha r5, 0xa(r1) -/* 8021CBC0 7F E6 FB 78 */ mr r6, r31 -/* 8021CBC4 38 E0 00 00 */ li r7, 0 -/* 8021CBC8 39 00 00 01 */ li r8, 1 -/* 8021CBCC 4B E1 25 D1 */ bl dComIfGs_setWarpItemData__FPCc4cXyzsScUcUc -/* 8021CBD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021CBD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021CBD8 38 63 00 9C */ addi r3, r3, 0x9c -/* 8021CBDC 38 80 00 12 */ li r4, 0x12 -/* 8021CBE0 38 A0 00 27 */ li r5, 0x27 -/* 8021CBE4 4B E1 63 D5 */ bl setItem__17dSv_player_item_cFiUc -/* 8021CBE8 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8021CBEC 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 8021CBF0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8021CBF4 7C 08 03 A6 */ mtlr r0 -/* 8021CBF8 38 21 00 30 */ addi r1, r1, 0x30 -/* 8021CBFC 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/changeFlowGroupLocal__12dMsgObject_cFl.s b/asm/d/msg/d_msg_object/changeFlowGroupLocal__12dMsgObject_cFl.s deleted file mode 100644 index 50533c792a..0000000000 --- a/asm/d/msg/d_msg_object/changeFlowGroupLocal__12dMsgObject_cFl.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80236C90: -/* 80236C90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80236C94 7C 08 02 A6 */ mflr r0 -/* 80236C98 90 01 00 14 */ stw r0, 0x14(r1) -/* 80236C9C 38 00 00 01 */ li r0, 1 -/* 80236CA0 98 03 01 9C */ stb r0, 0x19c(r3) -/* 80236CA4 38 00 0B B8 */ li r0, 0xbb8 -/* 80236CA8 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 80236CAC 38 04 F4 48 */ addi r0, r4, -3000 -/* 80236CB0 7C 00 18 14 */ addc r0, r0, r3 -/* 80236CB4 7C 60 01 10 */ subfe r3, r0, r0 -/* 80236CB8 A8 0D 8B 48 */ lha r0, s_groupID(r13) -/* 80236CBC 7C 03 18 78 */ andc r3, r0, r3 -/* 80236CC0 48 00 14 05 */ bl changeGroup__12dMsgObject_cFs -/* 80236CC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80236CC8 7C 08 03 A6 */ mtlr r0 -/* 80236CCC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80236CD0 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/demoMessageGroupLocal__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/demoMessageGroupLocal__12dMsgObject_cFv.s deleted file mode 100644 index ac348abe13..0000000000 --- a/asm/d/msg/d_msg_object/demoMessageGroupLocal__12dMsgObject_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80236CD4: -/* 80236CD4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80236CD8 7C 08 02 A6 */ mflr r0 -/* 80236CDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80236CE0 38 00 00 00 */ li r0, 0 -/* 80236CE4 98 03 01 9C */ stb r0, 0x19c(r3) -/* 80236CE8 38 60 00 00 */ li r3, 0 -/* 80236CEC 48 00 13 D9 */ bl changeGroup__12dMsgObject_cFs -/* 80236CF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80236CF4 7C 08 03 A6 */ mtlr r0 -/* 80236CF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80236CFC 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/endFlowGroupLocal__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/endFlowGroupLocal__12dMsgObject_cFv.s deleted file mode 100644 index bb7338c096..0000000000 --- a/asm/d/msg/d_msg_object/endFlowGroupLocal__12dMsgObject_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80236D00: -/* 80236D00 38 00 00 00 */ li r0, 0 -/* 80236D04 98 03 01 9C */ stb r0, 0x19c(r3) -/* 80236D08 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/getItemEquipButton__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/getItemEquipButton__12dMsgObject_cFv.s deleted file mode 100644 index 084d9c1dca..0000000000 --- a/asm/d/msg/d_msg_object/getItemEquipButton__12dMsgObject_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80238638: -/* 80238638 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023863C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80238640 80 63 5D BC */ lwz r3, 0x5dbc(r3) -/* 80238644 88 63 01 A4 */ lbz r3, 0x1a4(r3) -/* 80238648 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/getSelectBombBagID__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/getSelectBombBagID__12dMsgObject_cFv.s deleted file mode 100644 index 0eb164f000..0000000000 --- a/asm/d/msg/d_msg_object/getSelectBombBagID__12dMsgObject_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802385B4: -/* 802385B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802385B8 7C 08 02 A6 */ mflr r0 -/* 802385BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802385C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802385C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802385C8 80 63 5D BC */ lwz r3, 0x5dbc(r3) -/* 802385CC 4B FF F0 71 */ bl getSelectBombBagIDLocal__12dMsgObject_cFv -/* 802385D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802385D4 7C 08 03 A6 */ mtlr r0 -/* 802385D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802385DC 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/getSelectBombPrice__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/getSelectBombPrice__12dMsgObject_cFv.s deleted file mode 100644 index 02b2c561c6..0000000000 --- a/asm/d/msg/d_msg_object/getSelectBombPrice__12dMsgObject_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802385E0: -/* 802385E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802385E4 7C 08 02 A6 */ mflr r0 -/* 802385E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802385EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802385F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802385F4 80 63 5D BC */ lwz r3, 0x5dbc(r3) -/* 802385F8 4B FF F0 95 */ bl getSelectBombPriceLocal__12dMsgObject_cFv -/* 802385FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80238600 7C 08 03 A6 */ mtlr r0 -/* 80238604 38 21 00 10 */ addi r1, r1, 0x10 -/* 80238608 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/isGetItemMessage__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/isGetItemMessage__12dMsgObject_cFv.s deleted file mode 100644 index 916ee31429..0000000000 --- a/asm/d/msg/d_msg_object/isGetItemMessage__12dMsgObject_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_802370A8: -/* 802370A8 88 03 01 9A */ lbz r0, 0x19a(r3) -/* 802370AC 20 00 00 09 */ subfic r0, r0, 9 -/* 802370B0 7C 00 00 34 */ cntlzw r0, r0 -/* 802370B4 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 802370B8 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/isHowlHearingMode__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/isHowlHearingMode__12dMsgObject_cFv.s deleted file mode 100644 index d661606901..0000000000 --- a/asm/d/msg/d_msg_object/isHowlHearingMode__12dMsgObject_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80238588: -/* 80238588 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023858C 7C 08 02 A6 */ mflr r0 -/* 80238590 90 01 00 14 */ stw r0, 0x14(r1) -/* 80238594 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80238598 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023859C 80 63 5D BC */ lwz r3, 0x5dbc(r3) -/* 802385A0 4B FF F3 35 */ bl isHowlHearingModeLocal__12dMsgObject_cFv -/* 802385A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802385A8 7C 08 03 A6 */ mtlr r0 -/* 802385AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802385B0 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/isHowlMessage__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/isHowlMessage__12dMsgObject_cFv.s deleted file mode 100644 index 88241dd0ee..0000000000 --- a/asm/d/msg/d_msg_object/isHowlMessage__12dMsgObject_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_802370E8: -/* 802370E8 88 03 01 9A */ lbz r0, 0x19a(r3) -/* 802370EC 20 00 00 11 */ subfic r0, r0, 0x11 -/* 802370F0 7C 00 00 34 */ cntlzw r0, r0 -/* 802370F4 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 802370F8 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/isKanbanMessage__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/isKanbanMessage__12dMsgObject_cFv.s deleted file mode 100644 index 7709f78a7d..0000000000 --- a/asm/d/msg/d_msg_object/isKanbanMessage__12dMsgObject_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802370BC: -/* 802370BC 88 03 01 9A */ lbz r0, 0x19a(r3) -/* 802370C0 28 00 00 02 */ cmplwi r0, 2 -/* 802370C4 41 82 00 14 */ beq lbl_802370D8 -/* 802370C8 28 00 00 06 */ cmplwi r0, 6 -/* 802370CC 41 82 00 0C */ beq lbl_802370D8 -/* 802370D0 28 00 00 0F */ cmplwi r0, 0xf -/* 802370D4 40 82 00 0C */ bne lbl_802370E0 -lbl_802370D8: -/* 802370D8 38 60 00 01 */ li r3, 1 -/* 802370DC 4E 80 00 20 */ blr -lbl_802370E0: -/* 802370E0 38 60 00 00 */ li r3, 0 -/* 802370E4 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c.s b/asm/d/msg/d_msg_object/readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c.s deleted file mode 100644 index 6a90e2a4b6..0000000000 --- a/asm/d/msg/d_msg_object/readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80236BF8: -/* 80236BF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80236BFC 7C 08 02 A6 */ mflr r0 -/* 80236C00 90 01 00 14 */ stw r0, 0x14(r1) -/* 80236C04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80236C08 93 C1 00 08 */ stw r30, 8(r1) -/* 80236C0C 7C 9E 23 78 */ mr r30, r4 -/* 80236C10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80236C14 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80236C18 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 80236C1C 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 80236C20 7D 89 03 A6 */ mtctr r12 -/* 80236C24 4E 80 04 21 */ bctrl -/* 80236C28 8B E3 00 28 */ lbz r31, 0x28(r3) -/* 80236C2C 3C 60 80 43 */ lis r3, arcName@ha /* 0x8043069C@ha */ -/* 80236C30 38 63 06 9C */ addi r3, r3, arcName@l /* 0x8043069C@l */ -/* 80236C34 3C 80 80 3A */ lis r4, d_msg_d_msg_object__stringBase0@ha /* 0x80399660@ha */ -/* 80236C38 38 84 96 60 */ addi r4, r4, d_msg_d_msg_object__stringBase0@l /* 0x80399660@l */ -/* 80236C3C 38 84 00 6F */ addi r4, r4, 0x6f -/* 80236C40 7F E5 FB 78 */ mr r5, r31 -/* 80236C44 4C C6 31 82 */ crclr 6 -/* 80236C48 48 12 F8 95 */ bl sprintf -/* 80236C4C 3C 60 80 43 */ lis r3, arcName@ha /* 0x8043069C@ha */ -/* 80236C50 38 63 06 9C */ addi r3, r3, arcName@l /* 0x8043069C@l */ -/* 80236C54 38 80 00 00 */ li r4, 0 -/* 80236C58 38 A0 00 01 */ li r5, 1 -/* 80236C5C 38 C0 00 00 */ li r6, 0 -/* 80236C60 4B DD F5 81 */ bl create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap -/* 80236C64 90 7E 00 00 */ stw r3, 0(r30) -/* 80236C68 2C 1F 00 63 */ cmpwi r31, 0x63 -/* 80236C6C 40 82 00 08 */ bne lbl_80236C74 -/* 80236C70 3B E0 00 09 */ li r31, 9 -lbl_80236C74: -/* 80236C74 B3 ED 8B 48 */ sth r31, s_groupID(r13) -/* 80236C78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80236C7C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80236C80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80236C84 7C 08 03 A6 */ mtlr r0 -/* 80236C88 38 21 00 10 */ addi r1, r1, 0x10 -/* 80236C8C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/setEquipBombInfo__12dMsgObject_cFv.s b/asm/d/msg/d_msg_object/setEquipBombInfo__12dMsgObject_cFv.s deleted file mode 100644 index 6a02240cb8..0000000000 --- a/asm/d/msg/d_msg_object/setEquipBombInfo__12dMsgObject_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8023860C: -/* 8023860C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80238610 7C 08 02 A6 */ mflr r0 -/* 80238614 90 01 00 14 */ stw r0, 0x14(r1) -/* 80238618 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023861C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80238620 80 63 5D BC */ lwz r3, 0x5dbc(r3) -/* 80238624 4B FF F1 19 */ bl setEquipBombInfoLocal__12dMsgObject_cFv -/* 80238628 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023862C 7C 08 03 A6 */ mtlr r0 -/* 80238630 38 21 00 10 */ addi r1, r1, 0x10 -/* 80238634 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_object/setSelectCancelPos__12dMsgObject_cFUc.s b/asm/d/msg/d_msg_object/setSelectCancelPos__12dMsgObject_cFUc.s deleted file mode 100644 index a95456d820..0000000000 --- a/asm/d/msg/d_msg_object/setSelectCancelPos__12dMsgObject_cFUc.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8023864C: -/* 8023864C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80238650 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80238654 80 84 5D BC */ lwz r4, 0x5dbc(r4) -/* 80238658 98 64 01 A1 */ stb r3, 0x1a1(r4) -/* 8023865C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/__ct__10COutFont_cFUc.s b/asm/d/msg/d_msg_out_font/__ct__10COutFont_cFUc.s deleted file mode 100644 index debf702402..0000000000 --- a/asm/d/msg/d_msg_out_font/__ct__10COutFont_cFUc.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_80225C94: -/* 80225C94 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80225C98 7C 08 02 A6 */ mflr r0 -/* 80225C9C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80225CA0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80225CA4 48 13 C5 39 */ bl _savegpr_29 -/* 80225CA8 7C 7D 1B 78 */ mr r29, r3 -/* 80225CAC 3C 60 80 3C */ lis r3, __vt__10COutFont_c@ha /* 0x803BFDC4@ha */ -/* 80225CB0 38 03 FD C4 */ addi r0, r3, __vt__10COutFont_c@l /* 0x803BFDC4@l */ -/* 80225CB4 90 1D 00 00 */ stw r0, 0(r29) -/* 80225CB8 98 9D 02 42 */ stb r4, 0x242(r29) -/* 80225CBC 3B C0 00 00 */ li r30, 0 -/* 80225CC0 3B E0 00 00 */ li r31, 0 -lbl_80225CC4: -/* 80225CC4 38 60 00 20 */ li r3, 0x20 -/* 80225CC8 48 0A 8F 85 */ bl __nw__FUl -/* 80225CCC 7C 64 1B 79 */ or. r4, r3, r3 -/* 80225CD0 41 82 00 0C */ beq lbl_80225CDC -/* 80225CD4 4B FF FE E5 */ bl __ct__13COutFontSet_cFv -/* 80225CD8 7C 64 1B 78 */ mr r4, r3 -lbl_80225CDC: -/* 80225CDC 38 1F 00 04 */ addi r0, r31, 4 -/* 80225CE0 7C 9D 01 2E */ stwx r4, r29, r0 -/* 80225CE4 3B DE 00 01 */ addi r30, r30, 1 -/* 80225CE8 2C 1E 00 23 */ cmpwi r30, 0x23 -/* 80225CEC 3B FF 00 04 */ addi r31, r31, 4 -/* 80225CF0 41 80 FF D4 */ blt lbl_80225CC4 -/* 80225CF4 38 60 00 00 */ li r3, 0 -/* 80225CF8 38 80 00 00 */ li r4, 0 -/* 80225CFC 38 A0 00 00 */ li r5, 0 -/* 80225D00 38 00 00 46 */ li r0, 0x46 -/* 80225D04 7C 09 03 A6 */ mtctr r0 -lbl_80225D08: -/* 80225D08 38 04 00 90 */ addi r0, r4, 0x90 -/* 80225D0C 7C BD 01 2E */ stwx r5, r29, r0 -/* 80225D10 38 03 01 B4 */ addi r0, r3, 0x1b4 -/* 80225D14 7C BD 03 2E */ sthx r5, r29, r0 -/* 80225D18 38 63 00 02 */ addi r3, r3, 2 -/* 80225D1C 38 84 00 04 */ addi r4, r4, 4 -/* 80225D20 42 00 FF E8 */ bdnz lbl_80225D08 -/* 80225D24 C0 02 B0 10 */ lfs f0, lit_3748(r2) -/* 80225D28 D0 1D 01 A8 */ stfs f0, 0x1a8(r29) -/* 80225D2C C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 80225D30 D0 1D 01 B0 */ stfs f0, 0x1b0(r29) -/* 80225D34 D0 1D 01 AC */ stfs f0, 0x1ac(r29) -/* 80225D38 38 00 00 00 */ li r0, 0 -/* 80225D3C 98 1D 02 40 */ stb r0, 0x240(r29) -/* 80225D40 98 1D 02 41 */ stb r0, 0x241(r29) -/* 80225D44 7F A3 EB 78 */ mr r3, r29 -/* 80225D48 39 61 00 20 */ addi r11, r1, 0x20 -/* 80225D4C 48 13 C4 DD */ bl _restgpr_29 -/* 80225D50 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80225D54 7C 08 03 A6 */ mtlr r0 -/* 80225D58 38 21 00 20 */ addi r1, r1, 0x20 -/* 80225D5C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/__ct__13COutFontSet_cFv.s b/asm/d/msg/d_msg_out_font/__ct__13COutFontSet_cFv.s deleted file mode 100644 index 9d8cba8c1a..0000000000 --- a/asm/d/msg/d_msg_out_font/__ct__13COutFontSet_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80225BB8: -/* 80225BB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80225BBC 7C 08 02 A6 */ mflr r0 -/* 80225BC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80225BC4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80225BC8 7C 7F 1B 78 */ mr r31, r3 -/* 80225BCC 3C 80 80 3C */ lis r4, __vt__13COutFontSet_c@ha /* 0x803BFDE8@ha */ -/* 80225BD0 38 04 FD E8 */ addi r0, r4, __vt__13COutFontSet_c@l /* 0x803BFDE8@l */ -/* 80225BD4 90 03 00 00 */ stw r0, 0(r3) -/* 80225BD8 48 00 00 65 */ bl initialize__13COutFontSet_cFv -/* 80225BDC 7F E3 FB 78 */ mr r3, r31 -/* 80225BE0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80225BE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225BE8 7C 08 03 A6 */ mtlr r0 -/* 80225BEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80225BF0 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/__dt__10COutFont_cFv.s b/asm/d/msg/d_msg_out_font/__dt__10COutFont_cFv.s deleted file mode 100644 index be83fdace6..0000000000 --- a/asm/d/msg/d_msg_out_font/__dt__10COutFont_cFv.s +++ /dev/null @@ -1,80 +0,0 @@ -lbl_80225D60: -/* 80225D60 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80225D64 7C 08 02 A6 */ mflr r0 -/* 80225D68 90 01 00 24 */ stw r0, 0x24(r1) -/* 80225D6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80225D70 48 13 C4 61 */ bl _savegpr_26 -/* 80225D74 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80225D78 7C 9A 23 78 */ mr r26, r4 -/* 80225D7C 41 82 00 E4 */ beq lbl_80225E60 -/* 80225D80 3C 60 80 3C */ lis r3, __vt__10COutFont_c@ha /* 0x803BFDC4@ha */ -/* 80225D84 38 03 FD C4 */ addi r0, r3, __vt__10COutFont_c@l /* 0x803BFDC4@l */ -/* 80225D88 90 1F 00 00 */ stw r0, 0(r31) -/* 80225D8C 3B 60 00 00 */ li r27, 0 -/* 80225D90 3B C0 00 00 */ li r30, 0 -/* 80225D94 7F DD F3 78 */ mr r29, r30 -lbl_80225D98: -/* 80225D98 3B 9E 00 04 */ addi r28, r30, 4 -/* 80225D9C 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80225DA0 28 03 00 00 */ cmplwi r3, 0 -/* 80225DA4 41 82 00 18 */ beq lbl_80225DBC -/* 80225DA8 38 80 00 01 */ li r4, 1 -/* 80225DAC 81 83 00 00 */ lwz r12, 0(r3) -/* 80225DB0 81 8C 00 08 */ lwz r12, 8(r12) -/* 80225DB4 7D 89 03 A6 */ mtctr r12 -/* 80225DB8 4E 80 04 21 */ bctrl -lbl_80225DBC: -/* 80225DBC 7F BF E1 2E */ stwx r29, r31, r28 -/* 80225DC0 3B 7B 00 01 */ addi r27, r27, 1 -/* 80225DC4 2C 1B 00 23 */ cmpwi r27, 0x23 -/* 80225DC8 3B DE 00 04 */ addi r30, r30, 4 -/* 80225DCC 41 80 FF CC */ blt lbl_80225D98 -/* 80225DD0 88 1F 02 40 */ lbz r0, 0x240(r31) -/* 80225DD4 28 00 00 00 */ cmplwi r0, 0 -/* 80225DD8 41 82 00 50 */ beq lbl_80225E28 -/* 80225DDC 3B A0 00 00 */ li r29, 0 -/* 80225DE0 9B BF 02 40 */ stb r29, 0x240(r31) -/* 80225DE4 3B 60 00 00 */ li r27, 0 -/* 80225DE8 3B C0 00 00 */ li r30, 0 -lbl_80225DEC: -/* 80225DEC 3B 9E 00 90 */ addi r28, r30, 0x90 -/* 80225DF0 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80225DF4 28 03 00 00 */ cmplwi r3, 0 -/* 80225DF8 41 82 00 20 */ beq lbl_80225E18 -/* 80225DFC 41 82 00 18 */ beq lbl_80225E14 -/* 80225E00 38 80 00 01 */ li r4, 1 -/* 80225E04 81 83 00 00 */ lwz r12, 0(r3) -/* 80225E08 81 8C 00 08 */ lwz r12, 8(r12) -/* 80225E0C 7D 89 03 A6 */ mtctr r12 -/* 80225E10 4E 80 04 21 */ bctrl -lbl_80225E14: -/* 80225E14 7F BF E1 2E */ stwx r29, r31, r28 -lbl_80225E18: -/* 80225E18 3B 7B 00 01 */ addi r27, r27, 1 -/* 80225E1C 2C 1B 00 46 */ cmpwi r27, 0x46 -/* 80225E20 3B DE 00 04 */ addi r30, r30, 4 -/* 80225E24 41 80 FF C8 */ blt lbl_80225DEC -lbl_80225E28: -/* 80225E28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80225E2C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80225E30 80 03 5E BC */ lwz r0, 0x5ebc(r3) -/* 80225E34 28 00 00 00 */ cmplwi r0, 0 -/* 80225E38 40 82 00 18 */ bne lbl_80225E50 -/* 80225E3C 80 63 5C D0 */ lwz r3, 0x5cd0(r3) -/* 80225E40 81 83 00 00 */ lwz r12, 0(r3) -/* 80225E44 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80225E48 7D 89 03 A6 */ mtctr r12 -/* 80225E4C 4E 80 04 21 */ bctrl -lbl_80225E50: -/* 80225E50 7F 40 07 35 */ extsh. r0, r26 -/* 80225E54 40 81 00 0C */ ble lbl_80225E60 -/* 80225E58 7F E3 FB 78 */ mr r3, r31 -/* 80225E5C 48 0A 8E E1 */ bl __dl__FPv -lbl_80225E60: -/* 80225E60 7F E3 FB 78 */ mr r3, r31 -/* 80225E64 39 61 00 20 */ addi r11, r1, 0x20 -/* 80225E68 48 13 C3 B5 */ bl _restgpr_26 -/* 80225E6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80225E70 7C 08 03 A6 */ mtlr r0 -/* 80225E74 38 21 00 20 */ addi r1, r1, 0x20 -/* 80225E78 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/__dt__13COutFontSet_cFv.s b/asm/d/msg/d_msg_out_font/__dt__13COutFontSet_cFv.s deleted file mode 100644 index 366ead9282..0000000000 --- a/asm/d/msg/d_msg_out_font/__dt__13COutFontSet_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80225BF4: -/* 80225BF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80225BF8 7C 08 02 A6 */ mflr r0 -/* 80225BFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80225C00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80225C04 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80225C08 41 82 00 1C */ beq lbl_80225C24 -/* 80225C0C 3C A0 80 3C */ lis r5, __vt__13COutFontSet_c@ha /* 0x803BFDE8@ha */ -/* 80225C10 38 05 FD E8 */ addi r0, r5, __vt__13COutFontSet_c@l /* 0x803BFDE8@l */ -/* 80225C14 90 1F 00 00 */ stw r0, 0(r31) -/* 80225C18 7C 80 07 35 */ extsh. r0, r4 -/* 80225C1C 40 81 00 08 */ ble lbl_80225C24 -/* 80225C20 48 0A 91 1D */ bl __dl__FPv -lbl_80225C24: -/* 80225C24 7F E3 FB 78 */ mr r3, r31 -/* 80225C28 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80225C2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225C30 7C 08 03 A6 */ mtlr r0 -/* 80225C34 38 21 00 10 */ addi r1, r1, 0x10 -/* 80225C38 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc.s b/asm/d/msg/d_msg_out_font/drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc.s deleted file mode 100644 index ccb11ae80b..0000000000 --- a/asm/d/msg/d_msg_out_font/drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80226D4C: -/* 80226D4C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80226D50 7C 08 02 A6 */ mflr r0 -/* 80226D54 90 01 00 14 */ stw r0, 0x14(r1) -/* 80226D58 C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 80226D5C EC 42 00 2A */ fadds f2, f2, f0 -/* 80226D60 39 00 00 00 */ li r8, 0 -/* 80226D64 38 00 00 23 */ li r0, 0x23 -/* 80226D68 7C 09 03 A6 */ mtctr r0 -lbl_80226D6C: -/* 80226D6C 38 08 00 04 */ addi r0, r8, 4 -/* 80226D70 7D 23 00 2E */ lwzx r9, r3, r0 -/* 80226D74 88 09 00 1D */ lbz r0, 0x1d(r9) -/* 80226D78 28 00 00 47 */ cmplwi r0, 0x47 -/* 80226D7C 40 82 00 14 */ bne lbl_80226D90 -/* 80226D80 7C 63 42 14 */ add r3, r3, r8 -/* 80226D84 80 63 00 04 */ lwz r3, 4(r3) -/* 80226D88 4B FF EE E9 */ bl drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc -/* 80226D8C 48 00 00 0C */ b lbl_80226D98 -lbl_80226D90: -/* 80226D90 39 08 00 04 */ addi r8, r8, 4 -/* 80226D94 42 00 FF D8 */ bdnz lbl_80226D6C -lbl_80226D98: -/* 80226D98 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80226D9C 7C 08 03 A6 */ mtlr r0 -/* 80226DA0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80226DA4 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc.s b/asm/d/msg/d_msg_out_font/drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc.s deleted file mode 100644 index 2d0bb01fa6..0000000000 --- a/asm/d/msg/d_msg_out_font/drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80225C70: -/* 80225C70 90 83 00 04 */ stw r4, 4(r3) -/* 80225C74 D0 23 00 08 */ stfs f1, 8(r3) -/* 80225C78 D0 43 00 0C */ stfs f2, 0xc(r3) -/* 80225C7C D0 63 00 10 */ stfs f3, 0x10(r3) -/* 80225C80 D0 83 00 14 */ stfs f4, 0x14(r3) -/* 80225C84 98 E3 00 1C */ stb r7, 0x1c(r3) -/* 80225C88 90 C3 00 18 */ stw r6, 0x18(r3) -/* 80225C8C 98 A3 00 1D */ stb r5, 0x1d(r3) -/* 80225C90 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/getBtiName__10COutFont_cFi.s b/asm/d/msg/d_msg_out_font/getBtiName__10COutFont_cFi.s deleted file mode 100644 index 586c34abb6..0000000000 --- a/asm/d/msg/d_msg_out_font/getBtiName__10COutFont_cFi.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80228530: -/* 80228530 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80228534 7C 08 02 A6 */ mflr r0 -/* 80228538 90 01 00 14 */ stw r0, 0x14(r1) -/* 8022853C 2C 04 00 1F */ cmpwi r4, 0x1f -/* 80228540 41 80 00 18 */ blt lbl_80228558 -/* 80228544 2C 04 00 28 */ cmpwi r4, 0x28 -/* 80228548 41 81 00 10 */ bgt lbl_80228558 -/* 8022854C 38 64 FF E1 */ addi r3, r4, -31 -/* 80228550 4B FF 5D 79 */ bl dMeter2Info_getNumberTextureName__Fi -/* 80228554 48 00 00 14 */ b lbl_80228568 -lbl_80228558: -/* 80228558 54 80 10 3A */ slwi r0, r4, 2 -/* 8022855C 3C 60 80 3C */ lis r3, mpIconName@ha /* 0x803BFCAC@ha */ -/* 80228560 38 63 FC AC */ addi r3, r3, mpIconName@l /* 0x803BFCAC@l */ -/* 80228564 7C 63 00 2E */ lwzx r3, r3, r0 -lbl_80228568: -/* 80228568 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8022856C 7C 08 03 A6 */ mtlr r0 -/* 80228570 38 21 00 10 */ addi r1, r1, 0x10 -/* 80228574 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/initialize__10COutFont_cFv.s b/asm/d/msg/d_msg_out_font/initialize__10COutFont_cFv.s deleted file mode 100644 index 4c2b72fa1f..0000000000 --- a/asm/d/msg/d_msg_out_font/initialize__10COutFont_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80226CF8: -/* 80226CF8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80226CFC 7C 08 02 A6 */ mflr r0 -/* 80226D00 90 01 00 24 */ stw r0, 0x24(r1) -/* 80226D04 39 61 00 20 */ addi r11, r1, 0x20 -/* 80226D08 48 13 B4 D5 */ bl _savegpr_29 -/* 80226D0C 7C 7D 1B 78 */ mr r29, r3 -/* 80226D10 3B C0 00 00 */ li r30, 0 -/* 80226D14 3B E0 00 00 */ li r31, 0 -lbl_80226D18: -/* 80226D18 38 1F 00 04 */ addi r0, r31, 4 -/* 80226D1C 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 80226D20 4B FF EF 1D */ bl initialize__13COutFontSet_cFv -/* 80226D24 3B DE 00 01 */ addi r30, r30, 1 -/* 80226D28 2C 1E 00 23 */ cmpwi r30, 0x23 -/* 80226D2C 3B FF 00 04 */ addi r31, r31, 4 -/* 80226D30 41 80 FF E8 */ blt lbl_80226D18 -/* 80226D34 39 61 00 20 */ addi r11, r1, 0x20 -/* 80226D38 48 13 B4 F1 */ bl _restgpr_29 -/* 80226D3C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80226D40 7C 08 03 A6 */ mtlr r0 -/* 80226D44 38 21 00 20 */ addi r1, r1, 0x20 -/* 80226D48 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/initialize__13COutFontSet_cFv.s b/asm/d/msg/d_msg_out_font/initialize__13COutFontSet_cFv.s deleted file mode 100644 index ce187bccc8..0000000000 --- a/asm/d/msg/d_msg_out_font/initialize__13COutFontSet_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80225C3C: -/* 80225C3C 38 00 00 00 */ li r0, 0 -/* 80225C40 90 03 00 04 */ stw r0, 4(r3) -/* 80225C44 C0 02 B0 10 */ lfs f0, lit_3748(r2) -/* 80225C48 D0 03 00 08 */ stfs f0, 8(r3) -/* 80225C4C D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80225C50 C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 80225C54 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 80225C58 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80225C5C 38 00 00 FF */ li r0, 0xff -/* 80225C60 98 03 00 1C */ stb r0, 0x1c(r3) -/* 80225C64 38 00 00 47 */ li r0, 0x47 -/* 80225C68 98 03 00 1D */ stb r0, 0x1d(r3) -/* 80225C6C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/reset__10COutFont_cFP10J2DTextBox.s b/asm/d/msg/d_msg_out_font/reset__10COutFont_cFP10J2DTextBox.s deleted file mode 100644 index a878e17ffa..0000000000 --- a/asm/d/msg/d_msg_out_font/reset__10COutFont_cFP10J2DTextBox.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80228448: -/* 80228448 28 04 00 00 */ cmplwi r4, 0 -/* 8022844C 4D 82 00 20 */ beqlr -/* 80228450 38 A0 00 00 */ li r5, 0 -/* 80228454 7C A8 2B 78 */ mr r8, r5 -/* 80228458 38 E0 00 47 */ li r7, 0x47 -/* 8022845C 38 00 00 23 */ li r0, 0x23 -/* 80228460 7C 09 03 A6 */ mtctr r0 -lbl_80228464: -/* 80228464 39 25 00 04 */ addi r9, r5, 4 -/* 80228468 7C C3 48 2E */ lwzx r6, r3, r9 -/* 8022846C 80 06 00 04 */ lwz r0, 4(r6) -/* 80228470 7C 04 00 40 */ cmplw r4, r0 -/* 80228474 40 82 00 10 */ bne lbl_80228484 -/* 80228478 91 06 00 04 */ stw r8, 4(r6) -/* 8022847C 7C C3 48 2E */ lwzx r6, r3, r9 -/* 80228480 98 E6 00 1D */ stb r7, 0x1d(r6) -lbl_80228484: -/* 80228484 38 A5 00 04 */ addi r5, r5, 4 -/* 80228488 42 00 FF DC */ bdnz lbl_80228464 -/* 8022848C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/setAlphaRatio__10COutFont_cFf.s b/asm/d/msg/d_msg_out_font/setAlphaRatio__10COutFont_cFf.s deleted file mode 100644 index 291ddaa926..0000000000 --- a/asm/d/msg/d_msg_out_font/setAlphaRatio__10COutFont_cFf.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80226DA8: -/* 80226DA8 D0 23 01 A8 */ stfs f1, 0x1a8(r3) -/* 80226DAC 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/setPane__10COutFont_cFP10J2DPicture.s b/asm/d/msg/d_msg_out_font/setPane__10COutFont_cFP10J2DPicture.s deleted file mode 100644 index 5de3d553f6..0000000000 --- a/asm/d/msg/d_msg_out_font/setPane__10COutFont_cFP10J2DPicture.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80225E7C: -/* 80225E7C 38 A0 00 00 */ li r5, 0 -/* 80225E80 38 00 00 46 */ li r0, 0x46 -/* 80225E84 7C 09 03 A6 */ mtctr r0 -lbl_80225E88: -/* 80225E88 38 05 00 90 */ addi r0, r5, 0x90 -/* 80225E8C 7C 83 01 2E */ stwx r4, r3, r0 -/* 80225E90 38 84 01 50 */ addi r4, r4, 0x150 -/* 80225E94 38 A5 00 04 */ addi r5, r5, 4 -/* 80225E98 42 00 FF F0 */ bdnz lbl_80225E88 -/* 80225E9C 38 00 00 00 */ li r0, 0 -/* 80225EA0 98 03 02 40 */ stb r0, 0x240(r3) -/* 80225EA4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/__ct__10fopAc_ac_cFv.s b/asm/f_op/f_op_actor/__ct__10fopAc_ac_cFv.s deleted file mode 100644 index 868f32abcb..0000000000 --- a/asm/f_op/f_op_actor/__ct__10fopAc_ac_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80018B64: -/* 80018B64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018B68 7C 08 02 A6 */ mflr r0 -/* 80018B6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018B70 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018B74 93 C1 00 08 */ stw r30, 8(r1) -/* 80018B78 7C 7E 1B 78 */ mr r30, r3 -/* 80018B7C 38 7E 00 F4 */ addi r3, r30, 0xf4 -/* 80018B80 48 02 A8 71 */ bl __ct__11dEvt_info_cFv -/* 80018B84 3B FE 01 0C */ addi r31, r30, 0x10c -/* 80018B88 7F E3 FB 78 */ mr r3, r31 -/* 80018B8C 3C 80 80 3A */ lis r4, j3dDefaultLightInfo@ha /* 0x803A1EC8@ha */ -/* 80018B90 38 84 1E C8 */ addi r4, r4, j3dDefaultLightInfo@l /* 0x803A1EC8@l */ -/* 80018B94 48 30 CB 31 */ bl __as__12J3DLightInfoFRC12J3DLightInfo -/* 80018B98 38 7F 00 74 */ addi r3, r31, 0x74 -/* 80018B9C 3C 80 80 02 */ lis r4, __ct__11J3DLightObjFv@ha /* 0x80018C0C@ha */ -/* 80018BA0 38 84 8C 0C */ addi r4, r4, __ct__11J3DLightObjFv@l /* 0x80018C0C@l */ -/* 80018BA4 38 A0 00 00 */ li r5, 0 -/* 80018BA8 38 C0 00 74 */ li r6, 0x74 -/* 80018BAC 38 E0 00 06 */ li r7, 6 -/* 80018BB0 48 34 91 B1 */ bl __construct_array -/* 80018BB4 7F C3 F3 78 */ mr r3, r30 -/* 80018BB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018BBC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80018BC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018BC4 7C 08 03 A6 */ mtlr r0 -/* 80018BC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018BCC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/__dt__10fopAc_ac_cFv.s b/asm/f_op/f_op_actor/__dt__10fopAc_ac_cFv.s deleted file mode 100644 index 95359423bb..0000000000 --- a/asm/f_op/f_op_actor/__dt__10fopAc_ac_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80018C8C: -/* 80018C8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018C90 7C 08 02 A6 */ mflr r0 -/* 80018C94 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018C98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018C9C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80018CA0 41 82 00 28 */ beq lbl_80018CC8 -/* 80018CA4 34 1F 00 F4 */ addic. r0, r31, 0xf4 -/* 80018CA8 41 82 00 10 */ beq lbl_80018CB8 -/* 80018CAC 3C 60 80 3A */ lis r3, __vt__11dEvt_info_c@ha /* 0x803A35D0@ha */ -/* 80018CB0 38 03 35 D0 */ addi r0, r3, __vt__11dEvt_info_c@l /* 0x803A35D0@l */ -/* 80018CB4 90 1F 00 F4 */ stw r0, 0xf4(r31) -lbl_80018CB8: -/* 80018CB8 7C 80 07 35 */ extsh. r0, r4 -/* 80018CBC 40 81 00 0C */ ble lbl_80018CC8 -/* 80018CC0 7F E3 FB 78 */ mr r3, r31 -/* 80018CC4 48 2B 60 79 */ bl __dl__FPv -lbl_80018CC8: -/* 80018CC8 7F E3 FB 78 */ mr r3, r31 -/* 80018CCC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018CD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018CD4 7C 08 03 A6 */ mtlr r0 -/* 80018CD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018CDC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/fopAc_Draw__FPv.s b/asm/f_op/f_op_actor/fopAc_Draw__FPv.s deleted file mode 100644 index 6e14fb7027..0000000000 --- a/asm/f_op/f_op_actor/fopAc_Draw__FPv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_80018D0C: -/* 80018D0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018D10 7C 08 02 A6 */ mflr r0 -/* 80018D14 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018D18 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018D1C 93 C1 00 08 */ stw r30, 8(r1) -/* 80018D20 7C 7F 1B 78 */ mr r31, r3 -/* 80018D24 3B C0 00 01 */ li r30, 1 -/* 80018D28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80018D2C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80018D30 88 03 5E B5 */ lbz r0, 0x5eb5(r3) -/* 80018D34 28 00 00 00 */ cmplwi r0, 0 -/* 80018D38 40 82 00 84 */ bne lbl_80018DBC -/* 80018D3C 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 80018D40 7F E4 FB 78 */ mr r4, r31 -/* 80018D44 48 02 A2 65 */ bl moveApproval__14dEvt_control_cFPv -/* 80018D48 2C 03 00 02 */ cmpwi r3, 2 -/* 80018D4C 41 82 00 2C */ beq lbl_80018D78 -/* 80018D50 80 7F 04 9C */ lwz r3, 0x49c(r31) -/* 80018D54 80 0D 87 3C */ lwz r0, stopStatus__10fopAc_ac_c(r13) -/* 80018D58 7C 60 00 39 */ and. r0, r3, r0 -/* 80018D5C 40 82 00 48 */ bne lbl_80018DA4 -/* 80018D60 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17 -/* 80018D64 41 82 00 14 */ beq lbl_80018D78 -/* 80018D68 7F E3 FB 78 */ mr r3, r31 -/* 80018D6C 48 00 1F 81 */ bl fopAcM_cullingCheck__FPC10fopAc_ac_c -/* 80018D70 2C 03 00 00 */ cmpwi r3, 0 -/* 80018D74 40 82 00 30 */ bne lbl_80018DA4 -lbl_80018D78: -/* 80018D78 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80018D7C 74 00 21 00 */ andis. r0, r0, 0x2100 -/* 80018D80 40 82 00 24 */ bne lbl_80018DA4 -/* 80018D84 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80018D88 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 80018D8C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -/* 80018D90 80 7F 00 EC */ lwz r3, 0xec(r31) -/* 80018D94 7F E4 FB 78 */ mr r4, r31 -/* 80018D98 48 00 8C 8D */ bl fpcLf_DrawMethod__FP21leafdraw_method_classPv -/* 80018D9C 7C 7E 1B 78 */ mr r30, r3 -/* 80018DA0 48 00 00 10 */ b lbl_80018DB0 -lbl_80018DA4: -/* 80018DA4 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80018DA8 60 00 00 04 */ ori r0, r0, 4 -/* 80018DAC 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80018DB0: -/* 80018DB0 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80018DB4 54 00 02 0C */ rlwinm r0, r0, 0, 8, 6 -/* 80018DB8 90 1F 04 9C */ stw r0, 0x49c(r31) -lbl_80018DBC: -/* 80018DBC 7F C3 F3 78 */ mr r3, r30 -/* 80018DC0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018DC4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80018DC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018DCC 7C 08 03 A6 */ mtlr r0 -/* 80018DD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018DD4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/fopAc_Execute__FPv.s b/asm/f_op/f_op_actor/fopAc_Execute__FPv.s deleted file mode 100644 index a8a1b7a253..0000000000 --- a/asm/f_op/f_op_actor/fopAc_Execute__FPv.s +++ /dev/null @@ -1,112 +0,0 @@ -lbl_80018DD8: -/* 80018DD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018DDC 7C 08 02 A6 */ mflr r0 -/* 80018DE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018DE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018DE8 93 C1 00 08 */ stw r30, 8(r1) -/* 80018DEC 7C 7F 1B 78 */ mr r31, r3 -/* 80018DF0 3B C0 00 01 */ li r30, 1 -/* 80018DF4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80018DF8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80018DFC 88 04 5E B5 */ lbz r0, 0x5eb5(r4) -/* 80018E00 28 00 00 00 */ cmplwi r0, 0 -/* 80018E04 40 82 01 58 */ bne lbl_80018F5C -/* 80018E08 88 0D 8B A4 */ lbz r0, struct_80451124+0x0(r13) -/* 80018E0C 7C 00 07 75 */ extsb. r0, r0 -/* 80018E10 40 82 01 4C */ bne lbl_80018F5C -/* 80018E14 38 8D 80 90 */ la r4, g_dComIfAc_gameInfo(r13) /* 80450610-_SDA_BASE_ */ -/* 80018E18 88 04 00 04 */ lbz r0, 4(r4) -/* 80018E1C 28 00 00 00 */ cmplwi r0, 0 -/* 80018E20 40 82 01 3C */ bne lbl_80018F5C -/* 80018E24 48 01 86 B1 */ bl check__7daSus_cFP10fopAc_ac_c -/* 80018E28 38 7F 00 F4 */ addi r3, r31, 0xf4 -/* 80018E2C 48 02 A6 A1 */ bl beforeProc__11dEvt_info_cFv -/* 80018E30 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80018E34 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80018E38 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 80018E3C 7F E4 FB 78 */ mr r4, r31 -/* 80018E40 48 02 A1 69 */ bl moveApproval__14dEvt_control_cFPv -/* 80018E44 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80018E48 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0 -/* 80018E4C 90 1F 04 9C */ stw r0, 0x49c(r31) -/* 80018E50 80 9F 04 9C */ lwz r4, 0x49c(r31) -/* 80018E54 54 80 00 85 */ rlwinm. r0, r4, 0, 2, 2 -/* 80018E58 40 82 00 94 */ bne lbl_80018EEC -/* 80018E5C 2C 03 00 02 */ cmpwi r3, 2 -/* 80018E60 41 82 00 2C */ beq lbl_80018E8C -/* 80018E64 2C 03 00 00 */ cmpwi r3, 0 -/* 80018E68 41 82 00 84 */ beq lbl_80018EEC -/* 80018E6C 80 0D 87 3C */ lwz r0, stopStatus__10fopAc_ac_c(r13) -/* 80018E70 7C 80 00 39 */ and. r0, r4, r0 -/* 80018E74 40 82 00 78 */ bne lbl_80018EEC -/* 80018E78 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 -/* 80018E7C 41 82 00 10 */ beq lbl_80018E8C -/* 80018E80 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80018E84 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80018E88 40 82 00 64 */ bne lbl_80018EEC -lbl_80018E8C: -/* 80018E8C 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80018E90 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 80018E94 90 1F 04 A0 */ stw r0, 0x4a0(r31) -/* 80018E98 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 80018E9C D0 1F 04 BC */ stfs f0, 0x4bc(r31) -/* 80018EA0 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 80018EA4 D0 1F 04 C0 */ stfs f0, 0x4c0(r31) -/* 80018EA8 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 80018EAC D0 1F 04 C4 */ stfs f0, 0x4c4(r31) -/* 80018EB0 A8 1F 04 DC */ lha r0, 0x4dc(r31) -/* 80018EB4 B0 1F 04 C8 */ sth r0, 0x4c8(r31) -/* 80018EB8 A8 1F 04 DE */ lha r0, 0x4de(r31) -/* 80018EBC B0 1F 04 CA */ sth r0, 0x4ca(r31) -/* 80018EC0 A8 1F 04 E0 */ lha r0, 0x4e0(r31) -/* 80018EC4 B0 1F 04 CC */ sth r0, 0x4cc(r31) -/* 80018EC8 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80018ECC 98 1F 04 CE */ stb r0, 0x4ce(r31) -/* 80018ED0 88 1F 04 E3 */ lbz r0, 0x4e3(r31) -/* 80018ED4 98 1F 04 CF */ stb r0, 0x4cf(r31) -/* 80018ED8 80 7F 00 EC */ lwz r3, 0xec(r31) -/* 80018EDC 7F E4 FB 78 */ mr r4, r31 -/* 80018EE0 48 00 95 81 */ bl fpcMtd_Execute__FP20process_method_classPv -/* 80018EE4 7C 7E 1B 78 */ mr r30, r3 -/* 80018EE8 48 00 00 2C */ b lbl_80018F14 -lbl_80018EEC: -/* 80018EEC 88 1F 01 04 */ lbz r0, 0x104(r31) -/* 80018EF0 28 00 00 00 */ cmplwi r0, 0 -/* 80018EF4 41 82 00 14 */ beq lbl_80018F08 -/* 80018EF8 7F E3 FB 78 */ mr r3, r31 -/* 80018EFC 81 9F 01 08 */ lwz r12, 0x108(r31) -/* 80018F00 7D 89 03 A6 */ mtctr r12 -/* 80018F04 4E 80 04 21 */ bctrl -lbl_80018F08: -/* 80018F08 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80018F0C 60 00 00 02 */ ori r0, r0, 2 -/* 80018F10 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80018F14: -/* 80018F14 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80018F18 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 80018F1C 41 82 00 24 */ beq lbl_80018F40 -/* 80018F20 C0 3F 04 AC */ lfs f1, 0x4ac(r31) -/* 80018F24 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 80018F28 EC 21 00 28 */ fsubs f1, f1, f0 -/* 80018F2C C0 02 81 C8 */ lfs f0, lit_4324(r2) -/* 80018F30 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80018F34 40 81 00 0C */ ble lbl_80018F40 -/* 80018F38 7F E3 FB 78 */ mr r3, r31 -/* 80018F3C 48 00 0D 41 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_80018F40: -/* 80018F40 C0 3F 04 D4 */ lfs f1, 0x4d4(r31) -/* 80018F44 C0 02 81 CC */ lfs f0, lit_4325(r2) -/* 80018F48 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80018F4C 40 80 00 08 */ bge lbl_80018F54 -/* 80018F50 D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -lbl_80018F54: -/* 80018F54 7F E3 FB 78 */ mr r3, r31 -/* 80018F58 48 19 33 91 */ bl dKy_depth_dist_set__FPv -lbl_80018F5C: -/* 80018F5C 7F C3 F3 78 */ mr r3, r30 -/* 80018F60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018F64 83 C1 00 08 */ lwz r30, 8(r1) -/* 80018F68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018F6C 7C 08 03 A6 */ mtlr r0 -/* 80018F70 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018F74 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/fopAc_IsActor__FPv.s b/asm/f_op/f_op_actor/fopAc_IsActor__FPv.s deleted file mode 100644 index 09684a8ede..0000000000 --- a/asm/f_op/f_op_actor/fopAc_IsActor__FPv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80018CE0: -/* 80018CE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018CE4 7C 08 02 A6 */ mflr r0 -/* 80018CE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018CEC 7C 64 1B 78 */ mr r4, r3 -/* 80018CF0 80 6D 87 38 */ lwz r3, g_fopAc_type(r13) -/* 80018CF4 80 84 00 C0 */ lwz r4, 0xc0(r4) -/* 80018CF8 48 00 79 55 */ bl fpcBs_Is_JustOfType__Fii -/* 80018CFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018D00 7C 08 03 A6 */ mtlr r0 -/* 80018D04 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018D08 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/fopAc_IsDelete__FPv.s b/asm/f_op/f_op_actor/fopAc_IsDelete__FPv.s deleted file mode 100644 index df9720415c..0000000000 --- a/asm/f_op/f_op_actor/fopAc_IsDelete__FPv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80018F78: -/* 80018F78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018F7C 7C 08 02 A6 */ mflr r0 -/* 80018F80 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018F84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018F88 93 C1 00 08 */ stw r30, 8(r1) -/* 80018F8C 7C 7F 1B 78 */ mr r31, r3 -/* 80018F90 80 63 00 EC */ lwz r3, 0xec(r3) -/* 80018F94 7F E4 FB 78 */ mr r4, r31 -/* 80018F98 48 00 94 ED */ bl fpcMtd_IsDelete__FP20process_method_classPv -/* 80018F9C 7C 7E 1B 78 */ mr r30, r3 -/* 80018FA0 2C 1E 00 01 */ cmpwi r30, 1 -/* 80018FA4 40 82 00 0C */ bne lbl_80018FB0 -/* 80018FA8 38 7F 00 D8 */ addi r3, r31, 0xd8 -/* 80018FAC 48 00 75 29 */ bl fopDwTg_DrawQTo__FP16create_tag_class -lbl_80018FB0: -/* 80018FB0 7F C3 F3 78 */ mr r3, r30 -/* 80018FB4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018FB8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80018FBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018FC0 7C 08 03 A6 */ mtlr r0 -/* 80018FC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018FC8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/event_second_actor__FUs.s b/asm/f_op/f_op_actor_mng/event_second_actor__FUs.s deleted file mode 100644 index e63ad43bc0..0000000000 --- a/asm/f_op/f_op_actor_mng/event_second_actor__FUs.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8001B058: -/* 8001B058 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B05C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B060 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8001B064 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_cancelCarryNow__FP10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_cancelCarryNow__FP10fopAc_ac_c.s deleted file mode 100644 index 18c885ff43..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_cancelCarryNow__FP10fopAc_ac_c.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8001CBA0: -/* 8001CBA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001CBA4 7C 08 02 A6 */ mflr r0 -/* 8001CBA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001CBAC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001CBB0 7C 7F 1B 78 */ mr r31, r3 -/* 8001CBB4 80 63 04 9C */ lwz r3, 0x49c(r3) -/* 8001CBB8 54 60 04 A5 */ rlwinm. r0, r3, 0, 0x12, 0x12 -/* 8001CBBC 41 82 00 8C */ beq lbl_8001CC48 -/* 8001CBC0 54 60 04 E2 */ rlwinm r0, r3, 0, 0x13, 0x11 -/* 8001CBC4 90 1F 04 9C */ stw r0, 0x49c(r31) -/* 8001CBC8 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8001CBCC 7C 00 07 74 */ extsb r0, r0 -/* 8001CBD0 2C 00 FF FF */ cmpwi r0, -1 -/* 8001CBD4 41 82 00 3C */ beq lbl_8001CC10 -/* 8001CBD8 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8001CBDC 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8001CBE0 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 8001CBE4 7C 00 07 74 */ extsb r0, r0 -/* 8001CBE8 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8001CBEC 7C 63 02 14 */ add r3, r3, r0 -/* 8001CBF0 80 63 03 FC */ lwz r3, 0x3fc(r3) -/* 8001CBF4 48 00 20 BD */ bl fopScnM_SearchByID__FUi -/* 8001CBF8 28 03 00 00 */ cmplwi r3, 0 -/* 8001CBFC 41 82 00 14 */ beq lbl_8001CC10 -/* 8001CC00 7F E3 FB 78 */ mr r3, r31 -/* 8001CC04 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 8001CC08 7C 04 07 74 */ extsb r4, r0 -/* 8001CC0C 4B FF CD 29 */ bl fopAcM_setRoomLayer__FPvi -lbl_8001CC10: -/* 8001CC10 38 00 00 00 */ li r0, 0 -/* 8001CC14 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 8001CC18 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 8001CC1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001CC20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001CC24 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8001CC28 28 00 00 00 */ cmplwi r0, 0 -/* 8001CC2C 41 82 00 1C */ beq lbl_8001CC48 -/* 8001CC30 88 1F 04 96 */ lbz r0, 0x496(r31) -/* 8001CC34 28 00 00 02 */ cmplwi r0, 2 -/* 8001CC38 41 82 00 10 */ beq lbl_8001CC48 -/* 8001CC3C 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 8001CC40 60 00 08 00 */ ori r0, r0, 0x800 -/* 8001CC44 90 1F 04 9C */ stw r0, 0x49c(r31) -lbl_8001CC48: -/* 8001CC48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001CC4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001CC50 7C 08 03 A6 */ mtlr r0 -/* 8001CC54 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001CC58 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_carryOffRevise__FP10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_carryOffRevise__FP10fopAc_ac_c.s deleted file mode 100644 index b2418e2dee..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_carryOffRevise__FP10fopAc_ac_c.s +++ /dev/null @@ -1,79 +0,0 @@ -lbl_8001D1FC: -/* 8001D1FC 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 8001D200 7C 08 02 A6 */ mflr r0 -/* 8001D204 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 8001D208 93 E1 00 AC */ stw r31, 0xac(r1) -/* 8001D20C 93 C1 00 A8 */ stw r30, 0xa8(r1) -/* 8001D210 7C 7E 1B 78 */ mr r30, r3 -/* 8001D214 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001D218 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001D21C 83 E3 5D AC */ lwz r31, 0x5dac(r3) -/* 8001D220 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001D224 48 05 AA 45 */ bl __ct__11dBgS_LinChkFv -/* 8001D228 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8001D22C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8001D230 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8001D234 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8001D238 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8001D23C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8001D240 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 8001D244 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8001D248 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 8001D24C A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 8001D250 4B FE F1 8D */ bl mDoMtx_YrotS__FPA4_fs -/* 8001D254 C0 02 82 04 */ lfs f0, lit_4645(r2) -/* 8001D258 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8001D25C C0 3E 04 D4 */ lfs f1, 0x4d4(r30) -/* 8001D260 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8001D264 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8001D268 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8001D26C C0 02 82 54 */ lfs f0, lit_6174(r2) -/* 8001D270 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8001D274 38 61 00 20 */ addi r3, r1, 0x20 -/* 8001D278 38 81 00 08 */ addi r4, r1, 8 -/* 8001D27C 48 25 3C 71 */ bl MtxPosition__FP4cXyzP4cXyz -/* 8001D280 38 61 00 08 */ addi r3, r1, 8 -/* 8001D284 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8001D288 7C 65 1B 78 */ mr r5, r3 -/* 8001D28C 48 32 9E 05 */ bl PSVECAdd -/* 8001D290 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001D294 38 81 00 14 */ addi r4, r1, 0x14 -/* 8001D298 38 A1 00 08 */ addi r5, r1, 8 -/* 8001D29C 7F C6 F3 78 */ mr r6, r30 -/* 8001D2A0 48 05 AA C5 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 8001D2A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001D2A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001D2AC 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8001D2B0 38 81 00 2C */ addi r4, r1, 0x2c -/* 8001D2B4 48 05 71 01 */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 8001D2B8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8001D2BC 41 82 00 48 */ beq lbl_8001D304 -/* 8001D2C0 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8001D2C4 D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 8001D2C8 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8001D2CC D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 8001D2D0 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 8001D2D4 D0 1E 04 BC */ stfs f0, 0x4bc(r30) -/* 8001D2D8 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 8001D2DC D0 1E 04 C0 */ stfs f0, 0x4c0(r30) -/* 8001D2E0 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 8001D2E4 D0 1E 04 C4 */ stfs f0, 0x4c4(r30) -/* 8001D2E8 C0 02 82 04 */ lfs f0, lit_4645(r2) -/* 8001D2EC D0 1E 05 2C */ stfs f0, 0x52c(r30) -/* 8001D2F0 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001D2F4 38 80 FF FF */ li r4, -1 -/* 8001D2F8 48 05 A9 E5 */ bl __dt__11dBgS_LinChkFv -/* 8001D2FC 38 60 00 01 */ li r3, 1 -/* 8001D300 48 00 00 14 */ b lbl_8001D314 -lbl_8001D304: -/* 8001D304 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001D308 38 80 FF FF */ li r4, -1 -/* 8001D30C 48 05 A9 D1 */ bl __dt__11dBgS_LinChkFv -/* 8001D310 38 60 00 00 */ li r3, 0 -lbl_8001D314: -/* 8001D314 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 8001D318 83 C1 00 A8 */ lwz r30, 0xa8(r1) -/* 8001D31C 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 8001D320 7C 08 03 A6 */ mtlr r0 -/* 8001D324 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 8001D328 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz.s b/asm/f_op/f_op_actor_mng/fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz.s deleted file mode 100644 index 4e0c05e881..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8001BBE8: -/* 8001BBE8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001BBEC 7C 08 02 A6 */ mflr r0 -/* 8001BBF0 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001BBF4 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001BBF8 48 34 65 D5 */ bl _savegpr_25 -/* 8001BBFC 7C 79 1B 78 */ mr r25, r3 -/* 8001BC00 7C 9A 23 78 */ mr r26, r4 -/* 8001BC04 7C BB 2B 78 */ mr r27, r5 -/* 8001BC08 7C DC 33 78 */ mr r28, r6 -/* 8001BC0C 7C FD 3B 78 */ mr r29, r7 -/* 8001BC10 7D 1E 43 78 */ mr r30, r8 -/* 8001BC14 7D 3F 4B 78 */ mr r31, r9 -/* 8001BC18 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001BC1C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001BC20 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8001BC24 54 84 06 3E */ clrlwi r4, r4, 0x18 -/* 8001BC28 48 02 7A FD */ bl setGtItm__14dEvt_control_cFUc -/* 8001BC2C 2C 1A 00 FF */ cmpwi r26, 0xff -/* 8001BC30 40 82 00 0C */ bne lbl_8001BC3C -/* 8001BC34 38 60 FF FF */ li r3, -1 -/* 8001BC38 48 00 00 24 */ b lbl_8001BC5C -lbl_8001BC3C: -/* 8001BC3C 7F 23 CB 78 */ mr r3, r25 -/* 8001BC40 7F 44 D3 78 */ mr r4, r26 -/* 8001BC44 7F 85 E3 78 */ mr r5, r28 -/* 8001BC48 7F C6 F3 78 */ mr r6, r30 -/* 8001BC4C 7F A7 EB 78 */ mr r7, r29 -/* 8001BC50 7F E8 FB 78 */ mr r8, r31 -/* 8001BC54 7F 69 DB 78 */ mr r9, r27 -/* 8001BC58 48 00 04 21 */ bl fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc -lbl_8001BC5C: -/* 8001BC5C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001BC60 48 34 65 B9 */ bl _restgpr_25 -/* 8001BC64 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001BC68 7C 08 03 A6 */ mtlr r0 -/* 8001BC6C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001BC70 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz.s b/asm/f_op/f_op_actor_mng/fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz.s deleted file mode 100644 index 11d21d6dc7..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8001BC74: -/* 8001BC74 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001BC78 7C 08 02 A6 */ mflr r0 -/* 8001BC7C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001BC80 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001BC84 48 34 65 4D */ bl _savegpr_26 -/* 8001BC88 7C 7A 1B 78 */ mr r26, r3 -/* 8001BC8C 7C 9B 23 78 */ mr r27, r4 -/* 8001BC90 7C BC 2B 78 */ mr r28, r5 -/* 8001BC94 7C DD 33 78 */ mr r29, r6 -/* 8001BC98 7C FE 3B 78 */ mr r30, r7 -/* 8001BC9C 7D 1F 43 78 */ mr r31, r8 -/* 8001BCA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001BCA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001BCA8 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8001BCAC 54 84 06 3E */ clrlwi r4, r4, 0x18 -/* 8001BCB0 48 02 7A 75 */ bl setGtItm__14dEvt_control_cFUc -/* 8001BCB4 2C 1B 00 FF */ cmpwi r27, 0xff -/* 8001BCB8 40 82 00 0C */ bne lbl_8001BCC4 -/* 8001BCBC 38 60 FF FF */ li r3, -1 -/* 8001BCC0 48 00 00 24 */ b lbl_8001BCE4 -lbl_8001BCC4: -/* 8001BCC4 7F 43 D3 78 */ mr r3, r26 -/* 8001BCC8 7F 64 DB 78 */ mr r4, r27 -/* 8001BCCC 7F 85 E3 78 */ mr r5, r28 -/* 8001BCD0 7F C6 F3 78 */ mr r6, r30 -/* 8001BCD4 7F A7 EB 78 */ mr r7, r29 -/* 8001BCD8 7F E8 FB 78 */ mr r8, r31 -/* 8001BCDC 39 20 00 00 */ li r9, 0 -/* 8001BCE0 48 00 03 99 */ bl fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc -lbl_8001BCE4: -/* 8001BCE4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001BCE8 48 34 65 35 */ bl _restgpr_26 -/* 8001BCEC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001BCF0 7C 08 03 A6 */ mtlr r0 -/* 8001BCF4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001BCF8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_delete__FUi.s b/asm/f_op/f_op_actor_mng/fopAcM_delete__FUi.s deleted file mode 100644 index 33b4dd2999..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_delete__FUi.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80019CB8: -/* 80019CB8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80019CBC 7C 08 02 A6 */ mflr r0 -/* 80019CC0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80019CC4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80019CC8 90 61 00 08 */ stw r3, 8(r1) -/* 80019CCC 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 80019CD0 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 80019CD4 38 81 00 08 */ addi r4, r1, 8 -/* 80019CD8 4B FF FB 21 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80019CDC 7C 60 1B 78 */ mr r0, r3 -/* 80019CE0 7C 1F 03 79 */ or. r31, r0, r0 -/* 80019CE4 41 82 00 1C */ beq lbl_80019D00 -/* 80019CE8 3C 80 80 38 */ lis r4, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 80019CEC 38 84 88 C8 */ addi r4, r4, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 80019CF0 4B FF FF 89 */ bl fopAcM_Log__FPC10fopAc_ac_cPCc -/* 80019CF4 7F E3 FB 78 */ mr r3, r31 -/* 80019CF8 48 00 84 21 */ bl fpcM_Delete__FPv -/* 80019CFC 48 00 00 08 */ b lbl_80019D04 -lbl_80019D00: -/* 80019D00 38 60 00 01 */ li r3, 1 -lbl_80019D04: -/* 80019D04 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80019D08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80019D0C 7C 08 03 A6 */ mtlr r0 -/* 80019D10 38 21 00 20 */ addi r1, r1, 0x20 -/* 80019D14 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_findObject4EventCB__FP10fopAc_ac_cPv.s b/asm/f_op/f_op_actor_mng/fopAcM_findObject4EventCB__FP10fopAc_ac_cPv.s deleted file mode 100644 index 5468f962f9..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_findObject4EventCB__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_8001D6F0: -/* 8001D6F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001D6F4 7C 08 02 A6 */ mflr r0 -/* 8001D6F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001D6FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001D700 93 C1 00 08 */ stw r30, 8(r1) -/* 8001D704 7C 7E 1B 78 */ mr r30, r3 -/* 8001D708 7C 9F 23 79 */ or. r31, r4, r4 -/* 8001D70C 41 82 00 24 */ beq lbl_8001D730 -/* 8001D710 28 1E 00 00 */ cmplwi r30, 0 -/* 8001D714 41 82 00 0C */ beq lbl_8001D720 -/* 8001D718 80 7E 00 04 */ lwz r3, 4(r30) -/* 8001D71C 48 00 00 08 */ b lbl_8001D724 -lbl_8001D720: -/* 8001D720 38 60 FF FF */ li r3, -1 -lbl_8001D724: -/* 8001D724 48 00 3C 79 */ bl fpcEx_IsExist__FUi -/* 8001D728 2C 03 00 00 */ cmpwi r3, 0 -/* 8001D72C 40 82 00 0C */ bne lbl_8001D738 -lbl_8001D730: -/* 8001D730 38 60 00 00 */ li r3, 0 -/* 8001D734 48 00 00 54 */ b lbl_8001D788 -lbl_8001D738: -/* 8001D738 A8 7F 00 20 */ lha r3, 0x20(r31) -/* 8001D73C A8 1E 00 0E */ lha r0, 0xe(r30) -/* 8001D740 7C 03 00 00 */ cmpw r3, r0 -/* 8001D744 40 82 00 40 */ bne lbl_8001D784 -/* 8001D748 88 1F 00 22 */ lbz r0, 0x22(r31) -/* 8001D74C 7C 03 07 74 */ extsb r3, r0 -/* 8001D750 88 1E 04 99 */ lbz r0, 0x499(r30) -/* 8001D754 7C 00 07 74 */ extsb r0, r0 -/* 8001D758 7C 03 00 00 */ cmpw r3, r0 -/* 8001D75C 40 82 00 28 */ bne lbl_8001D784 -/* 8001D760 A8 7F 00 1E */ lha r3, 0x1e(r31) -/* 8001D764 7C 60 07 35 */ extsh. r0, r3 -/* 8001D768 41 80 00 14 */ blt lbl_8001D77C -/* 8001D76C 88 1E 00 FF */ lbz r0, 0xff(r30) -/* 8001D770 7C 00 07 74 */ extsb r0, r0 -/* 8001D774 7C 03 00 00 */ cmpw r3, r0 -/* 8001D778 40 82 00 0C */ bne lbl_8001D784 -lbl_8001D77C: -/* 8001D77C 7F C3 F3 78 */ mr r3, r30 -/* 8001D780 48 00 00 08 */ b lbl_8001D788 -lbl_8001D784: -/* 8001D784 38 60 00 00 */ li r3, 0 -lbl_8001D788: -/* 8001D788 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001D78C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8001D790 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001D794 7C 08 03 A6 */ mtlr r0 -/* 8001D798 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001D79C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_findObjectCB__FPC10fopAc_ac_cPv.s b/asm/f_op/f_op_actor_mng/fopAcM_findObjectCB__FPC10fopAc_ac_cPv.s deleted file mode 100644 index 0cc49d0532..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_findObjectCB__FPC10fopAc_ac_cPv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8001D5EC: -/* 8001D5EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001D5F0 7C 08 02 A6 */ mflr r0 -/* 8001D5F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001D5F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001D5FC 93 C1 00 08 */ stw r30, 8(r1) -/* 8001D600 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8001D604 7C 9F 23 78 */ mr r31, r4 -/* 8001D608 41 82 00 0C */ beq lbl_8001D614 -/* 8001D60C 80 7E 00 04 */ lwz r3, 4(r30) -/* 8001D610 48 00 00 08 */ b lbl_8001D618 -lbl_8001D614: -/* 8001D614 38 60 FF FF */ li r3, -1 -lbl_8001D618: -/* 8001D618 48 00 3D 85 */ bl fpcEx_IsExist__FUi -/* 8001D61C 2C 03 00 00 */ cmpwi r3, 0 -/* 8001D620 40 82 00 0C */ bne lbl_8001D62C -/* 8001D624 38 60 00 00 */ li r3, 0 -/* 8001D628 48 00 00 58 */ b lbl_8001D680 -lbl_8001D62C: -/* 8001D62C A8 7F 00 08 */ lha r3, 8(r31) -/* 8001D630 A8 1E 00 0E */ lha r0, 0xe(r30) -/* 8001D634 7C 03 00 00 */ cmpw r3, r0 -/* 8001D638 40 82 00 44 */ bne lbl_8001D67C -/* 8001D63C 88 1F 00 0A */ lbz r0, 0xa(r31) -/* 8001D640 7C 03 07 74 */ extsb r3, r0 -/* 8001D644 88 1E 04 99 */ lbz r0, 0x499(r30) -/* 8001D648 7C 00 07 74 */ extsb r0, r0 -/* 8001D64C 7C 03 00 00 */ cmpw r3, r0 -/* 8001D650 40 82 00 2C */ bne lbl_8001D67C -/* 8001D654 80 9F 00 00 */ lwz r4, 0(r31) -/* 8001D658 28 04 00 00 */ cmplwi r4, 0 -/* 8001D65C 41 82 00 18 */ beq lbl_8001D674 -/* 8001D660 80 7F 00 04 */ lwz r3, 4(r31) -/* 8001D664 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 8001D668 7C 80 00 38 */ and r0, r4, r0 -/* 8001D66C 7C 03 00 40 */ cmplw r3, r0 -/* 8001D670 40 82 00 0C */ bne lbl_8001D67C -lbl_8001D674: -/* 8001D674 7F C3 F3 78 */ mr r3, r30 -/* 8001D678 48 00 00 08 */ b lbl_8001D680 -lbl_8001D67C: -/* 8001D67C 38 60 00 00 */ li r3, 0 -lbl_8001D680: -/* 8001D680 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001D684 83 C1 00 08 */ lwz r30, 8(r1) -/* 8001D688 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001D68C 7C 08 03 A6 */ mtlr r0 -/* 8001D690 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001D694 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_getEventPartner__FPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_getEventPartner__FPC10fopAc_ac_c.s deleted file mode 100644 index fc5c73866b..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_getEventPartner__FPC10fopAc_ac_c.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8001BB74: -/* 8001BB74 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001BB78 7C 08 02 A6 */ mflr r0 -/* 8001BB7C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001BB80 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001BB84 48 34 66 59 */ bl _savegpr_29 -/* 8001BB88 7C 7D 1B 78 */ mr r29, r3 -/* 8001BB8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001BB90 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001BB94 3B DF 4E C8 */ addi r30, r31, 0x4ec8 -/* 8001BB98 7F C3 F3 78 */ mr r3, r30 -/* 8001BB9C 80 9F 4F 8C */ lwz r4, 0x4f8c(r31) -/* 8001BBA0 48 02 77 4D */ bl convPId__14dEvt_control_cFUi -/* 8001BBA4 7C 03 E8 40 */ cmplw r3, r29 -/* 8001BBA8 41 82 00 14 */ beq lbl_8001BBBC -/* 8001BBAC 7F C3 F3 78 */ mr r3, r30 -/* 8001BBB0 80 9F 4F 8C */ lwz r4, 0x4f8c(r31) -/* 8001BBB4 48 02 77 39 */ bl convPId__14dEvt_control_cFUi -/* 8001BBB8 48 00 00 18 */ b lbl_8001BBD0 -lbl_8001BBBC: -/* 8001BBBC 7F C3 F3 78 */ mr r3, r30 -/* 8001BBC0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001BBC4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001BBC8 80 84 4F 90 */ lwz r4, 0x4f90(r4) -/* 8001BBCC 48 02 77 21 */ bl convPId__14dEvt_control_cFUi -lbl_8001BBD0: -/* 8001BBD0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001BBD4 48 34 66 55 */ bl _restgpr_29 -/* 8001BBD8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001BBDC 7C 08 03 A6 */ mtlr r0 -/* 8001BBE0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001BBE4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_getItemEventPartner__FPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_getItemEventPartner__FPC10fopAc_ac_c.s deleted file mode 100644 index 8bb0dfeb02..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_getItemEventPartner__FPC10fopAc_ac_c.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8001BB44: -/* 8001BB44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001BB48 7C 08 02 A6 */ mflr r0 -/* 8001BB4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001BB50 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001BB54 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001BB58 38 64 4E C8 */ addi r3, r4, 0x4ec8 -/* 8001BB5C 80 84 4F 98 */ lwz r4, 0x4f98(r4) -/* 8001BB60 48 02 77 8D */ bl convPId__14dEvt_control_cFUi -/* 8001BB64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001BB68 7C 08 03 A6 */ mtlr r0 -/* 8001BB6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001BB70 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_getTalkEventPartner__FPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_getTalkEventPartner__FPC10fopAc_ac_c.s deleted file mode 100644 index 6b680aeb53..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_getTalkEventPartner__FPC10fopAc_ac_c.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8001BB14: -/* 8001BB14 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001BB18 7C 08 02 A6 */ mflr r0 -/* 8001BB1C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001BB20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001BB24 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001BB28 38 64 4E C8 */ addi r3, r4, 0x4ec8 -/* 8001BB2C 80 84 4F 94 */ lwz r4, 0x4f94(r4) -/* 8001BB30 48 02 77 BD */ bl convPId__14dEvt_control_cFUi -/* 8001BB34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001BB38 7C 08 03 A6 */ mtlr r0 -/* 8001BB3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001BB40 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s deleted file mode 100644 index 50d12bf709..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8001B334: -/* 8001B334 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001B338 7C 08 02 A6 */ mflr r0 -/* 8001B33C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001B340 7C 68 1B 78 */ mr r8, r3 -/* 8001B344 7C 89 23 78 */ mr r9, r4 -/* 8001B348 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B34C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B350 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8001B354 38 00 00 00 */ li r0, 0 -/* 8001B358 88 83 00 E5 */ lbz r4, 0xe5(r3) -/* 8001B35C 28 04 00 00 */ cmplwi r4, 0 -/* 8001B360 41 82 00 0C */ beq lbl_8001B36C -/* 8001B364 28 04 00 02 */ cmplwi r4, 2 -/* 8001B368 40 82 00 08 */ bne lbl_8001B370 -lbl_8001B36C: -/* 8001B36C 38 00 00 01 */ li r0, 1 -lbl_8001B370: -/* 8001B370 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B374 40 82 00 20 */ bne lbl_8001B394 -/* 8001B378 54 C0 05 6B */ rlwinm. r0, r6, 0, 0x15, 0x15 -/* 8001B37C 41 82 00 10 */ beq lbl_8001B38C -/* 8001B380 80 03 00 F8 */ lwz r0, 0xf8(r3) -/* 8001B384 7C 00 40 40 */ cmplw r0, r8 -/* 8001B388 41 82 00 0C */ beq lbl_8001B394 -lbl_8001B38C: -/* 8001B38C 38 60 00 00 */ li r3, 0 -/* 8001B390 48 00 00 2C */ b lbl_8001B3BC -lbl_8001B394: -/* 8001B394 54 A0 04 3F */ clrlwi. r0, r5, 0x10 -/* 8001B398 40 82 00 08 */ bne lbl_8001B3A0 -/* 8001B39C 38 A0 00 02 */ li r5, 2 -lbl_8001B3A0: -/* 8001B3A0 38 00 00 FF */ li r0, 0xff -/* 8001B3A4 90 01 00 08 */ stw r0, 8(r1) -/* 8001B3A8 38 80 00 0A */ li r4, 0xa -/* 8001B3AC 3C E0 00 01 */ lis r7, 0x0001 /* 0x0000FFFF@ha */ -/* 8001B3B0 38 E7 FF FF */ addi r7, r7, 0xFFFF /* 0x0000FFFF@l */ -/* 8001B3B4 39 40 FF FF */ li r10, -1 -/* 8001B3B8 48 02 62 B1 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B3BC: -/* 8001B3BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001B3C0 7C 08 03 A6 */ mtlr r0 -/* 8001B3C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001B3C8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs.s deleted file mode 100644 index 81f17a6196..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8001B5E4: -/* 8001B5E4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001B5E8 7C 08 02 A6 */ mflr r0 -/* 8001B5EC 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001B5F0 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B5F4 48 34 6B DD */ bl _savegpr_26 -/* 8001B5F8 7C 7A 1B 78 */ mr r26, r3 -/* 8001B5FC 7C 9B 23 78 */ mr r27, r4 -/* 8001B600 7C BC 2B 78 */ mr r28, r5 -/* 8001B604 7C DD 33 78 */ mr r29, r6 -/* 8001B608 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B60C 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B610 38 7F 4F F8 */ addi r3, r31, 0x4ff8 -/* 8001B614 7F 44 D3 78 */ mr r4, r26 -/* 8001B618 7F 65 DB 78 */ mr r5, r27 -/* 8001B61C 48 02 CB D9 */ bl getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs -/* 8001B620 54 7E 04 3F */ clrlwi. r30, r3, 0x10 -/* 8001B624 40 82 00 08 */ bne lbl_8001B62C -/* 8001B628 3B C0 00 FF */ li r30, 0xff -lbl_8001B62C: -/* 8001B62C 7F 83 E3 78 */ mr r3, r28 -/* 8001B630 4B FF FA 29 */ bl event_second_actor__FUs -/* 8001B634 7C 69 1B 78 */ mr r9, r3 -/* 8001B638 38 00 00 FF */ li r0, 0xff -/* 8001B63C 90 01 00 08 */ stw r0, 8(r1) -/* 8001B640 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 8001B644 38 80 00 02 */ li r4, 2 -/* 8001B648 7F C5 F3 78 */ mr r5, r30 -/* 8001B64C 63 80 04 00 */ ori r0, r28, 0x400 -/* 8001B650 54 06 04 3E */ clrlwi r6, r0, 0x10 -/* 8001B654 7F A7 EB 78 */ mr r7, r29 -/* 8001B658 7F 48 D3 78 */ mr r8, r26 -/* 8001B65C 7F 6A DB 78 */ mr r10, r27 -/* 8001B660 48 02 60 09 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -/* 8001B664 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B668 48 34 6B B5 */ bl _restgpr_26 -/* 8001B66C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001B670 7C 08 03 A6 */ mtlr r0 -/* 8001B674 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001B678 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s deleted file mode 100644 index 93a68a3702..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_8001B244: -/* 8001B244 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001B248 7C 08 02 A6 */ mflr r0 -/* 8001B24C 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001B250 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B254 48 34 6F 7D */ bl _savegpr_26 -/* 8001B258 7C 7E 1B 78 */ mr r30, r3 -/* 8001B25C 7C 9F 23 78 */ mr r31, r4 -/* 8001B260 7C BA 2B 78 */ mr r26, r5 -/* 8001B264 7C DB 33 78 */ mr r27, r6 -/* 8001B268 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B26C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B270 3B 83 4E C8 */ addi r28, r3, 0x4ec8 -/* 8001B274 38 00 00 00 */ li r0, 0 -/* 8001B278 88 83 4F AD */ lbz r4, 0x4fad(r3) -/* 8001B27C 28 04 00 00 */ cmplwi r4, 0 -/* 8001B280 41 82 00 0C */ beq lbl_8001B28C -/* 8001B284 28 04 00 02 */ cmplwi r4, 2 -/* 8001B288 40 82 00 08 */ bne lbl_8001B290 -lbl_8001B28C: -/* 8001B28C 38 00 00 01 */ li r0, 1 -lbl_8001B290: -/* 8001B290 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B294 40 82 00 20 */ bne lbl_8001B2B4 -/* 8001B298 57 60 05 6B */ rlwinm. r0, r27, 0, 0x15, 0x15 -/* 8001B29C 41 82 00 10 */ beq lbl_8001B2AC -/* 8001B2A0 80 1C 00 F8 */ lwz r0, 0xf8(r28) -/* 8001B2A4 7C 00 F0 40 */ cmplw r0, r30 -/* 8001B2A8 41 82 00 0C */ beq lbl_8001B2B4 -lbl_8001B2AC: -/* 8001B2AC 38 60 00 00 */ li r3, 0 -/* 8001B2B0 48 00 00 6C */ b lbl_8001B31C -lbl_8001B2B4: -/* 8001B2B4 57 40 04 3F */ clrlwi. r0, r26, 0x10 -/* 8001B2B8 40 82 00 08 */ bne lbl_8001B2C0 -/* 8001B2BC 3B 40 00 FF */ li r26, 0xff -lbl_8001B2C0: -/* 8001B2C0 A9 5F 00 FC */ lha r10, 0xfc(r31) -/* 8001B2C4 8B BF 00 FE */ lbz r29, 0xfe(r31) -/* 8001B2C8 A8 1F 00 0E */ lha r0, 0xe(r31) -/* 8001B2CC 2C 00 00 55 */ cmpwi r0, 0x55 -/* 8001B2D0 40 82 00 24 */ bne lbl_8001B2F4 -/* 8001B2D4 28 1D 00 FF */ cmplwi r29, 0xff -/* 8001B2D8 41 82 00 1C */ beq lbl_8001B2F4 -/* 8001B2DC 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8001B2E0 7F C4 F3 78 */ mr r4, r30 -/* 8001B2E4 38 A0 00 00 */ li r5, 0 -/* 8001B2E8 7F A6 EB 78 */ mr r6, r29 -/* 8001B2EC 48 02 C4 6D */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 8001B2F0 7C 6A 1B 78 */ mr r10, r3 -lbl_8001B2F4: -/* 8001B2F4 93 A1 00 08 */ stw r29, 8(r1) -/* 8001B2F8 7F 83 E3 78 */ mr r3, r28 -/* 8001B2FC 38 80 00 01 */ li r4, 1 -/* 8001B300 7F 45 D3 78 */ mr r5, r26 -/* 8001B304 7F 66 DB 78 */ mr r6, r27 -/* 8001B308 3C E0 00 01 */ lis r7, 0x0001 /* 0x0000FFFF@ha */ -/* 8001B30C 38 E7 FF FF */ addi r7, r7, 0xFFFF /* 0x0000FFFF@l */ -/* 8001B310 7F C8 F3 78 */ mr r8, r30 -/* 8001B314 7F E9 FB 78 */ mr r9, r31 -/* 8001B318 48 02 63 51 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B31C: -/* 8001B31C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B320 48 34 6E FD */ bl _restgpr_26 -/* 8001B324 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001B328 7C 08 03 A6 */ mtlr r0 -/* 8001B32C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001B330 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs.s deleted file mode 100644 index 37cda3b8f1..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001B8E0: -/* 8001B8E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001B8E4 7C 08 02 A6 */ mflr r0 -/* 8001B8E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001B8EC 60 E0 01 00 */ ori r0, r7, 0x100 -/* 8001B8F0 54 07 04 3E */ clrlwi r7, r0, 0x10 -/* 8001B8F4 4B FF FE C1 */ bl fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs -/* 8001B8F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001B8FC 7C 08 03 A6 */ mtlr r0 -/* 8001B900 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001B904 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs.s deleted file mode 100644 index 10454ed833..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_8001B7B4: -/* 8001B7B4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8001B7B8 7C 08 02 A6 */ mflr r0 -/* 8001B7BC 90 01 00 44 */ stw r0, 0x44(r1) -/* 8001B7C0 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001B7C4 48 34 6A 01 */ bl _savegpr_23 -/* 8001B7C8 7C 78 1B 78 */ mr r24, r3 -/* 8001B7CC 7C 99 23 78 */ mr r25, r4 -/* 8001B7D0 7C BA 2B 78 */ mr r26, r5 -/* 8001B7D4 7C DB 33 78 */ mr r27, r6 -/* 8001B7D8 7C FC 3B 78 */ mr r28, r7 -/* 8001B7DC 7D 1D 43 78 */ mr r29, r8 -/* 8001B7E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B7E4 3A E3 61 C0 */ addi r23, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B7E8 3B F7 4E C8 */ addi r31, r23, 0x4ec8 -/* 8001B7EC 38 00 00 00 */ li r0, 0 -/* 8001B7F0 88 77 4F AD */ lbz r3, 0x4fad(r23) -/* 8001B7F4 28 03 00 00 */ cmplwi r3, 0 -/* 8001B7F8 41 82 00 0C */ beq lbl_8001B804 -/* 8001B7FC 28 03 00 02 */ cmplwi r3, 2 -/* 8001B800 40 82 00 08 */ bne lbl_8001B808 -lbl_8001B804: -/* 8001B804 38 00 00 01 */ li r0, 1 -lbl_8001B808: -/* 8001B808 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B80C 40 82 00 20 */ bne lbl_8001B82C -/* 8001B810 57 80 05 6B */ rlwinm. r0, r28, 0, 0x15, 0x15 -/* 8001B814 41 82 00 10 */ beq lbl_8001B824 -/* 8001B818 80 1F 00 F8 */ lwz r0, 0xf8(r31) -/* 8001B81C 7C 00 C0 40 */ cmplw r0, r24 -/* 8001B820 41 82 00 0C */ beq lbl_8001B82C -lbl_8001B824: -/* 8001B824 38 60 00 00 */ li r3, 0 -/* 8001B828 48 00 00 A0 */ b lbl_8001B8C8 -lbl_8001B82C: -/* 8001B82C 3B C0 00 64 */ li r30, 0x64 -/* 8001B830 88 8D 87 E4 */ lbz r4, struct_80450D64+0x0(r13) -/* 8001B834 7C 84 07 74 */ extsb r4, r4 -/* 8001B838 28 18 00 00 */ cmplwi r24, 0 -/* 8001B83C 41 82 00 10 */ beq lbl_8001B84C -/* 8001B840 88 18 04 E2 */ lbz r0, 0x4e2(r24) -/* 8001B844 7C 00 07 74 */ extsb r0, r0 -/* 8001B848 7C 04 03 78 */ mr r4, r0 -lbl_8001B84C: -/* 8001B84C 7F 23 CB 78 */ mr r3, r25 -/* 8001B850 48 02 7C B1 */ bl searchMapEventData__14dEvt_control_cFUcl -/* 8001B854 28 03 00 00 */ cmplwi r3, 0 -/* 8001B858 41 82 00 28 */ beq lbl_8001B880 -/* 8001B85C 8B C3 00 06 */ lbz r30, 6(r3) -/* 8001B860 7F 40 07 34 */ extsh r0, r26 -/* 8001B864 2C 00 00 FF */ cmpwi r0, 0xff -/* 8001B868 40 82 00 18 */ bne lbl_8001B880 -/* 8001B86C 38 77 4F F8 */ addi r3, r23, 0x4ff8 -/* 8001B870 7F 04 C3 78 */ mr r4, r24 -/* 8001B874 7F 25 CB 78 */ mr r5, r25 -/* 8001B878 48 02 BE 21 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc -/* 8001B87C 7C 7A 1B 78 */ mr r26, r3 -lbl_8001B880: -/* 8001B880 57 80 05 EF */ rlwinm. r0, r28, 0, 0x17, 0x17 -/* 8001B884 41 82 00 08 */ beq lbl_8001B88C -/* 8001B888 3B C0 00 03 */ li r30, 3 -lbl_8001B88C: -/* 8001B88C 57 A0 04 3F */ clrlwi. r0, r29, 0x10 -/* 8001B890 41 82 00 08 */ beq lbl_8001B898 -/* 8001B894 7F BE EB 78 */ mr r30, r29 -lbl_8001B898: -/* 8001B898 7F 83 E3 78 */ mr r3, r28 -/* 8001B89C 4B FF F7 BD */ bl event_second_actor__FUs -/* 8001B8A0 7C 69 1B 78 */ mr r9, r3 -/* 8001B8A4 93 21 00 08 */ stw r25, 8(r1) -/* 8001B8A8 7F E3 FB 78 */ mr r3, r31 -/* 8001B8AC 38 80 00 02 */ li r4, 2 -/* 8001B8B0 7F C5 F3 78 */ mr r5, r30 -/* 8001B8B4 7F 86 E3 78 */ mr r6, r28 -/* 8001B8B8 7F 67 DB 78 */ mr r7, r27 -/* 8001B8BC 7F 08 C3 78 */ mr r8, r24 -/* 8001B8C0 7F 4A D3 78 */ mr r10, r26 -/* 8001B8C4 48 02 5D A5 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B8C8: -/* 8001B8C8 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001B8CC 48 34 69 45 */ bl _restgpr_23 -/* 8001B8D0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8001B8D4 7C 08 03 A6 */ mtlr r0 -/* 8001B8D8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8001B8DC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs.s deleted file mode 100644 index 75bb902124..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs.s +++ /dev/null @@ -1,88 +0,0 @@ -lbl_8001B67C: -/* 8001B67C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001B680 7C 08 02 A6 */ mflr r0 -/* 8001B684 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001B688 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B68C 48 34 6B 3D */ bl _savegpr_24 -/* 8001B690 7C 7A 1B 78 */ mr r26, r3 -/* 8001B694 7C 9B 23 78 */ mr r27, r4 -/* 8001B698 7C BC 2B 78 */ mr r28, r5 -/* 8001B69C 7C DD 33 78 */ mr r29, r6 -/* 8001B6A0 7D 1E 43 78 */ mr r30, r8 -/* 8001B6A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B6A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B6AC 3B E3 4E C8 */ addi r31, r3, 0x4ec8 -/* 8001B6B0 38 00 00 00 */ li r0, 0 -/* 8001B6B4 88 83 4F AD */ lbz r4, 0x4fad(r3) -/* 8001B6B8 28 04 00 00 */ cmplwi r4, 0 -/* 8001B6BC 41 82 00 0C */ beq lbl_8001B6C8 -/* 8001B6C0 28 04 00 02 */ cmplwi r4, 2 -/* 8001B6C4 40 82 00 08 */ bne lbl_8001B6CC -lbl_8001B6C8: -/* 8001B6C8 38 00 00 01 */ li r0, 1 -lbl_8001B6CC: -/* 8001B6CC 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B6D0 40 82 00 20 */ bne lbl_8001B6F0 -/* 8001B6D4 57 C0 05 6B */ rlwinm. r0, r30, 0, 0x15, 0x15 -/* 8001B6D8 41 82 00 10 */ beq lbl_8001B6E8 -/* 8001B6DC 80 1F 00 F8 */ lwz r0, 0xf8(r31) -/* 8001B6E0 7C 00 D0 40 */ cmplw r0, r26 -/* 8001B6E4 41 82 00 0C */ beq lbl_8001B6F0 -lbl_8001B6E8: -/* 8001B6E8 38 60 00 00 */ li r3, 0 -/* 8001B6EC 48 00 00 B0 */ b lbl_8001B79C -lbl_8001B6F0: -/* 8001B6F0 3B 20 00 32 */ li r25, 0x32 -/* 8001B6F4 8B 0D 87 E4 */ lbz r24, struct_80450D64+0x0(r13) -/* 8001B6F8 7F 18 07 74 */ extsb r24, r24 -/* 8001B6FC 28 1A 00 00 */ cmplwi r26, 0 -/* 8001B700 41 82 00 10 */ beq lbl_8001B710 -/* 8001B704 88 1A 04 E2 */ lbz r0, 0x4e2(r26) -/* 8001B708 7C 00 07 74 */ extsb r0, r0 -/* 8001B70C 7C 18 03 78 */ mr r24, r0 -lbl_8001B710: -/* 8001B710 54 E0 04 3F */ clrlwi. r0, r7, 0x10 -/* 8001B714 41 82 00 0C */ beq lbl_8001B720 -/* 8001B718 7C F9 3B 78 */ mr r25, r7 -/* 8001B71C 48 00 00 50 */ b lbl_8001B76C -lbl_8001B720: -/* 8001B720 28 1A 00 00 */ cmplwi r26, 0 -/* 8001B724 41 82 00 48 */ beq lbl_8001B76C -/* 8001B728 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8001B72C 7F 44 D3 78 */ mr r4, r26 -/* 8001B730 7F 65 DB 78 */ mr r5, r27 -/* 8001B734 48 02 CA C1 */ bl getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs -/* 8001B738 54 60 04 3F */ clrlwi. r0, r3, 0x10 -/* 8001B73C 41 82 00 0C */ beq lbl_8001B748 -/* 8001B740 7C 19 03 78 */ mr r25, r0 -/* 8001B744 48 00 00 28 */ b lbl_8001B76C -lbl_8001B748: -/* 8001B748 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 8001B74C 28 00 00 FF */ cmplwi r0, 0xff -/* 8001B750 41 82 00 1C */ beq lbl_8001B76C -/* 8001B754 7F 83 E3 78 */ mr r3, r28 -/* 8001B758 7F 04 C3 78 */ mr r4, r24 -/* 8001B75C 48 02 7D A5 */ bl searchMapEventData__14dEvt_control_cFUcl -/* 8001B760 28 03 00 00 */ cmplwi r3, 0 -/* 8001B764 41 82 00 08 */ beq lbl_8001B76C -/* 8001B768 8B 23 00 06 */ lbz r25, 6(r3) -lbl_8001B76C: -/* 8001B76C 7F C3 F3 78 */ mr r3, r30 -/* 8001B770 4B FF F8 E9 */ bl event_second_actor__FUs -/* 8001B774 7C 69 1B 78 */ mr r9, r3 -/* 8001B778 93 81 00 08 */ stw r28, 8(r1) -/* 8001B77C 7F E3 FB 78 */ mr r3, r31 -/* 8001B780 38 80 00 02 */ li r4, 2 -/* 8001B784 7F 25 CB 78 */ mr r5, r25 -/* 8001B788 7F C6 F3 78 */ mr r6, r30 -/* 8001B78C 7F A7 EB 78 */ mr r7, r29 -/* 8001B790 7F 48 D3 78 */ mr r8, r26 -/* 8001B794 7F 6A DB 78 */ mr r10, r27 -/* 8001B798 48 02 5E D1 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B79C: -/* 8001B79C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B7A0 48 34 6A 75 */ bl _restgpr_24 -/* 8001B7A4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001B7A8 7C 08 03 A6 */ mtlr r0 -/* 8001B7AC 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001B7B0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs.s deleted file mode 100644 index 9c9950fa63..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_8001B4E0: -/* 8001B4E0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001B4E4 7C 08 02 A6 */ mflr r0 -/* 8001B4E8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001B4EC 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B4F0 48 34 6C D9 */ bl _savegpr_24 -/* 8001B4F4 7C 7A 1B 78 */ mr r26, r3 -/* 8001B4F8 7C 9B 23 78 */ mr r27, r4 -/* 8001B4FC 7C DC 33 78 */ mr r28, r6 -/* 8001B500 7C FD 3B 78 */ mr r29, r7 -/* 8001B504 7D 1E 43 78 */ mr r30, r8 -/* 8001B508 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B50C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B510 3B E3 4E C8 */ addi r31, r3, 0x4ec8 -/* 8001B514 38 00 00 00 */ li r0, 0 -/* 8001B518 88 83 4F AD */ lbz r4, 0x4fad(r3) -/* 8001B51C 28 04 00 00 */ cmplwi r4, 0 -/* 8001B520 41 82 00 0C */ beq lbl_8001B52C -/* 8001B524 28 04 00 02 */ cmplwi r4, 2 -/* 8001B528 40 82 00 08 */ bne lbl_8001B530 -lbl_8001B52C: -/* 8001B52C 38 00 00 01 */ li r0, 1 -lbl_8001B530: -/* 8001B530 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B534 40 82 00 20 */ bne lbl_8001B554 -/* 8001B538 57 A0 05 6B */ rlwinm. r0, r29, 0, 0x15, 0x15 -/* 8001B53C 41 82 00 10 */ beq lbl_8001B54C -/* 8001B540 80 1F 00 F8 */ lwz r0, 0xf8(r31) -/* 8001B544 7C 00 D0 40 */ cmplw r0, r26 -/* 8001B548 41 82 00 0C */ beq lbl_8001B554 -lbl_8001B54C: -/* 8001B54C 38 60 00 00 */ li r3, 0 -/* 8001B550 48 00 00 7C */ b lbl_8001B5CC -lbl_8001B554: -/* 8001B554 3B 23 4F F8 */ addi r25, r3, 0x4ff8 -/* 8001B558 7F 23 CB 78 */ mr r3, r25 -/* 8001B55C 7F 44 D3 78 */ mr r4, r26 -/* 8001B560 38 C0 00 FF */ li r6, 0xff -/* 8001B564 48 02 C1 F5 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 8001B568 7C 78 1B 78 */ mr r24, r3 -/* 8001B56C 7F 00 07 35 */ extsh. r0, r24 -/* 8001B570 40 80 00 0C */ bge lbl_8001B57C -/* 8001B574 38 60 00 00 */ li r3, 0 -/* 8001B578 48 00 00 54 */ b lbl_8001B5CC -lbl_8001B57C: -/* 8001B57C 7F 23 CB 78 */ mr r3, r25 -/* 8001B580 7F 44 D3 78 */ mr r4, r26 -/* 8001B584 7F 05 C3 78 */ mr r5, r24 -/* 8001B588 48 02 CC 6D */ bl getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs -/* 8001B58C 54 65 04 3F */ clrlwi. r5, r3, 0x10 -/* 8001B590 40 82 00 08 */ bne lbl_8001B598 -/* 8001B594 38 A0 00 FF */ li r5, 0xff -lbl_8001B598: -/* 8001B598 57 C0 04 3F */ clrlwi. r0, r30, 0x10 -/* 8001B59C 41 82 00 08 */ beq lbl_8001B5A4 -/* 8001B5A0 7F C5 F3 78 */ mr r5, r30 -lbl_8001B5A4: -/* 8001B5A4 38 00 00 FF */ li r0, 0xff -/* 8001B5A8 90 01 00 08 */ stw r0, 8(r1) -/* 8001B5AC 7F E3 FB 78 */ mr r3, r31 -/* 8001B5B0 38 80 00 02 */ li r4, 2 -/* 8001B5B4 7F A6 EB 78 */ mr r6, r29 -/* 8001B5B8 7F 87 E3 78 */ mr r7, r28 -/* 8001B5BC 7F 48 D3 78 */ mr r8, r26 -/* 8001B5C0 7F 69 DB 78 */ mr r9, r27 -/* 8001B5C4 7F 0A C3 78 */ mr r10, r24 -/* 8001B5C8 48 02 60 A1 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B5CC: -/* 8001B5CC 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B5D0 48 34 6C 45 */ bl _restgpr_24 -/* 8001B5D4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001B5D8 7C 08 03 A6 */ mtlr r0 -/* 8001B5DC 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001B5E0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs.s deleted file mode 100644 index 7aa34bd019..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_8001B3CC: -/* 8001B3CC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001B3D0 7C 08 02 A6 */ mflr r0 -/* 8001B3D4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001B3D8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B3DC 48 34 6D F1 */ bl _savegpr_25 -/* 8001B3E0 7C 7C 1B 78 */ mr r28, r3 -/* 8001B3E4 7C 88 23 78 */ mr r8, r4 -/* 8001B3E8 7C BD 2B 78 */ mr r29, r5 -/* 8001B3EC 7C DE 33 78 */ mr r30, r6 -/* 8001B3F0 7C FF 3B 78 */ mr r31, r7 -/* 8001B3F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B3F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B3FC 3B 63 4E C8 */ addi r27, r3, 0x4ec8 -/* 8001B400 38 00 00 00 */ li r0, 0 -/* 8001B404 88 83 4F AD */ lbz r4, 0x4fad(r3) -/* 8001B408 28 04 00 00 */ cmplwi r4, 0 -/* 8001B40C 41 82 00 0C */ beq lbl_8001B418 -/* 8001B410 28 04 00 02 */ cmplwi r4, 2 -/* 8001B414 40 82 00 08 */ bne lbl_8001B41C -lbl_8001B418: -/* 8001B418 38 00 00 01 */ li r0, 1 -lbl_8001B41C: -/* 8001B41C 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B420 40 82 00 20 */ bne lbl_8001B440 -/* 8001B424 57 C0 05 6B */ rlwinm. r0, r30, 0, 0x15, 0x15 -/* 8001B428 41 82 00 10 */ beq lbl_8001B438 -/* 8001B42C 80 1B 00 F8 */ lwz r0, 0xf8(r27) -/* 8001B430 7C 00 E0 40 */ cmplw r0, r28 -/* 8001B434 41 82 00 0C */ beq lbl_8001B440 -lbl_8001B438: -/* 8001B438 38 60 00 00 */ li r3, 0 -/* 8001B43C 48 00 00 8C */ b lbl_8001B4C8 -lbl_8001B440: -/* 8001B440 3B 43 4F F8 */ addi r26, r3, 0x4ff8 -/* 8001B444 7F 43 D3 78 */ mr r3, r26 -/* 8001B448 7F 84 E3 78 */ mr r4, r28 -/* 8001B44C 7D 05 43 78 */ mr r5, r8 -/* 8001B450 38 C0 00 FF */ li r6, 0xff -/* 8001B454 48 02 C3 05 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 8001B458 7C 79 1B 78 */ mr r25, r3 -/* 8001B45C 7F 20 07 35 */ extsh. r0, r25 -/* 8001B460 40 80 00 0C */ bge lbl_8001B46C -/* 8001B464 38 60 00 00 */ li r3, 0 -/* 8001B468 48 00 00 60 */ b lbl_8001B4C8 -lbl_8001B46C: -/* 8001B46C 7F 43 D3 78 */ mr r3, r26 -/* 8001B470 7F 84 E3 78 */ mr r4, r28 -/* 8001B474 7F 25 CB 78 */ mr r5, r25 -/* 8001B478 48 02 CD 7D */ bl getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs -/* 8001B47C 54 7A 04 3F */ clrlwi. r26, r3, 0x10 -/* 8001B480 40 82 00 08 */ bne lbl_8001B488 -/* 8001B484 3B 40 00 FF */ li r26, 0xff -lbl_8001B488: -/* 8001B488 57 E0 04 3F */ clrlwi. r0, r31, 0x10 -/* 8001B48C 41 82 00 08 */ beq lbl_8001B494 -/* 8001B490 7F FA FB 78 */ mr r26, r31 -lbl_8001B494: -/* 8001B494 7F C3 F3 78 */ mr r3, r30 -/* 8001B498 4B FF FB C1 */ bl event_second_actor__FUs -/* 8001B49C 7C 69 1B 78 */ mr r9, r3 -/* 8001B4A0 38 00 00 FF */ li r0, 0xff -/* 8001B4A4 90 01 00 08 */ stw r0, 8(r1) -/* 8001B4A8 7F 63 DB 78 */ mr r3, r27 -/* 8001B4AC 38 80 00 02 */ li r4, 2 -/* 8001B4B0 7F 45 D3 78 */ mr r5, r26 -/* 8001B4B4 7F C6 F3 78 */ mr r6, r30 -/* 8001B4B8 7F A7 EB 78 */ mr r7, r29 -/* 8001B4BC 7F 88 E3 78 */ mr r8, r28 -/* 8001B4C0 7F 2A CB 78 */ mr r10, r25 -/* 8001B4C4 48 02 61 A5 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B4C8: -/* 8001B4C8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B4CC 48 34 6D 4D */ bl _restgpr_25 -/* 8001B4D0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001B4D4 7C 08 03 A6 */ mtlr r0 -/* 8001B4D8 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001B4DC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs.s deleted file mode 100644 index dc3a3170dc..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_8001B908: -/* 8001B908 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001B90C 7C 08 02 A6 */ mflr r0 -/* 8001B910 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001B914 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B918 48 34 68 BD */ bl _savegpr_27 -/* 8001B91C 7C 7B 1B 78 */ mr r27, r3 -/* 8001B920 7C 9C 23 78 */ mr r28, r4 -/* 8001B924 7C BD 2B 78 */ mr r29, r5 -/* 8001B928 7C DE 33 78 */ mr r30, r6 -/* 8001B92C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B930 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B934 3B E3 4E C8 */ addi r31, r3, 0x4ec8 -/* 8001B938 38 00 00 00 */ li r0, 0 -/* 8001B93C 88 63 4F AD */ lbz r3, 0x4fad(r3) -/* 8001B940 28 03 00 00 */ cmplwi r3, 0 -/* 8001B944 41 82 00 0C */ beq lbl_8001B950 -/* 8001B948 28 03 00 02 */ cmplwi r3, 2 -/* 8001B94C 40 82 00 08 */ bne lbl_8001B954 -lbl_8001B950: -/* 8001B950 38 00 00 01 */ li r0, 1 -lbl_8001B954: -/* 8001B954 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B958 40 82 00 20 */ bne lbl_8001B978 -/* 8001B95C 57 80 05 6B */ rlwinm. r0, r28, 0, 0x15, 0x15 -/* 8001B960 41 82 00 10 */ beq lbl_8001B970 -/* 8001B964 80 1F 00 F8 */ lwz r0, 0xf8(r31) -/* 8001B968 7C 00 D8 40 */ cmplw r0, r27 -/* 8001B96C 41 82 00 0C */ beq lbl_8001B978 -lbl_8001B970: -/* 8001B970 38 60 00 00 */ li r3, 0 -/* 8001B974 48 00 00 44 */ b lbl_8001B9B8 -lbl_8001B978: -/* 8001B978 57 C0 04 3F */ clrlwi. r0, r30, 0x10 -/* 8001B97C 40 82 00 08 */ bne lbl_8001B984 -/* 8001B980 3B C0 00 FF */ li r30, 0xff -lbl_8001B984: -/* 8001B984 7F 83 E3 78 */ mr r3, r28 -/* 8001B988 4B FF F6 D1 */ bl event_second_actor__FUs -/* 8001B98C 7C 69 1B 78 */ mr r9, r3 -/* 8001B990 38 00 00 FF */ li r0, 0xff -/* 8001B994 90 01 00 08 */ stw r0, 8(r1) -/* 8001B998 7F E3 FB 78 */ mr r3, r31 -/* 8001B99C 38 80 00 04 */ li r4, 4 -/* 8001B9A0 7F C5 F3 78 */ mr r5, r30 -/* 8001B9A4 7F 86 E3 78 */ mr r6, r28 -/* 8001B9A8 7F A7 EB 78 */ mr r7, r29 -/* 8001B9AC 7F 68 DB 78 */ mr r8, r27 -/* 8001B9B0 39 40 FF FF */ li r10, -1 -/* 8001B9B4 48 02 5C B5 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B9B8: -/* 8001B9B8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001B9BC 48 34 68 65 */ bl _restgpr_27 -/* 8001B9C0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001B9C4 7C 08 03 A6 */ mtlr r0 -/* 8001B9C8 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001B9CC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s deleted file mode 100644 index 9b9f95458f..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8001B068: -/* 8001B068 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001B06C 7C 08 02 A6 */ mflr r0 -/* 8001B070 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001B074 7C 68 1B 78 */ mr r8, r3 -/* 8001B078 7C 89 23 78 */ mr r9, r4 -/* 8001B07C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B080 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B084 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8001B088 38 00 00 00 */ li r0, 0 -/* 8001B08C 88 83 00 E5 */ lbz r4, 0xe5(r3) -/* 8001B090 28 04 00 00 */ cmplwi r4, 0 -/* 8001B094 41 82 00 0C */ beq lbl_8001B0A0 -/* 8001B098 28 04 00 02 */ cmplwi r4, 2 -/* 8001B09C 40 82 00 08 */ bne lbl_8001B0A4 -lbl_8001B0A0: -/* 8001B0A0 38 00 00 01 */ li r0, 1 -lbl_8001B0A4: -/* 8001B0A4 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B0A8 40 82 00 20 */ bne lbl_8001B0C8 -/* 8001B0AC 54 C0 05 6B */ rlwinm. r0, r6, 0, 0x15, 0x15 -/* 8001B0B0 41 82 00 10 */ beq lbl_8001B0C0 -/* 8001B0B4 80 03 00 F8 */ lwz r0, 0xf8(r3) -/* 8001B0B8 7C 00 40 40 */ cmplw r0, r8 -/* 8001B0BC 41 82 00 0C */ beq lbl_8001B0C8 -lbl_8001B0C0: -/* 8001B0C0 38 60 00 00 */ li r3, 0 -/* 8001B0C4 48 00 00 28 */ b lbl_8001B0EC -lbl_8001B0C8: -/* 8001B0C8 54 A0 04 3F */ clrlwi. r0, r5, 0x10 -/* 8001B0CC 40 82 00 08 */ bne lbl_8001B0D4 -/* 8001B0D0 38 A0 01 FF */ li r5, 0x1ff -lbl_8001B0D4: -/* 8001B0D4 38 00 00 FF */ li r0, 0xff -/* 8001B0D8 90 01 00 08 */ stw r0, 8(r1) -/* 8001B0DC 38 80 00 00 */ li r4, 0 -/* 8001B0E0 38 E0 01 4F */ li r7, 0x14f -/* 8001B0E4 39 40 FF FF */ li r10, -1 -/* 8001B0E8 48 02 65 81 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B0EC: -/* 8001B0EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001B0F0 7C 08 03 A6 */ mtlr r0 -/* 8001B0F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001B0F8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs.s deleted file mode 100644 index a9beeafe4d..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_8001B0FC: -/* 8001B0FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001B100 7C 08 02 A6 */ mflr r0 -/* 8001B104 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001B108 7C 6A 1B 78 */ mr r10, r3 -/* 8001B10C 7C 88 23 78 */ mr r8, r4 -/* 8001B110 7C A9 2B 78 */ mr r9, r5 -/* 8001B114 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001B118 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001B11C 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8001B120 38 00 00 00 */ li r0, 0 -/* 8001B124 88 83 00 E5 */ lbz r4, 0xe5(r3) -/* 8001B128 28 04 00 00 */ cmplwi r4, 0 -/* 8001B12C 41 82 00 0C */ beq lbl_8001B138 -/* 8001B130 28 04 00 02 */ cmplwi r4, 2 -/* 8001B134 40 82 00 08 */ bne lbl_8001B13C -lbl_8001B138: -/* 8001B138 38 00 00 01 */ li r0, 1 -lbl_8001B13C: -/* 8001B13C 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001B140 40 82 00 20 */ bne lbl_8001B160 -/* 8001B144 54 E0 05 6B */ rlwinm. r0, r7, 0, 0x15, 0x15 -/* 8001B148 41 82 00 10 */ beq lbl_8001B158 -/* 8001B14C 80 03 00 F8 */ lwz r0, 0xf8(r3) -/* 8001B150 7C 00 40 40 */ cmplw r0, r8 -/* 8001B154 41 82 00 0C */ beq lbl_8001B160 -lbl_8001B158: -/* 8001B158 38 60 00 00 */ li r3, 0 -/* 8001B15C 48 00 00 30 */ b lbl_8001B18C -lbl_8001B160: -/* 8001B160 54 C0 04 3F */ clrlwi. r0, r6, 0x10 -/* 8001B164 40 82 00 08 */ bne lbl_8001B16C -/* 8001B168 38 C0 01 F4 */ li r6, 0x1f4 -lbl_8001B16C: -/* 8001B16C 38 00 00 FF */ li r0, 0xff -/* 8001B170 90 01 00 08 */ stw r0, 8(r1) -/* 8001B174 7D 44 53 78 */ mr r4, r10 -/* 8001B178 7C C5 33 78 */ mr r5, r6 -/* 8001B17C 7C E6 3B 78 */ mr r6, r7 -/* 8001B180 38 E0 01 4F */ li r7, 0x14f -/* 8001B184 39 40 FF FF */ li r10, -1 -/* 8001B188 48 02 64 E1 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001B18C: -/* 8001B18C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001B190 7C 08 03 A6 */ mtlr r0 -/* 8001B194 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001B198 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s b/asm/f_op/f_op_actor_mng/fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s deleted file mode 100644 index d05d309929..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8001BA7C: -/* 8001BA7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001BA80 7C 08 02 A6 */ mflr r0 -/* 8001BA84 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001BA88 7C 68 1B 78 */ mr r8, r3 -/* 8001BA8C 7C 89 23 78 */ mr r9, r4 -/* 8001BA90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001BA94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001BA98 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8001BA9C 38 00 00 00 */ li r0, 0 -/* 8001BAA0 88 83 00 E5 */ lbz r4, 0xe5(r3) -/* 8001BAA4 28 04 00 00 */ cmplwi r4, 0 -/* 8001BAA8 41 82 00 0C */ beq lbl_8001BAB4 -/* 8001BAAC 28 04 00 02 */ cmplwi r4, 2 -/* 8001BAB0 40 82 00 08 */ bne lbl_8001BAB8 -lbl_8001BAB4: -/* 8001BAB4 38 00 00 01 */ li r0, 1 -lbl_8001BAB8: -/* 8001BAB8 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001BABC 40 82 00 20 */ bne lbl_8001BADC -/* 8001BAC0 54 C0 05 6B */ rlwinm. r0, r6, 0, 0x15, 0x15 -/* 8001BAC4 41 82 00 10 */ beq lbl_8001BAD4 -/* 8001BAC8 80 03 00 F8 */ lwz r0, 0xf8(r3) -/* 8001BACC 7C 00 40 40 */ cmplw r0, r8 -/* 8001BAD0 41 82 00 0C */ beq lbl_8001BADC -lbl_8001BAD4: -/* 8001BAD4 38 60 00 00 */ li r3, 0 -/* 8001BAD8 48 00 00 2C */ b lbl_8001BB04 -lbl_8001BADC: -/* 8001BADC 54 A0 04 3F */ clrlwi. r0, r5, 0x10 -/* 8001BAE0 40 82 00 08 */ bne lbl_8001BAE8 -/* 8001BAE4 38 A0 00 FF */ li r5, 0xff -lbl_8001BAE8: -/* 8001BAE8 38 00 00 FF */ li r0, 0xff -/* 8001BAEC 90 01 00 08 */ stw r0, 8(r1) -/* 8001BAF0 38 80 00 0B */ li r4, 0xb -/* 8001BAF4 3C E0 00 01 */ lis r7, 0x0001 /* 0x0000FFFF@ha */ -/* 8001BAF8 38 E7 FF FF */ addi r7, r7, 0xFFFF /* 0x0000FFFF@l */ -/* 8001BAFC 39 40 FF FF */ li r10, -1 -/* 8001BB00 48 02 5B 69 */ bl order__14dEvt_control_cFUsUsUsUsPvPvsUc -lbl_8001BB04: -/* 8001BB04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001BB08 7C 08 03 A6 */ mtlr r0 -/* 8001BB0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001BB10 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c.s deleted file mode 100644 index 5cb7ffee57..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_8001CDFC: -/* 8001CDFC 94 21 FF 60 */ stwu r1, -0xa0(r1) -/* 8001CE00 7C 08 02 A6 */ mflr r0 -/* 8001CE04 90 01 00 A4 */ stw r0, 0xa4(r1) -/* 8001CE08 93 E1 00 9C */ stw r31, 0x9c(r1) -/* 8001CE0C 93 C1 00 98 */ stw r30, 0x98(r1) -/* 8001CE10 7C 7E 1B 78 */ mr r30, r3 -/* 8001CE14 7C 9F 23 78 */ mr r31, r4 -/* 8001CE18 38 61 00 20 */ addi r3, r1, 0x20 -/* 8001CE1C 48 05 AE 4D */ bl __ct__11dBgS_LinChkFv -/* 8001CE20 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8001CE24 D0 01 00 08 */ stfs f0, 8(r1) -/* 8001CE28 C0 3F 04 D4 */ lfs f1, 0x4d4(r31) -/* 8001CE2C D0 21 00 0C */ stfs f1, 0xc(r1) -/* 8001CE30 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8001CE34 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8001CE38 C0 02 82 48 */ lfs f0, lit_6035(r2) -/* 8001CE3C EC 01 00 2A */ fadds f0, f1, f0 -/* 8001CE40 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8001CE44 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 8001CE48 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8001CE4C C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 8001CE50 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8001CE54 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 8001CE58 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8001CE5C C0 1E 05 3C */ lfs f0, 0x53c(r30) -/* 8001CE60 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8001CE64 38 61 00 20 */ addi r3, r1, 0x20 -/* 8001CE68 38 81 00 14 */ addi r4, r1, 0x14 -/* 8001CE6C 38 A1 00 08 */ addi r5, r1, 8 -/* 8001CE70 7F C6 F3 78 */ mr r6, r30 -/* 8001CE74 48 05 AE F1 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 8001CE78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001CE7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001CE80 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8001CE84 38 81 00 20 */ addi r4, r1, 0x20 -/* 8001CE88 48 05 75 2D */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 8001CE8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8001CE90 41 82 00 18 */ beq lbl_8001CEA8 -/* 8001CE94 38 61 00 20 */ addi r3, r1, 0x20 -/* 8001CE98 38 80 FF FF */ li r4, -1 -/* 8001CE9C 48 05 AE 41 */ bl __dt__11dBgS_LinChkFv -/* 8001CEA0 38 60 00 01 */ li r3, 1 -/* 8001CEA4 48 00 00 14 */ b lbl_8001CEB8 -lbl_8001CEA8: -/* 8001CEA8 38 61 00 20 */ addi r3, r1, 0x20 -/* 8001CEAC 38 80 FF FF */ li r4, -1 -/* 8001CEB0 48 05 AE 2D */ bl __dt__11dBgS_LinChkFv -/* 8001CEB4 38 60 00 00 */ li r3, 0 -lbl_8001CEB8: -/* 8001CEB8 83 E1 00 9C */ lwz r31, 0x9c(r1) -/* 8001CEBC 83 C1 00 98 */ lwz r30, 0x98(r1) -/* 8001CEC0 80 01 00 A4 */ lwz r0, 0xa4(r1) -/* 8001CEC4 7C 08 03 A6 */ mtlr r0 -/* 8001CEC8 38 21 00 A0 */ addi r1, r1, 0xa0 -/* 8001CECC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_plAngleCheck__FPC10fopAc_ac_cs.s b/asm/f_op/f_op_actor_mng/fopAcM_plAngleCheck__FPC10fopAc_ac_cs.s deleted file mode 100644 index 140521a36f..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_plAngleCheck__FPC10fopAc_ac_cs.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8001CFD8: -/* 8001CFD8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001CFDC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001CFE0 80 A5 5D AC */ lwz r5, 0x5dac(r5) -/* 8001CFE4 A8 A5 04 E6 */ lha r5, 0x4e6(r5) -/* 8001CFE8 A8 03 04 E6 */ lha r0, 0x4e6(r3) -/* 8001CFEC 7C 05 00 50 */ subf r0, r5, r0 -/* 8001CFF0 7C 03 07 34 */ extsh r3, r0 -/* 8001CFF4 7C 80 07 34 */ extsh r0, r4 -/* 8001CFF8 7C 03 00 00 */ cmpw r3, r0 -/* 8001CFFC 41 81 00 1C */ bgt lbl_8001D018 -/* 8001D000 7C 04 00 D0 */ neg r0, r4 -/* 8001D004 7C 00 07 34 */ extsh r0, r0 -/* 8001D008 7C 03 00 00 */ cmpw r3, r0 -/* 8001D00C 41 80 00 0C */ blt lbl_8001D018 -/* 8001D010 38 60 00 00 */ li r3, 0 -/* 8001D014 4E 80 00 20 */ blr -lbl_8001D018: -/* 8001D018 38 60 00 01 */ li r3, 1 -/* 8001D01C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif.s b/asm/f_op/f_op_actor_mng/fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif.s deleted file mode 100644 index 730d87fe0d..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif.s +++ /dev/null @@ -1,94 +0,0 @@ -lbl_8001AAE0: -/* 8001AAE0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8001AAE4 7C 08 02 A6 */ mflr r0 -/* 8001AAE8 90 01 00 44 */ stw r0, 0x44(r1) -/* 8001AAEC DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8001AAF0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8001AAF4 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 8001AAF8 F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 8001AAFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001AB00 48 34 76 D5 */ bl _savegpr_27 -/* 8001AB04 7C 7B 1B 78 */ mr r27, r3 -/* 8001AB08 7C 9C 23 78 */ mr r28, r4 -/* 8001AB0C 7C BD 2B 78 */ mr r29, r5 -/* 8001AB10 FF C0 20 90 */ fmr f30, f4 -/* 8001AB14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001AB18 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001AB1C 80 9F 5D AC */ lwz r4, 0x5dac(r31) -/* 8001AB20 7C 9E 23 78 */ mr r30, r4 -/* 8001AB24 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 8001AB28 7C 04 18 40 */ cmplw r4, r3 -/* 8001AB2C 41 82 00 0C */ beq lbl_8001AB38 -/* 8001AB30 38 60 00 00 */ li r3, 0 -/* 8001AB34 48 00 00 E4 */ b lbl_8001AC18 -lbl_8001AB38: -/* 8001AB38 C0 02 82 20 */ lfs f0, lit_4922(r2) -/* 8001AB3C EF E0 08 2A */ fadds f31, f0, f1 -/* 8001AB40 80 03 05 74 */ lwz r0, 0x574(r3) -/* 8001AB44 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8001AB48 41 82 00 0C */ beq lbl_8001AB54 -/* 8001AB4C C0 02 82 24 */ lfs f0, lit_4923(r2) -/* 8001AB50 EF FF 00 2A */ fadds f31, f31, f0 -lbl_8001AB54: -/* 8001AB54 C0 24 04 D4 */ lfs f1, 0x4d4(r4) -/* 8001AB58 C0 1B 04 D4 */ lfs f0, 0x4d4(r27) -/* 8001AB5C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8001AB60 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 8001AB64 40 81 00 B0 */ ble lbl_8001AC14 -/* 8001AB68 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 8001AB6C 40 80 00 A8 */ bge lbl_8001AC14 -/* 8001AB70 7F C3 F3 78 */ mr r3, r30 -/* 8001AB74 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8001AB78 81 8C 00 48 */ lwz r12, 0x48(r12) -/* 8001AB7C 7D 89 03 A6 */ mtctr r12 -/* 8001AB80 4E 80 04 21 */ bctrl -/* 8001AB84 2C 03 00 00 */ cmpwi r3, 0 -/* 8001AB88 40 82 00 20 */ bne lbl_8001ABA8 -/* 8001AB8C 7F C3 F3 78 */ mr r3, r30 -/* 8001AB90 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8001AB94 81 8C 00 4C */ lwz r12, 0x4c(r12) -/* 8001AB98 7D 89 03 A6 */ mtctr r12 -/* 8001AB9C 4E 80 04 21 */ bctrl -/* 8001ABA0 2C 03 00 00 */ cmpwi r3, 0 -/* 8001ABA4 41 82 00 70 */ beq lbl_8001AC14 -lbl_8001ABA8: -/* 8001ABA8 7F 63 DB 78 */ mr r3, r27 -/* 8001ABAC 80 9F 5D AC */ lwz r4, 0x5dac(r31) -/* 8001ABB0 4B FF FE E5 */ bl fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 8001ABB4 EC 1F 07 F2 */ fmuls f0, f31, f31 -/* 8001ABB8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8001ABBC 40 80 00 58 */ bge lbl_8001AC14 -/* 8001ABC0 7F 63 DB 78 */ mr r3, r27 -/* 8001ABC4 80 9F 5D AC */ lwz r4, 0x5dac(r31) -/* 8001ABC8 4B FF FB 49 */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 8001ABCC 3C 80 80 44 */ lis r4, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8001ABD0 38 84 9A 20 */ addi r4, r4, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8001ABD4 A8 1E 04 DE */ lha r0, 0x4de(r30) -/* 8001ABD8 7C 03 00 50 */ subf r0, r3, r0 -/* 8001ABDC 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8001ABE0 7C 64 02 14 */ add r3, r4, r0 -/* 8001ABE4 C0 03 00 04 */ lfs f0, 4(r3) -/* 8001ABE8 FC 00 F0 40 */ fcmpo cr0, f0, f30 -/* 8001ABEC 40 80 00 28 */ bge lbl_8001AC14 -/* 8001ABF0 7F C3 F3 78 */ mr r3, r30 -/* 8001ABF4 57 84 06 3E */ clrlwi r4, r28, 0x18 -/* 8001ABF8 7F A5 EB 78 */ mr r5, r29 -/* 8001ABFC 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8001AC00 81 8C 01 2C */ lwz r12, 0x12c(r12) -/* 8001AC04 7D 89 03 A6 */ mtctr r12 -/* 8001AC08 4E 80 04 21 */ bctrl -/* 8001AC0C 38 60 00 01 */ li r3, 1 -/* 8001AC10 48 00 00 08 */ b lbl_8001AC18 -lbl_8001AC14: -/* 8001AC14 38 60 00 00 */ li r3, 0 -lbl_8001AC18: -/* 8001AC18 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8001AC1C CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8001AC20 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 8001AC24 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 8001AC28 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001AC2C 48 34 75 F5 */ bl _restgpr_27 -/* 8001AC30 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8001AC34 7C 08 03 A6 */ mtlr r0 -/* 8001AC38 38 21 00 40 */ addi r1, r1, 0x40 -/* 8001AC3C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_searchFromName__FPCcUlUl.s b/asm/f_op/f_op_actor_mng/fopAcM_searchFromName__FPCcUlUl.s deleted file mode 100644 index d8f9d8e4e9..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_searchFromName__FPCcUlUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8001D698: -/* 8001D698 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001D69C 7C 08 02 A6 */ mflr r0 -/* 8001D6A0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001D6A4 90 81 00 08 */ stw r4, 8(r1) -/* 8001D6A8 90 A1 00 0C */ stw r5, 0xc(r1) -/* 8001D6AC 48 00 77 15 */ bl dStage_searchName__FPCc -/* 8001D6B0 28 03 00 00 */ cmplwi r3, 0 -/* 8001D6B4 40 82 00 0C */ bne lbl_8001D6C0 -/* 8001D6B8 38 60 00 00 */ li r3, 0 -/* 8001D6BC 48 00 00 24 */ b lbl_8001D6E0 -lbl_8001D6C0: -/* 8001D6C0 A8 03 00 08 */ lha r0, 8(r3) -/* 8001D6C4 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001D6C8 88 03 00 0A */ lbz r0, 0xa(r3) -/* 8001D6CC 98 01 00 12 */ stb r0, 0x12(r1) -/* 8001D6D0 3C 60 80 02 */ lis r3, fopAcM_findObjectCB__FPC10fopAc_ac_cPv@ha /* 0x8001D5EC@ha */ -/* 8001D6D4 38 63 D5 EC */ addi r3, r3, fopAcM_findObjectCB__FPC10fopAc_ac_cPv@l /* 0x8001D5EC@l */ -/* 8001D6D8 38 81 00 08 */ addi r4, r1, 8 -/* 8001D6DC 4B FF C1 1D */ bl fopAcIt_Judge__FPFPvPv_PvPv -lbl_8001D6E0: -/* 8001D6E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001D6E4 7C 08 03 A6 */ mtlr r0 -/* 8001D6E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001D6EC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_setCarryNow__FP10fopAc_ac_ci.s b/asm/f_op/f_op_actor_mng/fopAcM_setCarryNow__FP10fopAc_ac_ci.s deleted file mode 100644 index 6c1f13b166..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_setCarryNow__FP10fopAc_ac_ci.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8001CB48: -/* 8001CB48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001CB4C 7C 08 02 A6 */ mflr r0 -/* 8001CB50 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001CB54 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001CB58 7C 7F 1B 78 */ mr r31, r3 -/* 8001CB5C 80 03 04 9C */ lwz r0, 0x49c(r3) -/* 8001CB60 60 00 20 00 */ ori r0, r0, 0x2000 -/* 8001CB64 90 03 04 9C */ stw r0, 0x49c(r3) -/* 8001CB68 2C 04 00 00 */ cmpwi r4, 0 -/* 8001CB6C 41 82 00 20 */ beq lbl_8001CB8C -/* 8001CB70 4B FF CD 55 */ bl fopAcM_setStageLayer__FPv -/* 8001CB74 A0 9F 04 94 */ lhz r4, 0x494(r31) -/* 8001CB78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001CB7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001CB80 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8001CB84 7C 05 07 74 */ extsb r5, r0 -/* 8001CB88 48 01 8A BD */ bl onActor__10dSv_info_cFii -lbl_8001CB8C: -/* 8001CB8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001CB90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001CB94 7C 08 03 A6 */ mtlr r0 -/* 8001CB98 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001CB9C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData.s b/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData.s deleted file mode 100644 index cf4d7c0299..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8001A578: -/* 8001A578 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001A57C 7C 08 02 A6 */ mflr r0 -/* 8001A580 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001A584 80 84 00 28 */ lwz r4, 0x28(r4) -/* 8001A588 80 84 00 00 */ lwz r4, 0(r4) -/* 8001A58C C0 C3 04 F4 */ lfs f6, 0x4f4(r3) -/* 8001A590 C0 A3 04 F0 */ lfs f5, 0x4f0(r3) -/* 8001A594 C0 83 04 EC */ lfs f4, 0x4ec(r3) -/* 8001A598 C0 04 00 3C */ lfs f0, 0x3c(r4) -/* 8001A59C EC 24 00 32 */ fmuls f1, f4, f0 -/* 8001A5A0 C0 04 00 40 */ lfs f0, 0x40(r4) -/* 8001A5A4 EC 45 00 32 */ fmuls f2, f5, f0 -/* 8001A5A8 C0 04 00 44 */ lfs f0, 0x44(r4) -/* 8001A5AC EC 66 00 32 */ fmuls f3, f6, f0 -/* 8001A5B0 C0 04 00 48 */ lfs f0, 0x48(r4) -/* 8001A5B4 EC 84 00 32 */ fmuls f4, f4, f0 -/* 8001A5B8 C0 04 00 4C */ lfs f0, 0x4c(r4) -/* 8001A5BC EC A5 00 32 */ fmuls f5, f5, f0 -/* 8001A5C0 C0 04 00 50 */ lfs f0, 0x50(r4) -/* 8001A5C4 EC C6 00 32 */ fmuls f6, f6, f0 -/* 8001A5C8 4B FF FF 81 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 8001A5CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A5D0 7C 08 03 A6 */ mtlr r0 -/* 8001A5D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001A5D8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_setRoomLayer__FPvi.s b/asm/f_op/f_op_actor_mng/fopAcM_setRoomLayer__FPvi.s deleted file mode 100644 index 84df37e60a..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_setRoomLayer__FPvi.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80019934: -/* 80019934 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80019938 7C 08 02 A6 */ mflr r0 -/* 8001993C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80019940 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80019944 93 C1 00 08 */ stw r30, 8(r1) -/* 80019948 7C 7E 1B 78 */ mr r30, r3 -/* 8001994C 2C 04 00 00 */ cmpwi r4, 0 -/* 80019950 41 80 00 54 */ blt lbl_800199A4 -/* 80019954 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 80019958 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8001995C 1C 04 04 04 */ mulli r0, r4, 0x404 -/* 80019960 7C 63 02 14 */ add r3, r3, r0 -/* 80019964 80 63 03 FC */ lwz r3, 0x3fc(r3) -/* 80019968 48 00 53 49 */ bl fopScnM_SearchByID__FUi -/* 8001996C 7C 7F 1B 78 */ mr r31, r3 -/* 80019970 80 6D 87 C0 */ lwz r3, g_fpcNd_type(r13) -/* 80019974 80 9F 00 B4 */ lwz r4, 0xb4(r31) -/* 80019978 48 00 6C D5 */ bl fpcBs_Is_JustOfType__Fii -/* 8001997C 2C 03 00 00 */ cmpwi r3, 0 -/* 80019980 41 82 00 0C */ beq lbl_8001998C -/* 80019984 80 9F 00 C8 */ lwz r4, 0xc8(r31) -/* 80019988 48 00 00 08 */ b lbl_80019990 -lbl_8001998C: -/* 8001998C 38 80 FF FF */ li r4, -1 -lbl_80019990: -/* 80019990 38 7E 00 68 */ addi r3, r30, 0x68 -/* 80019994 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000FFFD@ha */ -/* 80019998 38 A5 FF FD */ addi r5, r5, 0xFFFD /* 0x0000FFFD@l */ -/* 8001999C 7C A6 2B 78 */ mr r6, r5 -/* 800199A0 48 00 99 49 */ bl fpcPi_Change__FP22process_priority_classUiUsUs -lbl_800199A4: -/* 800199A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800199A8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800199AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800199B0 7C 08 03 A6 */ mtlr r0 -/* 800199B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800199B8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_setStageLayer__FPv.s b/asm/f_op/f_op_actor_mng/fopAcM_setStageLayer__FPv.s deleted file mode 100644 index f80f9feaf2..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_setStageLayer__FPv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800198C4: -/* 800198C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800198C8 7C 08 02 A6 */ mflr r0 -/* 800198CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800198D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800198D4 93 C1 00 08 */ stw r30, 8(r1) -/* 800198D8 7C 7E 1B 78 */ mr r30, r3 -/* 800198DC 80 6D 87 E0 */ lwz r3, mProcID__20dStage_roomControl_c(r13) -/* 800198E0 48 00 53 D1 */ bl fopScnM_SearchByID__FUi -/* 800198E4 7C 7F 1B 78 */ mr r31, r3 -/* 800198E8 80 6D 87 C0 */ lwz r3, g_fpcNd_type(r13) -/* 800198EC 80 9F 00 B4 */ lwz r4, 0xb4(r31) -/* 800198F0 48 00 6D 5D */ bl fpcBs_Is_JustOfType__Fii -/* 800198F4 2C 03 00 00 */ cmpwi r3, 0 -/* 800198F8 41 82 00 0C */ beq lbl_80019904 -/* 800198FC 80 9F 00 C8 */ lwz r4, 0xc8(r31) -/* 80019900 48 00 00 08 */ b lbl_80019908 -lbl_80019904: -/* 80019904 38 80 FF FF */ li r4, -1 -lbl_80019908: -/* 80019908 38 7E 00 68 */ addi r3, r30, 0x68 -/* 8001990C 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000FFFD@ha */ -/* 80019910 38 A5 FF FD */ addi r5, r5, 0xFFFD /* 0x0000FFFD@l */ -/* 80019914 7C A6 2B 78 */ mr r6, r5 -/* 80019918 48 00 99 D1 */ bl fpcPi_Change__FP22process_priority_classUiUsUs -/* 8001991C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80019920 83 C1 00 08 */ lwz r30, 8(r1) -/* 80019924 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019928 7C 08 03 A6 */ mtlr r0 -/* 8001992C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80019930 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_wayBgCheck__FPC10fopAc_ac_cff.s b/asm/f_op/f_op_actor_mng/fopAcM_wayBgCheck__FPC10fopAc_ac_cff.s deleted file mode 100644 index bf17f3f01b..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_wayBgCheck__FPC10fopAc_ac_cff.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_8001CED0: -/* 8001CED0 94 21 FF 30 */ stwu r1, -0xd0(r1) -/* 8001CED4 7C 08 02 A6 */ mflr r0 -/* 8001CED8 90 01 00 D4 */ stw r0, 0xd4(r1) -/* 8001CEDC DB E1 00 C0 */ stfd f31, 0xc0(r1) -/* 8001CEE0 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, 0 /* qr0 */ -/* 8001CEE4 DB C1 00 B0 */ stfd f30, 0xb0(r1) -/* 8001CEE8 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, 0 /* qr0 */ -/* 8001CEEC 93 E1 00 AC */ stw r31, 0xac(r1) -/* 8001CEF0 7C 7F 1B 78 */ mr r31, r3 -/* 8001CEF4 FF C0 08 90 */ fmr f30, f1 -/* 8001CEF8 FF E0 10 90 */ fmr f31, f2 -/* 8001CEFC 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001CF00 48 05 AD 69 */ bl __ct__11dBgS_LinChkFv -/* 8001CF04 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8001CF08 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8001CF0C C0 3F 04 D4 */ lfs f1, 0x4d4(r31) -/* 8001CF10 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 8001CF14 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8001CF18 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8001CF1C EC 01 F8 2A */ fadds f0, f1, f31 -/* 8001CF20 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8001CF24 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 8001CF28 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 8001CF2C 4B FE F4 B1 */ bl mDoMtx_YrotS__FPA4_fs -/* 8001CF30 C0 02 82 04 */ lfs f0, lit_4645(r2) -/* 8001CF34 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8001CF38 C0 02 82 4C */ lfs f0, lit_6068(r2) -/* 8001CF3C D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8001CF40 D3 C1 00 28 */ stfs f30, 0x28(r1) -/* 8001CF44 38 61 00 20 */ addi r3, r1, 0x20 -/* 8001CF48 38 81 00 08 */ addi r4, r1, 8 -/* 8001CF4C 48 25 3F A1 */ bl MtxPosition__FP4cXyzP4cXyz -/* 8001CF50 38 61 00 08 */ addi r3, r1, 8 -/* 8001CF54 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8001CF58 7C 65 1B 78 */ mr r5, r3 -/* 8001CF5C 48 32 A1 35 */ bl PSVECAdd -/* 8001CF60 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001CF64 38 81 00 14 */ addi r4, r1, 0x14 -/* 8001CF68 38 A1 00 08 */ addi r5, r1, 8 -/* 8001CF6C 7F E6 FB 78 */ mr r6, r31 -/* 8001CF70 48 05 AD F5 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 8001CF74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8001CF78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8001CF7C 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8001CF80 38 81 00 2C */ addi r4, r1, 0x2c -/* 8001CF84 48 05 74 31 */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 8001CF88 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8001CF8C 41 82 00 18 */ beq lbl_8001CFA4 -/* 8001CF90 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001CF94 38 80 FF FF */ li r4, -1 -/* 8001CF98 48 05 AD 45 */ bl __dt__11dBgS_LinChkFv -/* 8001CF9C 38 60 00 01 */ li r3, 1 -/* 8001CFA0 48 00 00 14 */ b lbl_8001CFB4 -lbl_8001CFA4: -/* 8001CFA4 38 61 00 2C */ addi r3, r1, 0x2c -/* 8001CFA8 38 80 FF FF */ li r4, -1 -/* 8001CFAC 48 05 AD 31 */ bl __dt__11dBgS_LinChkFv -/* 8001CFB0 38 60 00 00 */ li r3, 0 -lbl_8001CFB4: -/* 8001CFB4 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, 0 /* qr0 */ -/* 8001CFB8 CB E1 00 C0 */ lfd f31, 0xc0(r1) -/* 8001CFBC E3 C1 00 B8 */ psq_l f30, 184(r1), 0, 0 /* qr0 */ -/* 8001CFC0 CB C1 00 B0 */ lfd f30, 0xb0(r1) -/* 8001CFC4 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 8001CFC8 80 01 00 D4 */ lwz r0, 0xd4(r1) -/* 8001CFCC 7C 08 03 A6 */ mtlr r0 -/* 8001CFD0 38 21 00 D0 */ addi r1, r1, 0xd0 -/* 8001CFD4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz.s b/asm/f_op/f_op_actor_mng/fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz.s deleted file mode 100644 index 872dba1152..0000000000 --- a/asm/f_op/f_op_actor_mng/fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8001D900: -/* 8001D900 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001D904 7C 08 02 A6 */ mflr r0 -/* 8001D908 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001D90C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8001D910 93 C1 00 28 */ stw r30, 0x28(r1) -/* 8001D914 7C 66 1B 78 */ mr r6, r3 -/* 8001D918 7C BE 2B 78 */ mr r30, r5 -/* 8001D91C A8 03 04 E6 */ lha r0, 0x4e6(r3) -/* 8001D920 7C 00 00 D0 */ neg r0, r0 -/* 8001D924 7C 1F 07 34 */ extsh r31, r0 -/* 8001D928 38 61 00 08 */ addi r3, r1, 8 -/* 8001D92C 38 A6 04 D0 */ addi r5, r6, 0x4d0 -/* 8001D930 48 24 92 05 */ bl __mi__4cXyzCFRC3Vec -/* 8001D934 C0 81 00 08 */ lfs f4, 8(r1) -/* 8001D938 D0 81 00 14 */ stfs f4, 0x14(r1) -/* 8001D93C C0 61 00 0C */ lfs f3, 0xc(r1) -/* 8001D940 D0 61 00 18 */ stfs f3, 0x18(r1) -/* 8001D944 C0 41 00 10 */ lfs f2, 0x10(r1) -/* 8001D948 D0 41 00 1C */ stfs f2, 0x1c(r1) -/* 8001D94C 57 E0 04 38 */ rlwinm r0, r31, 0, 0x10, 0x1c -/* 8001D950 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8001D954 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8001D958 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8001D95C EC 22 00 32 */ fmuls f1, f2, f0 -/* 8001D960 7C 83 02 14 */ add r4, r3, r0 -/* 8001D964 C0 04 00 04 */ lfs f0, 4(r4) -/* 8001D968 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8001D96C EC 01 00 2A */ fadds f0, f1, f0 -/* 8001D970 D0 1E 00 00 */ stfs f0, 0(r30) -/* 8001D974 D0 7E 00 04 */ stfs f3, 4(r30) -/* 8001D978 C0 04 00 04 */ lfs f0, 4(r4) -/* 8001D97C EC 22 00 32 */ fmuls f1, f2, f0 -/* 8001D980 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8001D984 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8001D988 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8001D98C D0 1E 00 08 */ stfs f0, 8(r30) -/* 8001D990 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8001D994 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 8001D998 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001D99C 7C 08 03 A6 */ mtlr r0 -/* 8001D9A0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001D9A4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/developKeyCheck__FUlUl.s b/asm/m_Do/m_Do_machine/developKeyCheck__FUlUl.s deleted file mode 100644 index 2a9908f84a..0000000000 --- a/asm/m_Do/m_Do_machine/developKeyCheck__FUlUl.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8000B68C: -/* 8000B68C 28 04 00 74 */ cmplwi r4, 0x74 -/* 8000B690 40 82 00 4C */ bne lbl_8000B6DC -/* 8000B694 28 03 00 04 */ cmplwi r3, 4 -/* 8000B698 40 82 00 44 */ bne lbl_8000B6DC -/* 8000B69C 88 0D 86 95 */ lbz r0, struct_80450C10+0x5(r13) -/* 8000B6A0 28 00 00 03 */ cmplwi r0, 3 -/* 8000B6A4 40 82 00 28 */ bne lbl_8000B6CC -/* 8000B6A8 88 0D 86 96 */ lbz r0, struct_80450C10+0x6(r13) -/* 8000B6AC 28 00 00 06 */ cmplwi r0, 6 -/* 8000B6B0 40 82 00 1C */ bne lbl_8000B6CC -/* 8000B6B4 88 0D 86 97 */ lbz r0, struct_80450C10+0x7(r13) -/* 8000B6B8 28 00 00 05 */ cmplwi r0, 5 -/* 8000B6BC 40 82 00 10 */ bne lbl_8000B6CC -/* 8000B6C0 38 00 00 01 */ li r0, 1 -/* 8000B6C4 98 0D 80 00 */ stb r0, data_80450580(r13) -/* 8000B6C8 48 00 00 14 */ b lbl_8000B6DC -lbl_8000B6CC: -/* 8000B6CC 38 00 00 00 */ li r0, 0 -/* 8000B6D0 98 0D 86 95 */ stb r0, struct_80450C10+0x5(r13) -/* 8000B6D4 98 0D 86 96 */ stb r0, struct_80450C10+0x6(r13) -/* 8000B6D8 98 0D 86 97 */ stb r0, struct_80450C10+0x7(r13) -lbl_8000B6DC: -/* 8000B6DC 28 04 00 42 */ cmplwi r4, 0x42 -/* 8000B6E0 40 82 00 18 */ bne lbl_8000B6F8 -/* 8000B6E4 28 03 00 40 */ cmplwi r3, 0x40 -/* 8000B6E8 40 82 00 10 */ bne lbl_8000B6F8 -/* 8000B6EC 88 AD 86 95 */ lbz r5, struct_80450C10+0x5(r13) -/* 8000B6F0 38 05 00 01 */ addi r0, r5, 1 -/* 8000B6F4 98 0D 86 95 */ stb r0, struct_80450C10+0x5(r13) -lbl_8000B6F8: -/* 8000B6F8 28 04 00 28 */ cmplwi r4, 0x28 -/* 8000B6FC 40 82 00 18 */ bne lbl_8000B714 -/* 8000B700 28 03 00 20 */ cmplwi r3, 0x20 -/* 8000B704 40 82 00 10 */ bne lbl_8000B714 -/* 8000B708 88 AD 86 96 */ lbz r5, struct_80450C10+0x6(r13) -/* 8000B70C 38 05 00 01 */ addi r0, r5, 1 -/* 8000B710 98 0D 86 96 */ stb r0, struct_80450C10+0x6(r13) -lbl_8000B714: -/* 8000B714 28 04 00 11 */ cmplwi r4, 0x11 -/* 8000B718 40 82 00 18 */ bne lbl_8000B730 -/* 8000B71C 28 03 00 10 */ cmplwi r3, 0x10 -/* 8000B720 40 82 00 10 */ bne lbl_8000B730 -/* 8000B724 88 6D 86 97 */ lbz r3, struct_80450C10+0x7(r13) -/* 8000B728 38 03 00 01 */ addi r0, r3, 1 -/* 8000B72C 98 0D 86 97 */ stb r0, struct_80450C10+0x7(r13) -lbl_8000B730: -/* 8000B730 88 6D 80 00 */ lbz r3, data_80450580(r13) -/* 8000B734 7C 63 07 74 */ extsb r3, r3 -/* 8000B738 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/myGetHeapTypeByString__FP7JKRHeap.s b/asm/m_Do/m_Do_machine/myGetHeapTypeByString__FP7JKRHeap.s deleted file mode 100644 index 4627bc3af0..0000000000 --- a/asm/m_Do/m_Do_machine/myGetHeapTypeByString__FP7JKRHeap.s +++ /dev/null @@ -1,146 +0,0 @@ -lbl_8000B1EC: -/* 8000B1EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8000B1F0 7C 08 02 A6 */ mflr r0 -/* 8000B1F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8000B1F8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8000B1FC 7C 7F 1B 78 */ mr r31, r3 -/* 8000B200 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap(r13) -/* 8000B204 7C 1F 00 40 */ cmplw r31, r0 -/* 8000B208 40 82 00 10 */ bne lbl_8000B218 -/* 8000B20C 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B210 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B214 48 00 01 C4 */ b lbl_8000B3D8 -lbl_8000B218: -/* 8000B218 48 00 3B 69 */ bl mDoExt_getZeldaHeap__Fv -/* 8000B21C 7C 1F 18 40 */ cmplw r31, r3 -/* 8000B220 40 82 00 14 */ bne lbl_8000B234 -/* 8000B224 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B228 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B22C 38 63 00 0B */ addi r3, r3, 0xb -/* 8000B230 48 00 01 A8 */ b lbl_8000B3D8 -lbl_8000B234: -/* 8000B234 48 00 3B 1D */ bl mDoExt_getGameHeap__Fv -/* 8000B238 7C 1F 18 40 */ cmplw r31, r3 -/* 8000B23C 40 82 00 14 */ bne lbl_8000B250 -/* 8000B240 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B244 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B248 38 63 00 15 */ addi r3, r3, 0x15 -/* 8000B24C 48 00 01 8C */ b lbl_8000B3D8 -lbl_8000B250: -/* 8000B250 48 00 3B 9D */ bl mDoExt_getArchiveHeap__Fv -/* 8000B254 7C 1F 18 40 */ cmplw r31, r3 -/* 8000B258 40 82 00 14 */ bne lbl_8000B26C -/* 8000B25C 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B260 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B264 38 63 00 1E */ addi r3, r3, 0x1e -/* 8000B268 48 00 01 70 */ b lbl_8000B3D8 -lbl_8000B26C: -/* 8000B26C 48 00 3B 45 */ bl mDoExt_getCommandHeap__Fv -/* 8000B270 7C 1F 18 40 */ cmplw r31, r3 -/* 8000B274 40 82 00 14 */ bne lbl_8000B288 -/* 8000B278 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B27C 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B280 38 63 00 2A */ addi r3, r3, 0x2a -/* 8000B284 48 00 01 54 */ b lbl_8000B3D8 -lbl_8000B288: -/* 8000B288 48 00 3A 8D */ bl mDoExt_getDbPrintHeap__Fv -/* 8000B28C 7C 1F 18 40 */ cmplw r31, r3 -/* 8000B290 40 82 00 14 */ bne lbl_8000B2A4 -/* 8000B294 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B298 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B29C 38 63 00 36 */ addi r3, r3, 0x36 -/* 8000B2A0 48 00 01 38 */ b lbl_8000B3D8 -lbl_8000B2A4: -/* 8000B2A4 48 00 3B 8D */ bl mDoExt_getJ2dHeap__Fv -/* 8000B2A8 7C 1F 18 40 */ cmplw r31, r3 -/* 8000B2AC 40 82 00 14 */ bne lbl_8000B2C0 -/* 8000B2B0 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B2B4 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B2B8 38 63 00 42 */ addi r3, r3, 0x42 -/* 8000B2BC 48 00 01 1C */ b lbl_8000B3D8 -lbl_8000B2C0: -/* 8000B2C0 7F E3 FB 78 */ mr r3, r31 -/* 8000B2C4 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000B2C8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8000B2CC 7D 89 03 A6 */ mtctr r12 -/* 8000B2D0 4E 80 04 21 */ bctrl -/* 8000B2D4 3C 80 53 4C */ lis r4, 0x534C /* 0x534C4944@ha */ -/* 8000B2D8 38 04 49 44 */ addi r0, r4, 0x4944 /* 0x534C4944@l */ -/* 8000B2DC 7C 03 00 00 */ cmpw r3, r0 -/* 8000B2E0 41 82 00 84 */ beq lbl_8000B364 -/* 8000B2E4 40 80 00 38 */ bge lbl_8000B31C -/* 8000B2E8 3C 80 41 53 */ lis r4, 0x4153 /* 0x41535448@ha */ -/* 8000B2EC 38 04 54 48 */ addi r0, r4, 0x5448 /* 0x41535448@l */ -/* 8000B2F0 7C 03 00 00 */ cmpw r3, r0 -/* 8000B2F4 41 82 00 50 */ beq lbl_8000B344 -/* 8000B2F8 40 80 00 10 */ bge lbl_8000B308 -/* 8000B2FC 2C 03 00 00 */ cmpwi r3, 0 -/* 8000B300 41 82 00 94 */ beq lbl_8000B394 -/* 8000B304 48 00 00 A0 */ b lbl_8000B3A4 -lbl_8000B308: -/* 8000B308 3C 80 45 58 */ lis r4, 0x4558 /* 0x45585048@ha */ -/* 8000B30C 38 04 50 48 */ addi r0, r4, 0x5048 /* 0x45585048@l */ -/* 8000B310 7C 03 00 00 */ cmpw r3, r0 -/* 8000B314 41 82 00 40 */ beq lbl_8000B354 -/* 8000B318 48 00 00 8C */ b lbl_8000B3A4 -lbl_8000B31C: -/* 8000B31C 3C 80 55 4E */ lis r4, 0x554E /* 0x554E4954@ha */ -/* 8000B320 38 04 49 54 */ addi r0, r4, 0x4954 /* 0x554E4954@l */ -/* 8000B324 7C 03 00 00 */ cmpw r3, r0 -/* 8000B328 41 82 00 5C */ beq lbl_8000B384 -/* 8000B32C 40 80 00 78 */ bge lbl_8000B3A4 -/* 8000B330 3C 80 53 54 */ lis r4, 0x5354 /* 0x53544448@ha */ -/* 8000B334 38 04 44 48 */ addi r0, r4, 0x4448 /* 0x53544448@l */ -/* 8000B338 7C 03 00 00 */ cmpw r3, r0 -/* 8000B33C 41 82 00 38 */ beq lbl_8000B374 -/* 8000B340 48 00 00 64 */ b lbl_8000B3A4 -lbl_8000B344: -/* 8000B344 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B348 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B34C 38 63 00 4A */ addi r3, r3, 0x4a -/* 8000B350 48 00 00 88 */ b lbl_8000B3D8 -lbl_8000B354: -/* 8000B354 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B358 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B35C 38 63 00 4F */ addi r3, r3, 0x4f -/* 8000B360 48 00 00 78 */ b lbl_8000B3D8 -lbl_8000B364: -/* 8000B364 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B368 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B36C 38 63 00 54 */ addi r3, r3, 0x54 -/* 8000B370 48 00 00 68 */ b lbl_8000B3D8 -lbl_8000B374: -/* 8000B374 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B378 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B37C 38 63 00 59 */ addi r3, r3, 0x59 -/* 8000B380 48 00 00 58 */ b lbl_8000B3D8 -lbl_8000B384: -/* 8000B384 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B388 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B38C 38 63 00 5E */ addi r3, r3, 0x5e -/* 8000B390 48 00 00 48 */ b lbl_8000B3D8 -lbl_8000B394: -/* 8000B394 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B398 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B39C 38 63 00 63 */ addi r3, r3, 0x63 -/* 8000B3A0 48 00 00 38 */ b lbl_8000B3D8 -lbl_8000B3A4: -/* 8000B3A4 90 61 00 08 */ stw r3, 8(r1) -/* 8000B3A8 88 01 00 08 */ lbz r0, 8(r1) -/* 8000B3AC 98 0D 86 90 */ stb r0, struct_80450C10+0x0(r13) -/* 8000B3B0 88 01 00 09 */ lbz r0, 9(r1) -/* 8000B3B4 38 6D 86 90 */ la r3, struct_80450C10+0x0(r13) /* 80450C10-_SDA_BASE_ */ -/* 8000B3B8 98 03 00 01 */ stb r0, 1(r3) -/* 8000B3BC 88 01 00 0A */ lbz r0, 0xa(r1) -/* 8000B3C0 98 03 00 02 */ stb r0, 2(r3) -/* 8000B3C4 88 01 00 0B */ lbz r0, 0xb(r1) -/* 8000B3C8 98 03 00 03 */ stb r0, 3(r3) -/* 8000B3CC 38 00 00 00 */ li r0, 0 -/* 8000B3D0 98 03 00 04 */ stb r0, 4(r3) -/* 8000B3D4 38 6D 86 90 */ la r3, struct_80450C10+0x0(r13) /* 80450C10-_SDA_BASE_ */ -lbl_8000B3D8: -/* 8000B3D8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8000B3DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000B3E0 7C 08 03 A6 */ mtlr r0 -/* 8000B3E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8000B3E8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/myHeapCheckRecursive__FP7JKRHeap.s b/asm/m_Do/m_Do_machine/myHeapCheckRecursive__FP7JKRHeap.s deleted file mode 100644 index de6c558605..0000000000 --- a/asm/m_Do/m_Do_machine/myHeapCheckRecursive__FP7JKRHeap.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_8000B5C8: -/* 8000B5C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000B5CC 7C 08 02 A6 */ mflr r0 -/* 8000B5D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B5D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000B5D8 7C 7F 1B 78 */ mr r31, r3 -/* 8000B5DC 81 83 00 00 */ lwz r12, 0(r3) -/* 8000B5E0 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8000B5E4 7D 89 03 A6 */ mtctr r12 -/* 8000B5E8 4E 80 04 21 */ bctrl -/* 8000B5EC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8000B5F0 40 82 00 28 */ bne lbl_8000B618 -/* 8000B5F4 7F E3 FB 78 */ mr r3, r31 -/* 8000B5F8 4B FF FB F5 */ bl myGetHeapTypeByString__FP7JKRHeap -/* 8000B5FC 7C 65 1B 78 */ mr r5, r3 -/* 8000B600 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B604 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B608 38 63 01 06 */ addi r3, r3, 0x106 -/* 8000B60C 7F E4 FB 78 */ mr r4, r31 -/* 8000B610 4C C6 31 82 */ crclr 6 -/* 8000B614 4B FF B5 F9 */ bl OSReport_Error -lbl_8000B618: -/* 8000B618 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 8000B61C 28 03 00 00 */ cmplwi r3, 0 -/* 8000B620 41 82 00 08 */ beq lbl_8000B628 -/* 8000B624 38 63 FF F4 */ addi r3, r3, -12 -lbl_8000B628: -/* 8000B628 7C 7F 1B 78 */ mr r31, r3 -/* 8000B62C 48 00 00 20 */ b lbl_8000B64C -lbl_8000B630: -/* 8000B630 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8000B634 4B FF FF 95 */ bl myHeapCheckRecursive__FP7JKRHeap -/* 8000B638 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8000B63C 28 03 00 00 */ cmplwi r3, 0 -/* 8000B640 41 82 00 08 */ beq lbl_8000B648 -/* 8000B644 38 63 FF F4 */ addi r3, r3, -12 -lbl_8000B648: -/* 8000B648 7C 7F 1B 78 */ mr r31, r3 -lbl_8000B64C: -/* 8000B64C 28 1F 00 00 */ cmplwi r31, 0 -/* 8000B650 40 82 FF E0 */ bne lbl_8000B630 -/* 8000B654 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000B658 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000B65C 7C 08 03 A6 */ mtlr r0 -/* 8000B660 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000B664 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/myMemoryErrorRoutine__FPvUli.s b/asm/m_Do/m_Do_machine/myMemoryErrorRoutine__FPvUli.s deleted file mode 100644 index ccda9981e7..0000000000 --- a/asm/m_Do/m_Do_machine/myMemoryErrorRoutine__FPvUli.s +++ /dev/null @@ -1,130 +0,0 @@ -lbl_8000B3EC: -/* 8000B3EC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8000B3F0 7C 08 02 A6 */ mflr r0 -/* 8000B3F4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8000B3F8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8000B3FC 48 35 6D DD */ bl _savegpr_28 -/* 8000B400 7C 7F 1B 78 */ mr r31, r3 -/* 8000B404 7C 9E 23 78 */ mr r30, r4 -/* 8000B408 7C BD 2B 78 */ mr r29, r5 -/* 8000B40C 3B 80 00 01 */ li r28, 1 -/* 8000B410 81 83 00 00 */ lwz r12, 0(r3) -/* 8000B414 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8000B418 7D 89 03 A6 */ mtctr r12 -/* 8000B41C 4E 80 04 21 */ bctrl -/* 8000B420 3C 03 AC B4 */ addis r0, r3, 0xacb4 -/* 8000B424 28 00 49 44 */ cmplwi r0, 0x4944 -/* 8000B428 40 82 00 08 */ bne lbl_8000B430 -/* 8000B42C 3B 80 00 00 */ li r28, 0 -lbl_8000B430: -/* 8000B430 2C 1C 00 00 */ cmpwi r28, 0 -/* 8000B434 41 82 00 28 */ beq lbl_8000B45C -/* 8000B438 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B43C 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B440 38 63 00 6A */ addi r3, r3, 0x6a -/* 8000B444 7F C4 F3 78 */ mr r4, r30 -/* 8000B448 7F C5 F3 78 */ mr r5, r30 -/* 8000B44C 7F A6 EB 78 */ mr r6, r29 -/* 8000B450 7F E7 FB 78 */ mr r7, r31 -/* 8000B454 4C C6 31 82 */ crclr 6 -/* 8000B458 4B FF B7 B5 */ bl OSReport_Error -lbl_8000B45C: -/* 8000B45C 7F E3 FB 78 */ mr r3, r31 -/* 8000B460 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000B464 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8000B468 7D 89 03 A6 */ mtctr r12 -/* 8000B46C 4E 80 04 21 */ bctrl -/* 8000B470 90 61 00 10 */ stw r3, 0x10(r1) -/* 8000B474 2C 1C 00 00 */ cmpwi r28, 0 -/* 8000B478 41 82 00 60 */ beq lbl_8000B4D8 -/* 8000B47C 83 9F 00 38 */ lwz r28, 0x38(r31) -/* 8000B480 7F E3 FB 78 */ mr r3, r31 -/* 8000B484 4B FF FD 69 */ bl myGetHeapTypeByString__FP7JKRHeap -/* 8000B488 7C 7D 1B 78 */ mr r29, r3 -/* 8000B48C 7F E3 FB 78 */ mr r3, r31 -/* 8000B490 48 2C 32 F5 */ bl getTotalFreeSize__7JKRHeapFv -/* 8000B494 7C 7E 1B 78 */ mr r30, r3 -/* 8000B498 7F E3 FB 78 */ mr r3, r31 -/* 8000B49C 48 2C 32 91 */ bl getFreeSize__7JKRHeapFv -/* 8000B4A0 7C 64 1B 78 */ mr r4, r3 -/* 8000B4A4 93 81 00 08 */ stw r28, 8(r1) -/* 8000B4A8 93 A1 00 0C */ stw r29, 0xc(r1) -/* 8000B4AC 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B4B0 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B4B4 38 63 00 BB */ addi r3, r3, 0xbb -/* 8000B4B8 7F C5 F3 78 */ mr r5, r30 -/* 8000B4BC 80 C1 00 10 */ lwz r6, 0x10(r1) -/* 8000B4C0 88 E1 00 10 */ lbz r7, 0x10(r1) -/* 8000B4C4 89 01 00 11 */ lbz r8, 0x11(r1) -/* 8000B4C8 89 21 00 12 */ lbz r9, 0x12(r1) -/* 8000B4CC 89 41 00 13 */ lbz r10, 0x13(r1) -/* 8000B4D0 4C C6 31 82 */ crclr 6 -/* 8000B4D4 4B FF B7 39 */ bl OSReport_Error -lbl_8000B4D8: -/* 8000B4D8 80 0D 86 8C */ lwz r0, heapErrors(r13) -/* 8000B4DC 28 00 00 00 */ cmplwi r0, 0 -/* 8000B4E0 40 82 00 18 */ bne lbl_8000B4F8 -/* 8000B4E4 7F E3 FB 78 */ mr r3, r31 -/* 8000B4E8 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000B4EC 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8000B4F0 7D 89 03 A6 */ mtctr r12 -/* 8000B4F4 4E 80 04 21 */ bctrl -lbl_8000B4F8: -/* 8000B4F8 80 6D 86 8C */ lwz r3, heapErrors(r13) -/* 8000B4FC 38 03 00 01 */ addi r0, r3, 1 -/* 8000B500 90 0D 86 8C */ stw r0, heapErrors(r13) -/* 8000B504 80 0D 86 AC */ lwz r0, zeldaHeap(r13) -/* 8000B508 7C 1F 00 40 */ cmplw r31, r0 -/* 8000B50C 40 82 00 14 */ bne lbl_8000B520 -/* 8000B510 80 6D 86 7C */ lwz r3, zeldaHeapErrors(r13) -/* 8000B514 38 03 00 01 */ addi r0, r3, 1 -/* 8000B518 90 0D 86 7C */ stw r0, zeldaHeapErrors(r13) -/* 8000B51C 48 00 00 94 */ b lbl_8000B5B0 -lbl_8000B520: -/* 8000B520 80 0D 86 A8 */ lwz r0, gameHeap(r13) -/* 8000B524 7C 1F 00 40 */ cmplw r31, r0 -/* 8000B528 40 82 00 14 */ bne lbl_8000B53C -/* 8000B52C 80 6D 86 78 */ lwz r3, gameHeapErrors(r13) -/* 8000B530 38 03 00 01 */ addi r0, r3, 1 -/* 8000B534 90 0D 86 78 */ stw r0, gameHeapErrors(r13) -/* 8000B538 48 00 00 78 */ b lbl_8000B5B0 -lbl_8000B53C: -/* 8000B53C 80 0D 86 B0 */ lwz r0, commandHeap(r13) -/* 8000B540 7C 1F 00 40 */ cmplw r31, r0 -/* 8000B544 40 82 00 14 */ bne lbl_8000B558 -/* 8000B548 80 6D 86 80 */ lwz r3, commandHeapErrors(r13) -/* 8000B54C 38 03 00 01 */ addi r0, r3, 1 -/* 8000B550 90 0D 86 80 */ stw r0, commandHeapErrors(r13) -/* 8000B554 48 00 00 5C */ b lbl_8000B5B0 -lbl_8000B558: -/* 8000B558 80 0D 86 B4 */ lwz r0, archiveHeap(r13) -/* 8000B55C 7C 1F 00 40 */ cmplw r31, r0 -/* 8000B560 40 82 00 14 */ bne lbl_8000B574 -/* 8000B564 80 6D 86 84 */ lwz r3, archiveHeapErrors(r13) -/* 8000B568 38 03 00 01 */ addi r0, r3, 1 -/* 8000B56C 90 0D 86 84 */ stw r0, archiveHeapErrors(r13) -/* 8000B570 48 00 00 40 */ b lbl_8000B5B0 -lbl_8000B574: -/* 8000B574 7F E3 FB 78 */ mr r3, r31 -/* 8000B578 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000B57C 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8000B580 7D 89 03 A6 */ mtctr r12 -/* 8000B584 4E 80 04 21 */ bctrl -/* 8000B588 3C 03 AC B4 */ addis r0, r3, 0xacb4 -/* 8000B58C 28 00 49 44 */ cmplwi r0, 0x4944 -/* 8000B590 40 82 00 14 */ bne lbl_8000B5A4 -/* 8000B594 80 6D 86 74 */ lwz r3, solidHeapErrors(r13) -/* 8000B598 38 03 00 01 */ addi r0, r3, 1 -/* 8000B59C 90 0D 86 74 */ stw r0, solidHeapErrors(r13) -/* 8000B5A0 48 00 00 10 */ b lbl_8000B5B0 -lbl_8000B5A4: -/* 8000B5A4 80 6D 86 88 */ lwz r3, unknownHeapErrors(r13) -/* 8000B5A8 38 03 00 01 */ addi r0, r3, 1 -/* 8000B5AC 90 0D 86 88 */ stw r0, unknownHeapErrors(r13) -lbl_8000B5B0: -/* 8000B5B0 39 61 00 30 */ addi r11, r1, 0x30 -/* 8000B5B4 48 35 6C 71 */ bl _restgpr_28 -/* 8000B5B8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8000B5BC 7C 08 03 A6 */ mtlr r0 -/* 8000B5C0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8000B5C4 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/__ct__14dMsgScrnBase_cFv.s b/asm/msg/scrn/d_msg_scrn_base/__ct__14dMsgScrnBase_cFv.s deleted file mode 100644 index 5aea278e5a..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/__ct__14dMsgScrnBase_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8023C0DC: -/* 8023C0DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C0E0 7C 08 02 A6 */ mflr r0 -/* 8023C0E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C0E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023C0EC 7C 7F 1B 78 */ mr r31, r3 -/* 8023C0F0 3C 80 80 3A */ lis r4, __vt__12dDlst_base_c@ha /* 0x803A6F88@ha */ -/* 8023C0F4 38 04 6F 88 */ addi r0, r4, __vt__12dDlst_base_c@l /* 0x803A6F88@l */ -/* 8023C0F8 90 03 00 00 */ stw r0, 0(r3) -/* 8023C0FC 3C 80 80 3C */ lis r4, __vt__14dMsgScrnBase_c@ha /* 0x803C0D58@ha */ -/* 8023C100 38 04 0D 58 */ addi r0, r4, __vt__14dMsgScrnBase_c@l /* 0x803C0D58@l */ -/* 8023C104 90 03 00 00 */ stw r0, 0(r3) -/* 8023C108 48 00 00 65 */ bl init__14dMsgScrnBase_cFv -/* 8023C10C 7F E3 FB 78 */ mr r3, r31 -/* 8023C110 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023C114 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C118 7C 08 03 A6 */ mtlr r0 -/* 8023C11C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C120 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/__dt__14dMsgScrnBase_cFv.s b/asm/msg/scrn/d_msg_scrn_base/__dt__14dMsgScrnBase_cFv.s deleted file mode 100644 index 3553fa981a..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/__dt__14dMsgScrnBase_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8023C124: -/* 8023C124 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C128 7C 08 02 A6 */ mflr r0 -/* 8023C12C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C130 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023C134 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8023C138 41 82 00 1C */ beq lbl_8023C154 -/* 8023C13C 3C A0 80 3C */ lis r5, __vt__14dMsgScrnBase_c@ha /* 0x803C0D58@ha */ -/* 8023C140 38 05 0D 58 */ addi r0, r5, __vt__14dMsgScrnBase_c@l /* 0x803C0D58@l */ -/* 8023C144 90 1F 00 00 */ stw r0, 0(r31) -/* 8023C148 7C 80 07 35 */ extsh. r0, r4 -/* 8023C14C 40 81 00 08 */ ble lbl_8023C154 -/* 8023C150 48 09 2B ED */ bl __dl__FPv -lbl_8023C154: -/* 8023C154 7F E3 FB 78 */ mr r3, r31 -/* 8023C158 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023C15C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C160 7C 08 03 A6 */ mtlr r0 -/* 8023C164 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C168 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/drawOutFont__14dMsgScrnBase_cFfff.s b/asm/msg/scrn/d_msg_scrn_base/drawOutFont__14dMsgScrnBase_cFfff.s deleted file mode 100644 index 9e1eaf6e91..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/drawOutFont__14dMsgScrnBase_cFfff.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8023C32C: -/* 8023C32C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C330 7C 08 02 A6 */ mflr r0 -/* 8023C334 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C338 80 63 00 44 */ lwz r3, 0x44(r3) -/* 8023C33C 38 80 00 00 */ li r4, 0 -/* 8023C340 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C344 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8023C348 7D 89 03 A6 */ mtctr r12 -/* 8023C34C 4E 80 04 21 */ bctrl -/* 8023C350 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C354 7C 08 03 A6 */ mtlr r0 -/* 8023C358 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C35C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/drawSelf__14dMsgScrnBase_cFv.s b/asm/msg/scrn/d_msg_scrn_base/drawSelf__14dMsgScrnBase_cFv.s deleted file mode 100644 index cb4878e554..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/drawSelf__14dMsgScrnBase_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8023C300: -/* 8023C300 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C304 7C 08 02 A6 */ mflr r0 -/* 8023C308 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C30C C0 22 B1 A8 */ lfs f1, lit_3820(r2) -/* 8023C310 FC 40 08 90 */ fmr f2, f1 -/* 8023C314 C0 62 B1 AC */ lfs f3, lit_3821(r2) -/* 8023C318 48 00 00 15 */ bl drawOutFont__14dMsgScrnBase_cFfff -/* 8023C31C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C320 7C 08 03 A6 */ mtlr r0 -/* 8023C324 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C328 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/draw__14dMsgScrnBase_cFv.s b/asm/msg/scrn/d_msg_scrn_base/draw__14dMsgScrnBase_cFv.s deleted file mode 100644 index 399161ab43..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/draw__14dMsgScrnBase_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8023C274: -/* 8023C274 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C278 7C 08 02 A6 */ mflr r0 -/* 8023C27C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C280 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023C284 93 C1 00 08 */ stw r30, 8(r1) -/* 8023C288 7C 7E 1B 78 */ mr r30, r3 -/* 8023C28C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023C290 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023C294 83 E3 5F 50 */ lwz r31, 0x5f50(r3) -/* 8023C298 7F E3 FB 78 */ mr r3, r31 -/* 8023C29C 81 9F 00 00 */ lwz r12, 0(r31) -/* 8023C2A0 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8023C2A4 7D 89 03 A6 */ mtctr r12 -/* 8023C2A8 4E 80 04 21 */ bctrl -/* 8023C2AC 80 7E 00 04 */ lwz r3, 4(r30) -/* 8023C2B0 C0 22 B1 A8 */ lfs f1, lit_3820(r2) -/* 8023C2B4 FC 40 08 90 */ fmr f2, f1 -/* 8023C2B8 7F E4 FB 78 */ mr r4, r31 -/* 8023C2BC 48 0B CC 19 */ bl draw__9J2DScreenFffPC14J2DGrafContext -/* 8023C2C0 7F C3 F3 78 */ mr r3, r30 -/* 8023C2C4 81 9E 00 00 */ lwz r12, 0(r30) -/* 8023C2C8 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8023C2CC 7D 89 03 A6 */ mtctr r12 -/* 8023C2D0 4E 80 04 21 */ bctrl -/* 8023C2D4 7F E3 FB 78 */ mr r3, r31 -/* 8023C2D8 81 9F 00 00 */ lwz r12, 0(r31) -/* 8023C2DC 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8023C2E0 7D 89 03 A6 */ mtctr r12 -/* 8023C2E4 4E 80 04 21 */ bctrl -/* 8023C2E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023C2EC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8023C2F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C2F4 7C 08 03 A6 */ mtlr r0 -/* 8023C2F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C2FC 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/fontAlpha__14dMsgScrnBase_cFf.s b/asm/msg/scrn/d_msg_scrn_base/fontAlpha__14dMsgScrnBase_cFf.s deleted file mode 100644 index 3a747b2e92..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/fontAlpha__14dMsgScrnBase_cFf.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8023C4F4: -/* 8023C4F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023C4F8 7C 08 02 A6 */ mflr r0 -/* 8023C4FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023C500 DB E1 00 18 */ stfd f31, 0x18(r1) -/* 8023C504 39 61 00 18 */ addi r11, r1, 0x18 -/* 8023C508 48 12 5C D1 */ bl _savegpr_28 -/* 8023C50C 7C 7C 1B 78 */ mr r28, r3 -/* 8023C510 FF E0 08 90 */ fmr f31, f1 -/* 8023C514 3B A0 00 00 */ li r29, 0 -/* 8023C518 3B E0 00 00 */ li r31, 0 -lbl_8023C51C: -/* 8023C51C 7F DC FA 14 */ add r30, r28, r31 -/* 8023C520 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C524 28 03 00 00 */ cmplwi r3, 0 -/* 8023C528 41 82 00 0C */ beq lbl_8023C534 -/* 8023C52C FC 20 F8 90 */ fmr f1, f31 -/* 8023C530 48 01 92 A1 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_8023C534: -/* 8023C534 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 8023C538 28 03 00 00 */ cmplwi r3, 0 -/* 8023C53C 41 82 00 0C */ beq lbl_8023C548 -/* 8023C540 FC 20 F8 90 */ fmr f1, f31 -/* 8023C544 48 01 92 8D */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_8023C548: -/* 8023C548 3B BD 00 01 */ addi r29, r29, 1 -/* 8023C54C 2C 1D 00 07 */ cmpwi r29, 7 -/* 8023C550 3B FF 00 04 */ addi r31, r31, 4 -/* 8023C554 41 80 FF C8 */ blt lbl_8023C51C -/* 8023C558 CB E1 00 18 */ lfd f31, 0x18(r1) -/* 8023C55C 39 61 00 18 */ addi r11, r1, 0x18 -/* 8023C560 48 12 5C C5 */ bl _restgpr_28 -/* 8023C564 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023C568 7C 08 03 A6 */ mtlr r0 -/* 8023C56C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023C570 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/fukiAlpha__14dMsgScrnBase_cFf.s b/asm/msg/scrn/d_msg_scrn_base/fukiAlpha__14dMsgScrnBase_cFf.s deleted file mode 100644 index d4020d7d0e..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/fukiAlpha__14dMsgScrnBase_cFf.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8023C4A4: -/* 8023C4A4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023C4A8 7C 08 02 A6 */ mflr r0 -/* 8023C4AC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023C4B0 DB E1 00 18 */ stfd f31, 0x18(r1) -/* 8023C4B4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8023C4B8 7C 7F 1B 78 */ mr r31, r3 -/* 8023C4BC FF E0 08 90 */ fmr f31, f1 -/* 8023C4C0 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C4C4 81 8C 00 50 */ lwz r12, 0x50(r12) -/* 8023C4C8 7D 89 03 A6 */ mtctr r12 -/* 8023C4CC 4E 80 04 21 */ bctrl -/* 8023C4D0 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023C4D4 FC 20 F8 90 */ fmr f1, f31 -/* 8023C4D8 48 01 92 F9 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8023C4DC CB E1 00 18 */ lfd f31, 0x18(r1) -/* 8023C4E0 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8023C4E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023C4E8 7C 08 03 A6 */ mtlr r0 -/* 8023C4EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023C4F0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/fukiScale__14dMsgScrnBase_cFf.s b/asm/msg/scrn/d_msg_scrn_base/fukiScale__14dMsgScrnBase_cFf.s deleted file mode 100644 index 81c2265bc0..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/fukiScale__14dMsgScrnBase_cFf.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8023C458: -/* 8023C458 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C45C 7C 08 02 A6 */ mflr r0 -/* 8023C460 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C464 80 63 00 08 */ lwz r3, 8(r3) -/* 8023C468 FC 40 08 90 */ fmr f2, f1 -/* 8023C46C 48 01 81 CD */ bl paneScale__8CPaneMgrFff -/* 8023C470 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C474 7C 08 03 A6 */ mtlr r0 -/* 8023C478 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C47C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/fukiTrans__14dMsgScrnBase_cFff.s b/asm/msg/scrn/d_msg_scrn_base/fukiTrans__14dMsgScrnBase_cFff.s deleted file mode 100644 index fab4991a79..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/fukiTrans__14dMsgScrnBase_cFff.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023C480: -/* 8023C480 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C484 7C 08 02 A6 */ mflr r0 -/* 8023C488 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C48C 80 63 00 08 */ lwz r3, 8(r3) -/* 8023C490 48 01 81 21 */ bl paneTrans__8CPaneMgrFff -/* 8023C494 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C498 7C 08 03 A6 */ mtlr r0 -/* 8023C49C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C4A0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/init__14dMsgScrnBase_cFv.s b/asm/msg/scrn/d_msg_scrn_base/init__14dMsgScrnBase_cFv.s deleted file mode 100644 index 0790ee7b7e..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/init__14dMsgScrnBase_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_8023C16C: -/* 8023C16C 38 A0 00 00 */ li r5, 0 -/* 8023C170 90 A3 00 04 */ stw r5, 4(r3) -/* 8023C174 90 A3 00 08 */ stw r5, 8(r3) -/* 8023C178 90 A3 00 54 */ stw r5, 0x54(r3) -/* 8023C17C 7C A4 2B 78 */ mr r4, r5 -/* 8023C180 38 00 00 07 */ li r0, 7 -/* 8023C184 7C 09 03 A6 */ mtctr r0 -lbl_8023C188: -/* 8023C188 7C C3 22 14 */ add r6, r3, r4 -/* 8023C18C 90 A6 00 0C */ stw r5, 0xc(r6) -/* 8023C190 90 A6 00 28 */ stw r5, 0x28(r6) -/* 8023C194 38 84 00 04 */ addi r4, r4, 4 -/* 8023C198 42 00 FF F0 */ bdnz lbl_8023C188 -/* 8023C19C 38 00 00 00 */ li r0, 0 -/* 8023C1A0 90 03 00 44 */ stw r0, 0x44(r3) -/* 8023C1A4 90 03 00 48 */ stw r0, 0x48(r3) -/* 8023C1A8 90 03 00 4C */ stw r0, 0x4c(r3) -/* 8023C1AC 90 03 00 50 */ stw r0, 0x50(r3) -/* 8023C1B0 C0 22 B1 A8 */ lfs f1, lit_3820(r2) -/* 8023C1B4 D0 23 00 5C */ stfs f1, 0x5c(r3) -/* 8023C1B8 D0 23 00 58 */ stfs f1, 0x58(r3) -/* 8023C1BC D0 23 00 60 */ stfs f1, 0x60(r3) -/* 8023C1C0 D0 23 00 64 */ stfs f1, 0x64(r3) -/* 8023C1C4 D0 23 00 68 */ stfs f1, 0x68(r3) -/* 8023C1C8 C0 02 B1 AC */ lfs f0, lit_3821(r2) -/* 8023C1CC D0 03 00 6C */ stfs f0, 0x6c(r3) -/* 8023C1D0 D0 03 00 70 */ stfs f0, 0x70(r3) -/* 8023C1D4 D0 23 00 74 */ stfs f1, 0x74(r3) -/* 8023C1D8 D0 23 00 78 */ stfs f1, 0x78(r3) -/* 8023C1DC D0 23 00 7C */ stfs f1, 0x7c(r3) -/* 8023C1E0 D0 23 00 80 */ stfs f1, 0x80(r3) -/* 8023C1E4 D0 23 00 84 */ stfs f1, 0x84(r3) -/* 8023C1E8 D0 23 00 88 */ stfs f1, 0x88(r3) -/* 8023C1EC D0 23 00 8C */ stfs f1, 0x8c(r3) -/* 8023C1F0 38 80 00 00 */ li r4, 0 -/* 8023C1F4 38 00 00 03 */ li r0, 3 -/* 8023C1F8 7C 09 03 A6 */ mtctr r0 -lbl_8023C1FC: -/* 8023C1FC 7C A3 22 14 */ add r5, r3, r4 -/* 8023C200 D0 25 00 90 */ stfs f1, 0x90(r5) -/* 8023C204 D0 25 00 9C */ stfs f1, 0x9c(r5) -/* 8023C208 38 84 00 04 */ addi r4, r4, 4 -/* 8023C20C 42 00 FF F0 */ bdnz lbl_8023C1FC -/* 8023C210 C0 02 B1 A8 */ lfs f0, lit_3820(r2) -/* 8023C214 D0 03 00 A8 */ stfs f0, 0xa8(r3) -/* 8023C218 D0 03 00 AC */ stfs f0, 0xac(r3) -/* 8023C21C D0 03 00 B0 */ stfs f0, 0xb0(r3) -/* 8023C220 D0 03 00 B4 */ stfs f0, 0xb4(r3) -/* 8023C224 D0 03 00 B8 */ stfs f0, 0xb8(r3) -/* 8023C228 C0 02 B1 AC */ lfs f0, lit_3821(r2) -/* 8023C22C D0 03 00 BC */ stfs f0, 0xbc(r3) -/* 8023C230 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/isTalkNow__14dMsgScrnBase_cFv.s b/asm/msg/scrn/d_msg_scrn_base/isTalkNow__14dMsgScrnBase_cFv.s deleted file mode 100644 index 52d6eaa97b..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/isTalkNow__14dMsgScrnBase_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8023C574: -/* 8023C574 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C578 7C 08 02 A6 */ mflr r0 -/* 8023C57C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C580 4B FF BC AD */ bl getStatus__12dMsgObject_cFv -/* 8023C584 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 8023C588 38 03 FF FB */ addi r0, r3, -5 -/* 8023C58C 28 00 00 13 */ cmplwi r0, 0x13 -/* 8023C590 41 81 00 24 */ bgt lbl_8023C5B4 -/* 8023C594 3C 60 80 3C */ lis r3, lit_3949@ha /* 0x803C0D08@ha */ -/* 8023C598 38 63 0D 08 */ addi r3, r3, lit_3949@l /* 0x803C0D08@l */ -/* 8023C59C 54 00 10 3A */ slwi r0, r0, 2 -/* 8023C5A0 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8023C5A4 7C 09 03 A6 */ mtctr r0 -/* 8023C5A8 4E 80 04 20 */ bctr -/* 8023C5AC 38 60 00 01 */ li r3, 1 -/* 8023C5B0 48 00 00 08 */ b lbl_8023C5B8 -lbl_8023C5B4: -/* 8023C5B4 38 60 00 00 */ li r3, 0 -lbl_8023C5B8: -/* 8023C5B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C5BC 7C 08 03 A6 */ mtlr r0 -/* 8023C5C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C5C4 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/multiDraw__14dMsgScrnBase_cFv.s b/asm/msg/scrn/d_msg_scrn_base/multiDraw__14dMsgScrnBase_cFv.s deleted file mode 100644 index bd2f237a89..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/multiDraw__14dMsgScrnBase_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8023C234: -/* 8023C234 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023C238 7C 08 02 A6 */ mflr r0 -/* 8023C23C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023C240 80 C3 00 48 */ lwz r6, 0x48(r3) -/* 8023C244 28 06 00 00 */ cmplwi r6, 0 -/* 8023C248 41 82 00 1C */ beq lbl_8023C264 -/* 8023C24C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023C250 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023C254 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8023C258 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 8023C25C 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 8023C260 4B E1 A5 35 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_8023C264: -/* 8023C264 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C268 7C 08 03 A6 */ mtlr r0 -/* 8023C26C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C270 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/setRubyString__14dMsgScrnBase_cFPc.s b/asm/msg/scrn/d_msg_scrn_base/setRubyString__14dMsgScrnBase_cFPc.s deleted file mode 100644 index e078f4af36..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/setRubyString__14dMsgScrnBase_cFPc.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8023C3EC: -/* 8023C3EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023C3F0 7C 08 02 A6 */ mflr r0 -/* 8023C3F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023C3F8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023C3FC 48 12 5D DD */ bl _savegpr_28 -/* 8023C400 7C 7C 1B 78 */ mr r28, r3 -/* 8023C404 7C 9D 23 78 */ mr r29, r4 -/* 8023C408 3B C0 00 00 */ li r30, 0 -/* 8023C40C 3B E0 00 00 */ li r31, 0 -lbl_8023C410: -/* 8023C410 38 1F 00 28 */ addi r0, r31, 0x28 -/* 8023C414 7C 7C 00 2E */ lwzx r3, r28, r0 -/* 8023C418 28 03 00 00 */ cmplwi r3, 0 -/* 8023C41C 41 82 00 14 */ beq lbl_8023C430 -/* 8023C420 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C424 48 0C 42 35 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023C428 7F A4 EB 78 */ mr r4, r29 -/* 8023C42C 48 12 C7 01 */ bl strcpy -lbl_8023C430: -/* 8023C430 3B DE 00 01 */ addi r30, r30, 1 -/* 8023C434 2C 1E 00 03 */ cmpwi r30, 3 -/* 8023C438 3B FF 00 04 */ addi r31, r31, 4 -/* 8023C43C 41 80 FF D4 */ blt lbl_8023C410 -/* 8023C440 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023C444 48 12 5D E1 */ bl _restgpr_28 -/* 8023C448 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023C44C 7C 08 03 A6 */ mtlr r0 -/* 8023C450 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023C454 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_base/setString__14dMsgScrnBase_cFPcPc.s b/asm/msg/scrn/d_msg_scrn_base/setString__14dMsgScrnBase_cFPcPc.s deleted file mode 100644 index c982f3dde0..0000000000 --- a/asm/msg/scrn/d_msg_scrn_base/setString__14dMsgScrnBase_cFPcPc.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8023C360: -/* 8023C360 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023C364 7C 08 02 A6 */ mflr r0 -/* 8023C368 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023C36C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023C370 48 12 5E 65 */ bl _savegpr_27 -/* 8023C374 7C 7B 1B 78 */ mr r27, r3 -/* 8023C378 7C 9C 23 78 */ mr r28, r4 -/* 8023C37C 7C BD 2B 78 */ mr r29, r5 -/* 8023C380 3B C0 00 00 */ li r30, 0 -/* 8023C384 3B E0 00 00 */ li r31, 0 -lbl_8023C388: -/* 8023C388 38 1F 00 0C */ addi r0, r31, 0xc -/* 8023C38C 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 8023C390 28 03 00 00 */ cmplwi r3, 0 -/* 8023C394 41 82 00 30 */ beq lbl_8023C3C4 -/* 8023C398 2C 1E 00 00 */ cmpwi r30, 0 -/* 8023C39C 40 82 00 18 */ bne lbl_8023C3B4 -/* 8023C3A0 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C3A4 48 0C 42 B5 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023C3A8 7F 84 E3 78 */ mr r4, r28 -/* 8023C3AC 48 12 C7 81 */ bl strcpy -/* 8023C3B0 48 00 00 14 */ b lbl_8023C3C4 -lbl_8023C3B4: -/* 8023C3B4 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C3B8 48 0C 42 A1 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023C3BC 7F A4 EB 78 */ mr r4, r29 -/* 8023C3C0 48 12 C7 6D */ bl strcpy -lbl_8023C3C4: -/* 8023C3C4 3B DE 00 01 */ addi r30, r30, 1 -/* 8023C3C8 2C 1E 00 07 */ cmpwi r30, 7 -/* 8023C3CC 3B FF 00 04 */ addi r31, r31, 4 -/* 8023C3D0 41 80 FF B8 */ blt lbl_8023C388 -/* 8023C3D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023C3D8 48 12 5E 49 */ bl _restgpr_27 -/* 8023C3DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023C3E0 7C 08 03 A6 */ mtlr r0 -/* 8023C3E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023C3E8 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_boss/__ct__14dMsgScrnBoss_cFv.s b/asm/msg/scrn/d_msg_scrn_boss/__ct__14dMsgScrnBoss_cFv.s deleted file mode 100644 index c03d52d39c..0000000000 --- a/asm/msg/scrn/d_msg_scrn_boss/__ct__14dMsgScrnBoss_cFv.s +++ /dev/null @@ -1,224 +0,0 @@ -lbl_8023C5C8: -/* 8023C5C8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8023C5CC 7C 08 02 A6 */ mflr r0 -/* 8023C5D0 90 01 00 34 */ stw r0, 0x34(r1) -/* 8023C5D4 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8023C5D8 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8023C5DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023C5E0 48 12 5B F1 */ bl _savegpr_26 -/* 8023C5E4 7C 7E 1B 78 */ mr r30, r3 -/* 8023C5E8 4B FF FA F5 */ bl __ct__14dMsgScrnBase_cFv -/* 8023C5EC 3C 60 80 3C */ lis r3, __vt__14dMsgScrnBoss_c@ha /* 0x803C0DE8@ha */ -/* 8023C5F0 38 03 0D E8 */ addi r0, r3, __vt__14dMsgScrnBoss_c@l /* 0x803C0DE8@l */ -/* 8023C5F4 90 1E 00 00 */ stw r0, 0(r30) -/* 8023C5F8 7F C3 F3 78 */ mr r3, r30 -/* 8023C5FC 4B FF FB 71 */ bl init__14dMsgScrnBase_cFv -/* 8023C600 38 60 01 18 */ li r3, 0x118 -/* 8023C604 48 09 26 49 */ bl __nw__FUl -/* 8023C608 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023C60C 41 82 00 0C */ beq lbl_8023C618 -/* 8023C610 48 0B BE 89 */ bl __ct__9J2DScreenFv -/* 8023C614 7C 60 1B 78 */ mr r0, r3 -lbl_8023C618: -/* 8023C618 90 1E 00 04 */ stw r0, 4(r30) -/* 8023C61C 80 7E 00 04 */ lwz r3, 4(r30) -/* 8023C620 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_boss__stringBase0@ha /* 0x803998F8@ha */ -/* 8023C624 38 84 98 F8 */ addi r4, r4, msg_scrn_d_msg_scrn_boss__stringBase0@l /* 0x803998F8@l */ -/* 8023C628 3C A0 00 02 */ lis r5, 2 -/* 8023C62C 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023C630 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023C634 80 C6 5C 7C */ lwz r6, 0x5c7c(r6) -/* 8023C638 48 0B C0 11 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 8023C63C 80 7E 00 04 */ lwz r3, 4(r30) -/* 8023C640 48 01 8A A9 */ bl dPaneClass_showNullPane__FP9J2DScreen -/* 8023C644 38 60 00 6C */ li r3, 0x6c -/* 8023C648 48 09 26 05 */ bl __nw__FUl -/* 8023C64C 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023C650 41 82 00 24 */ beq lbl_8023C674 -/* 8023C654 80 9E 00 04 */ lwz r4, 4(r30) -/* 8023C658 3C A0 5F 61 */ lis r5, 0x5F61 /* 0x5F616C6C@ha */ -/* 8023C65C 38 C5 6C 6C */ addi r6, r5, 0x6C6C /* 0x5F616C6C@l */ -/* 8023C660 38 A0 00 6E */ li r5, 0x6e -/* 8023C664 38 E0 00 02 */ li r7, 2 -/* 8023C668 39 00 00 00 */ li r8, 0 -/* 8023C66C 48 01 73 19 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023C670 7C 60 1B 78 */ mr r0, r3 -lbl_8023C674: -/* 8023C674 90 1E 00 08 */ stw r0, 8(r30) -/* 8023C678 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023C67C 38 83 02 8C */ addi r4, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023C680 C0 24 00 C4 */ lfs f1, 0xc4(r4) -/* 8023C684 80 7E 00 08 */ lwz r3, 8(r30) -/* 8023C688 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C68C C0 04 00 98 */ lfs f0, 0x98(r4) -/* 8023C690 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 8023C694 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8023C698 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C69C 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023C6A0 7D 89 03 A6 */ mtctr r12 -/* 8023C6A4 4E 80 04 21 */ bctrl -/* 8023C6A8 38 60 00 6C */ li r3, 0x6c -/* 8023C6AC 48 09 25 A1 */ bl __nw__FUl -/* 8023C6B0 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023C6B4 41 82 00 28 */ beq lbl_8023C6DC -/* 8023C6B8 80 9E 00 04 */ lwz r4, 4(r30) -/* 8023C6BC 3C A0 6E 74 */ lis r5, 0x6E74 /* 0x6E745F6E@ha */ -/* 8023C6C0 38 C5 5F 6E */ addi r6, r5, 0x5F6E /* 0x6E745F6E@l */ -/* 8023C6C4 3C A0 73 5F */ lis r5, 0x735F /* 0x735F666F@ha */ -/* 8023C6C8 38 A5 66 6F */ addi r5, r5, 0x666F /* 0x735F666F@l */ -/* 8023C6CC 38 E0 00 00 */ li r7, 0 -/* 8023C6D0 39 00 00 00 */ li r8, 0 -/* 8023C6D4 48 01 72 B1 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023C6D8 7C 60 1B 78 */ mr r0, r3 -lbl_8023C6DC: -/* 8023C6DC 90 1E 00 C8 */ stw r0, 0xc8(r30) -/* 8023C6E0 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023C6E4 38 83 02 8C */ addi r4, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023C6E8 C0 24 01 A8 */ lfs f1, 0x1a8(r4) -/* 8023C6EC 80 7E 00 C8 */ lwz r3, 0xc8(r30) -/* 8023C6F0 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C6F4 C0 04 01 A0 */ lfs f0, 0x1a0(r4) -/* 8023C6F8 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 8023C6FC D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8023C700 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C704 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023C708 7D 89 03 A6 */ mtctr r12 -/* 8023C70C 4E 80 04 21 */ bctrl -/* 8023C710 80 7E 00 C8 */ lwz r3, 0xc8(r30) -/* 8023C714 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023C718 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023C71C C0 24 01 90 */ lfs f1, 0x190(r4) -/* 8023C720 C0 44 01 98 */ lfs f2, 0x198(r4) -/* 8023C724 48 01 7E 8D */ bl paneTrans__8CPaneMgrFff -/* 8023C728 38 60 00 6C */ li r3, 0x6c -/* 8023C72C 48 09 25 21 */ bl __nw__FUl -/* 8023C730 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023C734 41 82 00 24 */ beq lbl_8023C758 -/* 8023C738 80 9E 00 04 */ lwz r4, 4(r30) -/* 8023C73C 3C A0 73 65 */ lis r5, 0x7365 /* 0x73655F6E@ha */ -/* 8023C740 38 C5 5F 6E */ addi r6, r5, 0x5F6E /* 0x73655F6E@l */ -/* 8023C744 38 A0 62 61 */ li r5, 0x6261 -/* 8023C748 38 E0 00 02 */ li r7, 2 -/* 8023C74C 39 00 00 00 */ li r8, 0 -/* 8023C750 48 01 72 35 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023C754 7C 60 1B 78 */ mr r0, r3 -lbl_8023C758: -/* 8023C758 90 1E 00 C4 */ stw r0, 0xc4(r30) -/* 8023C75C 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023C760 38 83 02 8C */ addi r4, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023C764 C0 24 01 C8 */ lfs f1, 0x1c8(r4) -/* 8023C768 80 7E 00 C4 */ lwz r3, 0xc4(r30) -/* 8023C76C 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C770 C0 04 01 C0 */ lfs f0, 0x1c0(r4) -/* 8023C774 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 8023C778 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8023C77C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C780 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023C784 7D 89 03 A6 */ mtctr r12 -/* 8023C788 4E 80 04 21 */ bctrl -/* 8023C78C 80 7E 00 C4 */ lwz r3, 0xc4(r30) -/* 8023C790 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023C794 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023C798 C0 24 01 B0 */ lfs f1, 0x1b0(r4) -/* 8023C79C C0 44 01 B8 */ lfs f2, 0x1b8(r4) -/* 8023C7A0 48 01 7E 11 */ bl paneTrans__8CPaneMgrFff -/* 8023C7A4 3B E0 00 00 */ li r31, 0 -/* 8023C7A8 3B A0 00 00 */ li r29, 0 -/* 8023C7AC 3B 80 00 00 */ li r28, 0 -/* 8023C7B0 C3 E2 B1 B0 */ lfs f31, lit_3854(r2) -/* 8023C7B4 3C 60 80 3A */ lis r3, msg_scrn_d_msg_scrn_boss__stringBase0@ha /* 0x803998F8@ha */ -/* 8023C7B8 3B 63 98 F8 */ addi r27, r3, msg_scrn_d_msg_scrn_boss__stringBase0@l /* 0x803998F8@l */ -lbl_8023C7BC: -/* 8023C7BC 38 60 00 6C */ li r3, 0x6c -/* 8023C7C0 48 09 24 8D */ bl __nw__FUl -/* 8023C7C4 7C 64 1B 79 */ or. r4, r3, r3 -/* 8023C7C8 41 82 00 2C */ beq lbl_8023C7F4 -/* 8023C7CC 80 9E 00 04 */ lwz r4, 4(r30) -/* 8023C7D0 3C A0 80 3C */ lis r5, t_tag@ha /* 0x803C0DB0@ha */ -/* 8023C7D4 38 05 0D B0 */ addi r0, r5, t_tag@l /* 0x803C0DB0@l */ -/* 8023C7D8 7C C0 E2 14 */ add r6, r0, r28 -/* 8023C7DC 80 A6 00 00 */ lwz r5, 0(r6) -/* 8023C7E0 80 C6 00 04 */ lwz r6, 4(r6) -/* 8023C7E4 38 E0 00 00 */ li r7, 0 -/* 8023C7E8 39 00 00 00 */ li r8, 0 -/* 8023C7EC 48 01 71 99 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023C7F0 7C 64 1B 78 */ mr r4, r3 -lbl_8023C7F4: -/* 8023C7F4 38 1D 00 0C */ addi r0, r29, 0xc -/* 8023C7F8 7C 9E 01 2E */ stwx r4, r30, r0 -/* 8023C7FC 7C 7E 00 2E */ lwzx r3, r30, r0 -/* 8023C800 83 43 00 04 */ lwz r26, 4(r3) -/* 8023C804 4B DD 83 01 */ bl mDoExt_getRubyFont__Fv -/* 8023C808 7C 64 1B 78 */ mr r4, r3 -/* 8023C80C 7F 43 D3 78 */ mr r3, r26 -/* 8023C810 81 9A 00 00 */ lwz r12, 0(r26) -/* 8023C814 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 8023C818 7D 89 03 A6 */ mtctr r12 -/* 8023C81C 4E 80 04 21 */ bctrl -/* 8023C820 38 1D 00 0C */ addi r0, r29, 0xc -/* 8023C824 7C 7E 00 2E */ lwzx r3, r30, r0 -/* 8023C828 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C82C D3 E3 01 14 */ stfs f31, 0x114(r3) -/* 8023C830 7C 7E 00 2E */ lwzx r3, r30, r0 -/* 8023C834 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C838 38 80 01 00 */ li r4, 0x100 -/* 8023C83C 38 BB 00 14 */ addi r5, r27, 0x14 -/* 8023C840 4C C6 31 82 */ crclr 6 -/* 8023C844 48 0C 3F 09 */ bl setString__10J2DTextBoxFsPCce -/* 8023C848 3B FF 00 01 */ addi r31, r31, 1 -/* 8023C84C 2C 1F 00 07 */ cmpwi r31, 7 -/* 8023C850 3B BD 00 04 */ addi r29, r29, 4 -/* 8023C854 3B 9C 00 08 */ addi r28, r28, 8 -/* 8023C858 41 80 FF 64 */ blt lbl_8023C7BC -/* 8023C85C 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C860 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C864 C0 03 01 1C */ lfs f0, 0x11c(r3) -/* 8023C868 D0 1E 00 58 */ stfs f0, 0x58(r30) -/* 8023C86C C0 03 01 20 */ lfs f0, 0x120(r3) -/* 8023C870 D0 1E 00 5C */ stfs f0, 0x5c(r30) -/* 8023C874 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C878 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C87C C0 23 00 28 */ lfs f1, 0x28(r3) -/* 8023C880 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 8023C884 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8023C888 D0 1E 00 74 */ stfs f0, 0x74(r30) -/* 8023C88C 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C890 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C894 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 8023C898 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8023C89C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8023C8A0 D0 1E 00 78 */ stfs f0, 0x78(r30) -/* 8023C8A4 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C8A8 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C8AC C0 03 01 18 */ lfs f0, 0x118(r3) -/* 8023C8B0 D0 1E 00 7C */ stfs f0, 0x7c(r30) -/* 8023C8B4 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C8B8 80 63 00 04 */ lwz r3, 4(r3) -/* 8023C8BC C0 03 01 14 */ lfs f0, 0x114(r3) -/* 8023C8C0 D0 1E 00 80 */ stfs f0, 0x80(r30) -/* 8023C8C4 38 60 00 00 */ li r3, 0 -/* 8023C8C8 38 00 00 07 */ li r0, 7 -/* 8023C8CC 7C 09 03 A6 */ mtctr r0 -lbl_8023C8D0: -/* 8023C8D0 38 03 00 0C */ addi r0, r3, 0xc -/* 8023C8D4 7C 9E 00 2E */ lwzx r4, r30, r0 -/* 8023C8D8 80 84 00 04 */ lwz r4, 4(r4) -/* 8023C8DC C0 1E 00 7C */ lfs f0, 0x7c(r30) -/* 8023C8E0 D0 04 01 18 */ stfs f0, 0x118(r4) -/* 8023C8E4 38 63 00 04 */ addi r3, r3, 4 -/* 8023C8E8 42 00 FF E8 */ bdnz lbl_8023C8D0 -/* 8023C8EC 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C8F0 48 01 79 F9 */ bl getGlobalPosX__8CPaneMgrFv -/* 8023C8F4 D0 3E 00 64 */ stfs f1, 0x64(r30) -/* 8023C8F8 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023C8FC 48 01 7A 69 */ bl getGlobalPosY__8CPaneMgrFv -/* 8023C900 D0 3E 00 68 */ stfs f1, 0x68(r30) -/* 8023C904 7F C3 F3 78 */ mr r3, r30 -/* 8023C908 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8023C90C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8023C910 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023C914 48 12 59 09 */ bl _restgpr_26 -/* 8023C918 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8023C91C 7C 08 03 A6 */ mtlr r0 -/* 8023C920 38 21 00 30 */ addi r1, r1, 0x30 -/* 8023C924 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_boss/__dt__14dMsgScrnBoss_cFv.s b/asm/msg/scrn/d_msg_scrn_boss/__dt__14dMsgScrnBoss_cFv.s deleted file mode 100644 index 21dc89b689..0000000000 --- a/asm/msg/scrn/d_msg_scrn_boss/__dt__14dMsgScrnBoss_cFv.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_8023C928: -/* 8023C928 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023C92C 7C 08 02 A6 */ mflr r0 -/* 8023C930 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023C934 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023C938 48 12 58 99 */ bl _savegpr_26 -/* 8023C93C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8023C940 7C 9A 23 78 */ mr r26, r4 -/* 8023C944 41 82 01 28 */ beq lbl_8023CA6C -/* 8023C948 3C 60 80 3C */ lis r3, __vt__14dMsgScrnBoss_c@ha /* 0x803C0DE8@ha */ -/* 8023C94C 38 03 0D E8 */ addi r0, r3, __vt__14dMsgScrnBoss_c@l /* 0x803C0DE8@l */ -/* 8023C950 90 1F 00 00 */ stw r0, 0(r31) -/* 8023C954 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023C958 28 03 00 00 */ cmplwi r3, 0 -/* 8023C95C 41 82 00 18 */ beq lbl_8023C974 -/* 8023C960 38 80 00 01 */ li r4, 1 -/* 8023C964 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C968 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023C96C 7D 89 03 A6 */ mtctr r12 -/* 8023C970 4E 80 04 21 */ bctrl -lbl_8023C974: -/* 8023C974 38 00 00 00 */ li r0, 0 -/* 8023C978 90 1F 00 04 */ stw r0, 4(r31) -/* 8023C97C 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023C980 28 03 00 00 */ cmplwi r3, 0 -/* 8023C984 41 82 00 18 */ beq lbl_8023C99C -/* 8023C988 38 80 00 01 */ li r4, 1 -/* 8023C98C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C990 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023C994 7D 89 03 A6 */ mtctr r12 -/* 8023C998 4E 80 04 21 */ bctrl -lbl_8023C99C: -/* 8023C99C 38 00 00 00 */ li r0, 0 -/* 8023C9A0 90 1F 00 08 */ stw r0, 8(r31) -/* 8023C9A4 80 7F 00 C8 */ lwz r3, 0xc8(r31) -/* 8023C9A8 28 03 00 00 */ cmplwi r3, 0 -/* 8023C9AC 41 82 00 18 */ beq lbl_8023C9C4 -/* 8023C9B0 38 80 00 01 */ li r4, 1 -/* 8023C9B4 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C9B8 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023C9BC 7D 89 03 A6 */ mtctr r12 -/* 8023C9C0 4E 80 04 21 */ bctrl -lbl_8023C9C4: -/* 8023C9C4 38 00 00 00 */ li r0, 0 -/* 8023C9C8 90 1F 00 C8 */ stw r0, 0xc8(r31) -/* 8023C9CC 80 7F 00 C4 */ lwz r3, 0xc4(r31) -/* 8023C9D0 28 03 00 00 */ cmplwi r3, 0 -/* 8023C9D4 41 82 00 18 */ beq lbl_8023C9EC -/* 8023C9D8 38 80 00 01 */ li r4, 1 -/* 8023C9DC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023C9E0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023C9E4 7D 89 03 A6 */ mtctr r12 -/* 8023C9E8 4E 80 04 21 */ bctrl -lbl_8023C9EC: -/* 8023C9EC 3B A0 00 00 */ li r29, 0 -/* 8023C9F0 93 BF 00 C4 */ stw r29, 0xc4(r31) -/* 8023C9F4 3B 60 00 00 */ li r27, 0 -/* 8023C9F8 7F BE EB 78 */ mr r30, r29 -lbl_8023C9FC: -/* 8023C9FC 3B 9E 00 0C */ addi r28, r30, 0xc -/* 8023CA00 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 8023CA04 28 03 00 00 */ cmplwi r3, 0 -/* 8023CA08 41 82 00 18 */ beq lbl_8023CA20 -/* 8023CA0C 38 80 00 01 */ li r4, 1 -/* 8023CA10 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CA14 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023CA18 7D 89 03 A6 */ mtctr r12 -/* 8023CA1C 4E 80 04 21 */ bctrl -lbl_8023CA20: -/* 8023CA20 7F BF E1 2E */ stwx r29, r31, r28 -/* 8023CA24 3B 7B 00 01 */ addi r27, r27, 1 -/* 8023CA28 2C 1B 00 07 */ cmpwi r27, 7 -/* 8023CA2C 3B DE 00 04 */ addi r30, r30, 4 -/* 8023CA30 41 80 FF CC */ blt lbl_8023C9FC -/* 8023CA34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023CA38 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023CA3C 80 63 5C 7C */ lwz r3, 0x5c7c(r3) -/* 8023CA40 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CA44 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023CA48 7D 89 03 A6 */ mtctr r12 -/* 8023CA4C 4E 80 04 21 */ bctrl -/* 8023CA50 7F E3 FB 78 */ mr r3, r31 -/* 8023CA54 38 80 00 00 */ li r4, 0 -/* 8023CA58 4B FF F6 CD */ bl __dt__14dMsgScrnBase_cFv -/* 8023CA5C 7F 40 07 35 */ extsh. r0, r26 -/* 8023CA60 40 81 00 0C */ ble lbl_8023CA6C -/* 8023CA64 7F E3 FB 78 */ mr r3, r31 -/* 8023CA68 48 09 22 D5 */ bl __dl__FPv -lbl_8023CA6C: -/* 8023CA6C 7F E3 FB 78 */ mr r3, r31 -/* 8023CA70 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023CA74 48 12 57 A9 */ bl _restgpr_26 -/* 8023CA78 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023CA7C 7C 08 03 A6 */ mtlr r0 -/* 8023CA80 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023CA84 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_boss/drawSelf__14dMsgScrnBoss_cFv.s b/asm/msg/scrn/d_msg_scrn_boss/drawSelf__14dMsgScrnBoss_cFv.s deleted file mode 100644 index 5ecc164f9f..0000000000 --- a/asm/msg/scrn/d_msg_scrn_boss/drawSelf__14dMsgScrnBoss_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8023CB98: -/* 8023CB98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023CB9C 7C 08 02 A6 */ mflr r0 -/* 8023CBA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023CBA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023CBA8 7C 7F 1B 78 */ mr r31, r3 -/* 8023CBAC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023CBB0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023CBB4 80 63 5F 50 */ lwz r3, 0x5f50(r3) -/* 8023CBB8 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CBBC 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8023CBC0 7D 89 03 A6 */ mtctr r12 -/* 8023CBC4 4E 80 04 21 */ bctrl -/* 8023CBC8 7F E3 FB 78 */ mr r3, r31 -/* 8023CBCC C0 22 B1 B4 */ lfs f1, lit_3916(r2) -/* 8023CBD0 FC 40 08 90 */ fmr f2, f1 -/* 8023CBD4 C0 62 B1 B0 */ lfs f3, lit_3854(r2) -/* 8023CBD8 4B FF F7 55 */ bl drawOutFont__14dMsgScrnBase_cFfff -/* 8023CBDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023CBE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023CBE4 7C 08 03 A6 */ mtlr r0 -/* 8023CBE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023CBEC 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_boss/exec__14dMsgScrnBoss_cFv.s b/asm/msg/scrn/d_msg_scrn_boss/exec__14dMsgScrnBoss_cFv.s deleted file mode 100644 index 37e2693ed3..0000000000 --- a/asm/msg/scrn/d_msg_scrn_boss/exec__14dMsgScrnBoss_cFv.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_8023CA88: -/* 8023CA88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023CA8C 7C 08 02 A6 */ mflr r0 -/* 8023CA90 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023CA94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023CA98 7C 7F 1B 78 */ mr r31, r3 -/* 8023CA9C 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023CAA0 38 83 02 8C */ addi r4, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023CAA4 C0 24 00 C4 */ lfs f1, 0xc4(r4) -/* 8023CAA8 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023CAAC 80 63 00 04 */ lwz r3, 4(r3) -/* 8023CAB0 C0 04 00 98 */ lfs f0, 0x98(r4) -/* 8023CAB4 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 8023CAB8 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8023CABC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CAC0 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023CAC4 7D 89 03 A6 */ mtctr r12 -/* 8023CAC8 4E 80 04 21 */ bctrl -/* 8023CACC 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023CAD0 38 83 02 8C */ addi r4, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023CAD4 C0 24 01 A8 */ lfs f1, 0x1a8(r4) -/* 8023CAD8 80 7F 00 C8 */ lwz r3, 0xc8(r31) -/* 8023CADC 80 63 00 04 */ lwz r3, 4(r3) -/* 8023CAE0 C0 04 01 A0 */ lfs f0, 0x1a0(r4) -/* 8023CAE4 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 8023CAE8 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8023CAEC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CAF0 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023CAF4 7D 89 03 A6 */ mtctr r12 -/* 8023CAF8 4E 80 04 21 */ bctrl -/* 8023CAFC 80 7F 00 C8 */ lwz r3, 0xc8(r31) -/* 8023CB00 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023CB04 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023CB08 C0 24 01 90 */ lfs f1, 0x190(r4) -/* 8023CB0C C0 44 01 98 */ lfs f2, 0x198(r4) -/* 8023CB10 48 01 7A A1 */ bl paneTrans__8CPaneMgrFff -/* 8023CB14 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023CB18 38 83 02 8C */ addi r4, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023CB1C C0 24 01 C8 */ lfs f1, 0x1c8(r4) -/* 8023CB20 80 7F 00 C4 */ lwz r3, 0xc4(r31) -/* 8023CB24 80 63 00 04 */ lwz r3, 4(r3) -/* 8023CB28 C0 04 01 C0 */ lfs f0, 0x1c0(r4) -/* 8023CB2C D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 8023CB30 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8023CB34 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CB38 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023CB3C 7D 89 03 A6 */ mtctr r12 -/* 8023CB40 4E 80 04 21 */ bctrl -/* 8023CB44 80 7F 00 C4 */ lwz r3, 0xc4(r31) -/* 8023CB48 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023CB4C 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023CB50 C0 24 01 B0 */ lfs f1, 0x1b0(r4) -/* 8023CB54 C0 44 01 B8 */ lfs f2, 0x1b8(r4) -/* 8023CB58 48 01 7A 59 */ bl paneTrans__8CPaneMgrFff -/* 8023CB5C 7F E3 FB 78 */ mr r3, r31 -/* 8023CB60 4B FF FA 15 */ bl isTalkNow__14dMsgScrnBase_cFv -/* 8023CB64 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023CB68 41 82 00 1C */ beq lbl_8023CB84 -/* 8023CB6C 7F E3 FB 78 */ mr r3, r31 -/* 8023CB70 C0 22 B1 B0 */ lfs f1, lit_3854(r2) -/* 8023CB74 81 9F 00 00 */ lwz r12, 0(r31) -/* 8023CB78 81 8C 00 4C */ lwz r12, 0x4c(r12) -/* 8023CB7C 7D 89 03 A6 */ mtctr r12 -/* 8023CB80 4E 80 04 21 */ bctrl -lbl_8023CB84: -/* 8023CB84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023CB88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023CB8C 7C 08 03 A6 */ mtlr r0 -/* 8023CB90 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023CB94 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_boss/fukiAlpha__14dMsgScrnBoss_cFf.s b/asm/msg/scrn/d_msg_scrn_boss/fukiAlpha__14dMsgScrnBoss_cFf.s deleted file mode 100644 index 32e937b6a2..0000000000 --- a/asm/msg/scrn/d_msg_scrn_boss/fukiAlpha__14dMsgScrnBoss_cFf.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8023CBF0: -/* 8023CBF0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8023CBF4 7C 08 02 A6 */ mflr r0 -/* 8023CBF8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8023CBFC DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8023CC00 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8023CC04 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023CC08 48 12 55 D5 */ bl _savegpr_29 -/* 8023CC0C 7C 7D 1B 78 */ mr r29, r3 -/* 8023CC10 FF E0 08 90 */ fmr f31, f1 -/* 8023CC14 80 63 00 08 */ lwz r3, 8(r3) -/* 8023CC18 48 01 8B B9 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8023CC1C 80 7D 00 C4 */ lwz r3, 0xc4(r29) -/* 8023CC20 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023CC24 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023CC28 C0 04 01 D0 */ lfs f0, 0x1d0(r4) -/* 8023CC2C EC 3F 00 32 */ fmuls f1, f31, f0 -/* 8023CC30 48 01 8B A1 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8023CC34 3B C0 00 00 */ li r30, 0 -/* 8023CC38 3B E0 00 00 */ li r31, 0 -lbl_8023CC3C: -/* 8023CC3C 38 1F 00 0C */ addi r0, r31, 0xc -/* 8023CC40 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 8023CC44 FC 20 F8 90 */ fmr f1, f31 -/* 8023CC48 48 01 8B 89 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8023CC4C 3B DE 00 01 */ addi r30, r30, 1 -/* 8023CC50 2C 1E 00 07 */ cmpwi r30, 7 -/* 8023CC54 3B FF 00 04 */ addi r31, r31, 4 -/* 8023CC58 41 80 FF E4 */ blt lbl_8023CC3C -/* 8023CC5C E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8023CC60 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8023CC64 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023CC68 48 12 55 C1 */ bl _restgpr_29 -/* 8023CC6C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8023CC70 7C 08 03 A6 */ mtlr r0 -/* 8023CC74 38 21 00 30 */ addi r1, r1, 0x30 -/* 8023CC78 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_scene_exit/d_a_scene_exit/checkWork__8daScex_cFv.s b/asm/rel/d/a/d_a_scene_exit/d_a_scene_exit/checkWork__8daScex_cFv.s deleted file mode 100644 index 7d6ffe52d3..0000000000 --- a/asm/rel/d/a/d_a_scene_exit/d_a_scene_exit/checkWork__8daScex_cFv.s +++ /dev/null @@ -1,87 +0,0 @@ -lbl_80485838: -/* 80485838 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048583C 7C 08 02 A6 */ mflr r0 -/* 80485840 90 01 00 14 */ stw r0, 0x14(r1) -/* 80485844 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80485848 7C 7F 1B 78 */ mr r31, r3 -/* 8048584C 80 83 00 B0 */ lwz r4, 0xb0(r3) -/* 80485850 54 80 C6 3E */ rlwinm r0, r4, 0x18, 0x18, 0x1f -/* 80485854 28 00 00 FF */ cmplwi r0, 0xff -/* 80485858 41 82 00 14 */ beq lbl_8048586C -/* 8048585C 28 00 00 00 */ cmplwi r0, 0 -/* 80485860 41 82 00 0C */ beq lbl_8048586C -/* 80485864 28 00 00 03 */ cmplwi r0, 3 -/* 80485868 40 82 00 2C */ bne lbl_80485894 -lbl_8048586C: -/* 8048586C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80485870 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80485874 54 84 46 3E */ srwi r4, r4, 0x18 -/* 80485878 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8048587C 7C 05 07 74 */ extsb r5, r0 -/* 80485880 4B BA FA E1 */ bl isSwitch__10dSv_info_cCFii -/* 80485884 2C 03 00 00 */ cmpwi r3, 0 -/* 80485888 41 82 00 54 */ beq lbl_804858DC -/* 8048588C 38 60 00 00 */ li r3, 0 -/* 80485890 48 00 00 D0 */ b lbl_80485960 -lbl_80485894: -/* 80485894 28 00 00 01 */ cmplwi r0, 1 -/* 80485898 41 82 00 14 */ beq lbl_804858AC -/* 8048589C 28 00 00 02 */ cmplwi r0, 2 -/* 804858A0 41 82 00 0C */ beq lbl_804858AC -/* 804858A4 28 00 00 04 */ cmplwi r0, 4 -/* 804858A8 40 82 00 34 */ bne lbl_804858DC -lbl_804858AC: -/* 804858AC 54 84 46 3E */ srwi r4, r4, 0x18 -/* 804858B0 28 04 00 FF */ cmplwi r4, 0xff -/* 804858B4 41 82 00 28 */ beq lbl_804858DC -/* 804858B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804858BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804858C0 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 804858C4 7C 05 07 74 */ extsb r5, r0 -/* 804858C8 4B BA FA 99 */ bl isSwitch__10dSv_info_cCFii -/* 804858CC 2C 03 00 00 */ cmpwi r3, 0 -/* 804858D0 40 82 00 0C */ bne lbl_804858DC -/* 804858D4 38 60 00 00 */ li r3, 0 -/* 804858D8 48 00 00 88 */ b lbl_80485960 -lbl_804858DC: -/* 804858DC A8 1F 04 B8 */ lha r0, 0x4b8(r31) -/* 804858E0 54 00 05 3E */ clrlwi r0, r0, 0x14 -/* 804858E4 28 00 0F FF */ cmplwi r0, 0xfff -/* 804858E8 41 82 00 34 */ beq lbl_8048591C -/* 804858EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804858F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804858F4 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 804858F8 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 804858FC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80485900 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80485904 7C 84 02 2E */ lhzx r4, r4, r0 -/* 80485908 4B BA F0 B5 */ bl isEventBit__11dSv_event_cCFUs -/* 8048590C 2C 03 00 00 */ cmpwi r3, 0 -/* 80485910 41 82 00 0C */ beq lbl_8048591C -/* 80485914 38 60 00 00 */ li r3, 0 -/* 80485918 48 00 00 48 */ b lbl_80485960 -lbl_8048591C: -/* 8048591C A8 1F 04 B4 */ lha r0, 0x4b4(r31) -/* 80485920 54 00 05 3E */ clrlwi r0, r0, 0x14 -/* 80485924 28 00 0F FF */ cmplwi r0, 0xfff -/* 80485928 41 82 00 34 */ beq lbl_8048595C -/* 8048592C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80485930 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80485934 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80485938 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 8048593C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80485940 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80485944 7C 84 02 2E */ lhzx r4, r4, r0 -/* 80485948 4B BA F0 75 */ bl isEventBit__11dSv_event_cCFUs -/* 8048594C 2C 03 00 00 */ cmpwi r3, 0 -/* 80485950 40 82 00 0C */ bne lbl_8048595C -/* 80485954 38 60 00 00 */ li r3, 0 -/* 80485958 48 00 00 08 */ b lbl_80485960 -lbl_8048595C: -/* 8048595C 38 60 00 01 */ li r3, 1 -lbl_80485960: -/* 80485960 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80485964 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80485968 7C 08 03 A6 */ mtlr r0 -/* 8048596C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80485970 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__dt__14daNPC_TR_HIO_cFv.s b/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__dt__14daNPC_TR_HIO_cFv.s deleted file mode 100644 index 66435a9230..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__dt__14daNPC_TR_HIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80B264E4: -/* 80B264E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80B264E8 7C 08 02 A6 */ mflr r0 -/* 80B264EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80B264F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80B264F4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80B264F8 41 82 00 1C */ beq lbl_80B26514 -/* 80B264FC 3C A0 80 B2 */ lis r5, __vt__14daNPC_TR_HIO_c@ha /* 0x80B26660@ha */ -/* 80B26500 38 05 66 60 */ addi r0, r5, __vt__14daNPC_TR_HIO_c@l /* 0x80B26660@l */ -/* 80B26504 90 1F 00 00 */ stw r0, 0(r31) -/* 80B26508 7C 80 07 35 */ extsh. r0, r4 -/* 80B2650C 40 81 00 08 */ ble lbl_80B26514 -/* 80B26510 4B 7A 88 2D */ bl __dl__FPv -lbl_80B26514: -/* 80B26514 7F E3 FB 78 */ mr r3, r31 -/* 80B26518 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80B2651C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80B26520 7C 08 03 A6 */ mtlr r0 -/* 80B26524 38 21 00 10 */ addi r1, r1, 0x10 -/* 80B26528 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__sinit_d_a_npc_tr_cpp.s b/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__sinit_d_a_npc_tr_cpp.s deleted file mode 100644 index 50730aac68..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__sinit_d_a_npc_tr_cpp.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80B2652C: -/* 80B2652C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80B26530 7C 08 02 A6 */ mflr r0 -/* 80B26534 90 01 00 14 */ stw r0, 0x14(r1) -/* 80B26538 3C 60 80 B2 */ lis r3, l_HIO@ha /* 0x80B26688@ha */ -/* 80B2653C 38 63 66 88 */ addi r3, r3, l_HIO@l /* 0x80B26688@l */ -/* 80B26540 4B FF F4 CD */ bl __ct__14daNPC_TR_HIO_cFv -/* 80B26544 3C 80 80 B2 */ lis r4, __dt__14daNPC_TR_HIO_cFv@ha /* 0x80B264E4@ha */ -/* 80B26548 38 84 64 E4 */ addi r4, r4, __dt__14daNPC_TR_HIO_cFv@l /* 0x80B264E4@l */ -/* 80B2654C 3C A0 80 B2 */ lis r5, lit_3763@ha /* 0x80B2667C@ha */ -/* 80B26550 38 A5 66 7C */ addi r5, r5, lit_3763@l /* 0x80B2667C@l */ -/* 80B26554 4B FF F4 45 */ bl __register_global_object -/* 80B26558 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80B2655C 7C 08 03 A6 */ mtlr r0 -/* 80B26560 38 21 00 10 */ addi r1, r1, 0x10 -/* 80B26564 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Delete__FP12npc_tr_class.s b/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Delete__FP12npc_tr_class.s deleted file mode 100644 index 917365c6c2..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Delete__FP12npc_tr_class.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80B262D8: -/* 80B262D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80B262DC 7C 08 02 A6 */ mflr r0 -/* 80B262E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80B262E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80B262E8 7C 7F 1B 78 */ mr r31, r3 -/* 80B262EC 38 7F 05 AC */ addi r3, r31, 0x5ac -/* 80B262F0 3C 80 80 B2 */ lis r4, d_a_npc_tr__stringBase0@ha /* 0x80B26608@ha */ -/* 80B262F4 38 84 66 08 */ addi r4, r4, d_a_npc_tr__stringBase0@l /* 0x80B26608@l */ -/* 80B262F8 4B 50 6D 11 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80B262FC 88 1F 06 00 */ lbz r0, 0x600(r31) -/* 80B26300 28 00 00 00 */ cmplwi r0, 0 -/* 80B26304 41 82 00 10 */ beq lbl_80B26314 -/* 80B26308 38 00 00 00 */ li r0, 0 -/* 80B2630C 3C 60 80 B2 */ lis r3, data_80B26678@ha /* 0x80B26678@ha */ -/* 80B26310 98 03 66 78 */ stb r0, data_80B26678@l(r3) /* 0x80B26678@l */ -lbl_80B26314: -/* 80B26314 38 60 00 01 */ li r3, 1 -/* 80B26318 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80B2631C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80B26320 7C 08 03 A6 */ mtlr r0 -/* 80B26324 38 21 00 10 */ addi r1, r1, 0x10 -/* 80B26328 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Draw__FP12npc_tr_class.s b/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Draw__FP12npc_tr_class.s deleted file mode 100644 index 7a869cb803..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Draw__FP12npc_tr_class.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80B25B78: -/* 80B25B78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80B25B7C 7C 08 02 A6 */ mflr r0 -/* 80B25B80 90 01 00 14 */ stw r0, 0x14(r1) -/* 80B25B84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80B25B88 7C 7F 1B 78 */ mr r31, r3 -/* 80B25B8C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80B25B90 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80B25B94 38 80 00 00 */ li r4, 0 -/* 80B25B98 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80B25B9C 38 DF 01 0C */ addi r6, r31, 0x10c -/* 80B25BA0 4B 67 DC 25 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80B25BA4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80B25BA8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80B25BAC 80 9F 05 B8 */ lwz r4, 0x5b8(r31) -/* 80B25BB0 80 84 00 04 */ lwz r4, 4(r4) -/* 80B25BB4 38 BF 01 0C */ addi r5, r31, 0x10c -/* 80B25BB8 4B 67 F1 E9 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80B25BBC 80 7F 05 B8 */ lwz r3, 0x5b8(r31) -/* 80B25BC0 4B 4E 81 05 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80B25BC4 38 60 00 01 */ li r3, 1 -/* 80B25BC8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80B25BCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80B25BD0 7C 08 03 A6 */ mtlr r0 -/* 80B25BD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80B25BD8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Execute__FP12npc_tr_class.s b/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Execute__FP12npc_tr_class.s deleted file mode 100644 index 2dfff8f373..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Execute__FP12npc_tr_class.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_80B261D8: -/* 80B261D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80B261DC 7C 08 02 A6 */ mflr r0 -/* 80B261E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80B261E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80B261E8 7C 7F 1B 78 */ mr r31, r3 -/* 80B261EC A8 83 05 BC */ lha r4, 0x5bc(r3) -/* 80B261F0 38 04 00 01 */ addi r0, r4, 1 -/* 80B261F4 B0 03 05 BC */ sth r0, 0x5bc(r3) -/* 80B261F8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80B261FC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80B26200 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 80B26204 4B 4F 45 DD */ bl fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80B26208 D0 3F 05 D8 */ stfs f1, 0x5d8(r31) -/* 80B2620C 38 60 00 00 */ li r3, 0 -/* 80B26210 38 00 00 04 */ li r0, 4 -/* 80B26214 7C 09 03 A6 */ mtctr r0 -lbl_80B26218: -/* 80B26218 38 A3 05 DC */ addi r5, r3, 0x5dc -/* 80B2621C 7C 9F 2A AE */ lhax r4, r31, r5 -/* 80B26220 2C 04 00 00 */ cmpwi r4, 0 -/* 80B26224 41 82 00 0C */ beq lbl_80B26230 -/* 80B26228 38 04 FF FF */ addi r0, r4, -1 -/* 80B2622C 7C 1F 2B 2E */ sthx r0, r31, r5 -lbl_80B26230: -/* 80B26230 38 63 00 02 */ addi r3, r3, 2 -/* 80B26234 42 00 FF E4 */ bdnz lbl_80B26218 -/* 80B26238 7F E3 FB 78 */ mr r3, r31 -/* 80B2623C 4B FF FD A5 */ bl action__FP12npc_tr_class -/* 80B26240 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80B26244 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80B26248 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80B2624C C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80B26250 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80B26254 4B 82 06 95 */ bl PSMTXTrans -/* 80B26258 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80B2625C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80B26260 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 80B26264 A8 1F 05 F0 */ lha r0, 0x5f0(r31) -/* 80B26268 7C 04 02 14 */ add r0, r4, r0 -/* 80B2626C 7C 04 07 34 */ extsh r4, r0 -/* 80B26270 4B 4E 61 C5 */ bl mDoMtx_YrotM__FPA4_fs -/* 80B26274 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80B26278 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80B2627C A8 9F 04 E4 */ lha r4, 0x4e4(r31) -/* 80B26280 4B 4E 61 1D */ bl mDoMtx_XrotM__FPA4_fs -/* 80B26284 C0 3F 04 EC */ lfs f1, 0x4ec(r31) -/* 80B26288 3C 60 80 B2 */ lis r3, l_HIO@ha /* 0x80B26688@ha */ -/* 80B2628C 38 63 66 88 */ addi r3, r3, l_HIO@l /* 0x80B26688@l */ -/* 80B26290 C0 03 00 08 */ lfs f0, 8(r3) -/* 80B26294 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80B26298 FC 40 08 90 */ fmr f2, f1 -/* 80B2629C FC 60 08 90 */ fmr f3, f1 -/* 80B262A0 4B 4E 6B 99 */ bl scaleM__14mDoMtx_stack_cFfff -/* 80B262A4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80B262A8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80B262AC 80 9F 05 B8 */ lwz r4, 0x5b8(r31) -/* 80B262B0 38 84 00 24 */ addi r4, r4, 0x24 -/* 80B262B4 4B 82 01 FD */ bl PSMTXCopy -/* 80B262B8 38 60 00 01 */ li r3, 1 -/* 80B262BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80B262C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80B262C4 7C 08 03 A6 */ mtlr r0 -/* 80B262C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80B262CC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/useHeapInit__FP10fopAc_ac_c.s b/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/useHeapInit__FP10fopAc_ac_c.s deleted file mode 100644 index 73d885254a..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/useHeapInit__FP10fopAc_ac_c.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_80B2632C: -/* 80B2632C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80B26330 7C 08 02 A6 */ mflr r0 -/* 80B26334 90 01 00 14 */ stw r0, 0x14(r1) -/* 80B26338 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80B2633C 7C 7F 1B 78 */ mr r31, r3 -/* 80B26340 3C 60 80 B2 */ lis r3, d_a_npc_tr__stringBase0@ha /* 0x80B26608@ha */ -/* 80B26344 38 63 66 08 */ addi r3, r3, d_a_npc_tr__stringBase0@l /* 0x80B26608@l */ -/* 80B26348 38 80 00 03 */ li r4, 3 -/* 80B2634C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80B26350 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80B26354 3C A5 00 02 */ addis r5, r5, 2 -/* 80B26358 38 C0 00 80 */ li r6, 0x80 -/* 80B2635C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80B26360 4B 51 5F 8D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80B26364 3C 80 00 08 */ lis r4, 8 -/* 80B26368 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80B2636C 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80B26370 4B 4E E8 E5 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80B26374 90 7F 05 B8 */ stw r3, 0x5b8(r31) -/* 80B26378 80 7F 05 B8 */ lwz r3, 0x5b8(r31) -/* 80B2637C 28 03 00 00 */ cmplwi r3, 0 -/* 80B26380 40 82 00 0C */ bne lbl_80B2638C -/* 80B26384 38 60 00 00 */ li r3, 0 -/* 80B26388 48 00 00 48 */ b lbl_80B263D0 -lbl_80B2638C: -/* 80B2638C 93 E3 00 14 */ stw r31, 0x14(r3) -/* 80B26390 38 C0 00 00 */ li r6, 0 -/* 80B26394 3C 60 80 B2 */ lis r3, nodeCallBack__FP8J3DJointi@ha /* 0x80B25A54@ha */ -/* 80B26398 38 83 5A 54 */ addi r4, r3, nodeCallBack__FP8J3DJointi@l /* 0x80B25A54@l */ -/* 80B2639C 48 00 00 18 */ b lbl_80B263B4 -lbl_80B263A0: -/* 80B263A0 80 65 00 28 */ lwz r3, 0x28(r5) -/* 80B263A4 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d -/* 80B263A8 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80B263AC 90 83 00 04 */ stw r4, 4(r3) -/* 80B263B0 38 C6 00 01 */ addi r6, r6, 1 -lbl_80B263B4: -/* 80B263B4 80 7F 05 B8 */ lwz r3, 0x5b8(r31) -/* 80B263B8 80 A3 00 04 */ lwz r5, 4(r3) -/* 80B263BC A0 65 00 2C */ lhz r3, 0x2c(r5) -/* 80B263C0 54 C0 04 3E */ clrlwi r0, r6, 0x10 -/* 80B263C4 7C 00 18 40 */ cmplw r0, r3 -/* 80B263C8 41 80 FF D8 */ blt lbl_80B263A0 -/* 80B263CC 38 60 00 01 */ li r3, 1 -lbl_80B263D0: -/* 80B263D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80B263D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80B263D8 7C 08 03 A6 */ mtlr r0 -/* 80B263DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80B263E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/Create__12daTagMagne_cFv.s b/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/Create__12daTagMagne_cFv.s deleted file mode 100644 index aa10d2974e..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/Create__12daTagMagne_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_805A5498: -/* 805A5498 3C 80 80 45 */ lis r4, mTagMagne__12daTagMagne_c@ha /* 0x80450DBC@ha */ -/* 805A549C 84 04 0D BC */ lwzu r0, mTagMagne__12daTagMagne_c@l(r4) /* 0x80450DBC@l */ -/* 805A54A0 28 00 00 00 */ cmplwi r0, 0 -/* 805A54A4 41 82 00 0C */ beq lbl_805A54B0 -/* 805A54A8 38 60 00 00 */ li r3, 0 -/* 805A54AC 4E 80 00 20 */ blr -lbl_805A54B0: -/* 805A54B0 90 64 00 00 */ stw r3, 0(r4) -/* 805A54B4 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 805A54B8 98 03 05 68 */ stb r0, 0x568(r3) -/* 805A54BC 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 805A54C0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 805A54C4 98 03 05 69 */ stb r0, 0x569(r3) -/* 805A54C8 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 805A54CC 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f -/* 805A54D0 98 03 05 6A */ stb r0, 0x56a(r3) -/* 805A54D4 38 60 00 01 */ li r3, 1 -/* 805A54D8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/_delete__12daTagMagne_cFv.s b/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/_delete__12daTagMagne_cFv.s deleted file mode 100644 index 803d25de0b..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/_delete__12daTagMagne_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_805A5578: -/* 805A5578 38 00 00 00 */ li r0, 0 -/* 805A557C 3C 60 80 45 */ lis r3, mTagMagne__12daTagMagne_c@ha /* 0x80450DBC@ha */ -/* 805A5580 90 03 0D BC */ stw r0, mTagMagne__12daTagMagne_c@l(r3) /* 0x80450DBC@l */ -/* 805A5584 38 60 00 01 */ li r3, 1 -/* 805A5588 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/func_805A54DC.s b/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/func_805A54DC.s deleted file mode 100644 index db5ba93d9b..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/func_805A54DC.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_805A54DC: -/* 805A54DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A54E0 7C 08 02 A6 */ mflr r0 -/* 805A54E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A54E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A54EC 7C 7F 1B 78 */ mr r31, r3 -/* 805A54F0 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 805A54F4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 805A54F8 40 82 00 1C */ bne lbl_805A5514 -/* 805A54FC 28 1F 00 00 */ cmplwi r31, 0 -/* 805A5500 41 82 00 08 */ beq lbl_805A5508 -/* 805A5504 4B A7 36 61 */ bl __ct__10fopAc_ac_cFv -lbl_805A5508: -/* 805A5508 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 805A550C 60 00 00 08 */ ori r0, r0, 8 -/* 805A5510 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_805A5514: -/* 805A5514 3C 60 80 45 */ lis r3, mTagMagne__12daTagMagne_c@ha /* 0x80450DBC@ha */ -/* 805A5518 38 63 0D BC */ addi r3, r3, mTagMagne__12daTagMagne_c@l /* 0x80450DBC@l */ -/* 805A551C 80 63 00 00 */ lwz r3, 0(r3) -/* 805A5520 28 03 00 00 */ cmplwi r3, 0 -/* 805A5524 41 82 00 24 */ beq lbl_805A5548 -/* 805A5528 88 03 04 E2 */ lbz r0, 0x4e2(r3) -/* 805A552C 7C 03 07 74 */ extsb r3, r0 -/* 805A5530 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 805A5534 7C 00 07 74 */ extsb r0, r0 -/* 805A5538 7C 03 00 00 */ cmpw r3, r0 -/* 805A553C 41 82 00 0C */ beq lbl_805A5548 -/* 805A5540 38 60 00 00 */ li r3, 0 -/* 805A5544 48 00 00 20 */ b lbl_805A5564 -lbl_805A5548: -/* 805A5548 7F E3 FB 78 */ mr r3, r31 -/* 805A554C 4B FF FF 4D */ bl Create__12daTagMagne_cFv -/* 805A5550 2C 03 00 00 */ cmpwi r3, 0 -/* 805A5554 40 82 00 0C */ bne lbl_805A5560 -/* 805A5558 38 60 00 05 */ li r3, 5 -/* 805A555C 48 00 00 08 */ b lbl_805A5564 -lbl_805A5560: -/* 805A5560 38 60 00 04 */ li r3, 4 -lbl_805A5564: -/* 805A5564 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A5568 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A556C 7C 08 03 A6 */ mtlr r0 -/* 805A5570 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A5574 4E 80 00 20 */ blr diff --git a/asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleEpilog.s b/asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleEpilog.s deleted file mode 100644 index 54b20a3f8e..0000000000 --- a/asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleEpilog.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80456C6C: -/* 80456C6C 38 00 00 00 */ li r0, 0 -/* 80456C70 3C 60 80 45 */ lis r3, g_fpcPf_ProfileList_p@ha /* 0x80450D50@ha */ -/* 80456C74 90 03 0D 50 */ stw r0, g_fpcPf_ProfileList_p@l(r3) /* 0x80450D50@l */ -/* 80456C78 4E 80 00 20 */ blr diff --git a/asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleProlog.s b/asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleProlog.s deleted file mode 100644 index 74fc2a4fc4..0000000000 --- a/asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleProlog.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80456C58: -/* 80456C58 3C 60 80 45 */ lis r3, g_fpcPfLst_ProfileList@ha /* 0x80456C84@ha */ -/* 80456C5C 38 03 6C 84 */ addi r0, r3, g_fpcPfLst_ProfileList@l /* 0x80456C84@l */ -/* 80456C60 3C 60 80 45 */ lis r3, g_fpcPf_ProfileList_p@ha /* 0x80450D50@ha */ -/* 80456C64 90 03 0D 50 */ stw r0, g_fpcPf_ProfileList_p@l(r3) /* 0x80450D50@l */ -/* 80456C68 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index c2b017c00a..ba81b38f62 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -36,7 +36,7 @@ public: /* 80300490 */ virtual void draw(f32, f32, f32, J2DTextBoxHBinding); /* 803002E8 */ virtual void draw(f32, f32); /* 80300278 */ virtual void setFont(JUTFont*); - /* 8021C7F4 */ virtual void getFont() const; + /* 8021C7F4 */ virtual JUTFont* getFont() const; /* 80254408 */ virtual bool setBlack(JUtility::TColor); /* 80186C84 */ virtual void setWhite(JUtility::TColor); /* 8019230C */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor); @@ -75,8 +75,15 @@ public: } void setFontSize(TFontSize size) { setFontSize(size.mSizeX, size.mSizeY); } + void getFontSize(TFontSize& size) const { + size.mSizeX = field_0x11c; + size.mSizeY = field_0x120; + } void setCharSpace(f32 space) { mCharSpacing = space; } + f32 getCharSpace() const { return mCharSpacing; } + void setLineSpace(f32 space) { mLineSpacing = space; } + f32 getLineSpace() const { return mLineSpacing; } private: /* 0x0100 */ JUTFont* mFont; diff --git a/include/JSystem/J2DGraph/J2DTextBoxEx.h b/include/JSystem/J2DGraph/J2DTextBoxEx.h index 38e8ff0746..d9b8a725a1 100644 --- a/include/JSystem/J2DGraph/J2DTextBoxEx.h +++ b/include/JSystem/J2DGraph/J2DTextBoxEx.h @@ -37,7 +37,7 @@ public: /* 803078AC */ virtual void draw(f32, f32); /* 80307AF0 */ virtual void draw(f32, f32, f32, J2DTextBoxHBinding); /* 80307D5C */ virtual void setFont(JUTFont*); - /* 80307DC0 */ virtual void getFont() const; + /* 80307DC0 */ virtual JUTFont* getFont() const; /* 8030823C */ virtual void setBlack(JUtility::TColor); /* 803082C4 */ virtual void setWhite(JUtility::TColor); /* 8030834C */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor); diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index d36523f54a..4daebd16ec 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -575,6 +575,7 @@ public: f32 getRate() const { return mRate; } f32 getFrame() const { return mFrame; } + s16 getEnd() const { return mEnd; } u8 getAttribute() const { return mAttribute; } void setAttribute(u8 attr) { mAttribute = attr; } void setEnd(s16 end) { mEnd = end; } @@ -585,10 +586,11 @@ public: } void setFrame(f32 frame) { mFrame = frame; } void setLoop(s16 loop) { mLoop = loop; } + bool checkState(u8 state) const { return mState & state; } private: /* 0x04 */ u8 mAttribute; - /* 0x05 */ bool mState; + /* 0x05 */ u8 mState; /* 0x06 */ s16 mStart; /* 0x08 */ s16 mEnd; /* 0x0A */ s16 mLoop; diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index b0f77631dd..78a6d04fab 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -60,6 +60,9 @@ public: void setYounger(J3DJoint* pYounger) { mYounger = pYounger; } void setCurrentMtxCalc(J3DMtxCalc* pMtxCalc) { mCurrentMtxCalc = pMtxCalc; } J3DTransformInfo& getTransformInfo() { return mTransformInfo; } + Vec* getMax() { return &mMax; } + Vec* getMin() { return &mMin; } + void setCallBack(J3DJointCallBack callback) { mCallBack = callback; } static J3DMtxCalc* mCurrentMtxCalc; diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index fbd0a35597..fcc391beea 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -69,6 +69,7 @@ public: Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); } void setBaseScale(const Vec& scale) { mBaseScale = scale; } void setUserArea(u32 area) { mUserArea = area; } + Vec* getBaseScale() { return &mBaseScale; } // is there a better way to handle inlines with same name as non-inlines? MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); } diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 59203403b1..331fc0b347 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -43,6 +43,8 @@ public: bool checkFlag(u32 flag) const { return !!(mFlags & flag); } bool checkBumpFlag() const { return mbHasBumpArray; } bool checkBBoardFlag() const { return mbHasBillboard == 1; } + void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); } + void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); } int removeTexNoAnimator(J3DAnmTexPattern* anm) { return mMaterialTable.removeTexNoAnimator(anm); } diff --git a/include/JSystem/JFramework/JFWSystem.h b/include/JSystem/JFramework/JFWSystem.h index b8af555edf..66c89e8c56 100644 --- a/include/JSystem/JFramework/JFWSystem.h +++ b/include/JSystem/JFramework/JFWSystem.h @@ -27,6 +27,14 @@ struct JFWSystem { /* 80271D18 */ static void init(); static JUTConsole* getSystemConsole() { return systemConsole; } + static JKRExpHeap* getSystemHeap() { return systemHeap; } + + static void setMaxStdHeap(s32 max) { CSetUpParam::maxStdHeaps = max; } + static void setSysHeapSize(u32 size) { CSetUpParam::sysHeapSize = size; } + static void setFifoBufSize(u32 size) { CSetUpParam::fifoBufSize = size; } + static void setAramAudioBufSize(u32 size) { CSetUpParam::aramAudioBufSize = size; } + static void setAramGraphBufSize(u32 size) { CSetUpParam::aramGraphBufSize = size; } + static void setRenderMode(GXRenderModeObj* p_modeObj) { CSetUpParam::renderMode = p_modeObj; } static JKRExpHeap* rootHeap; static JKRExpHeap* systemHeap; diff --git a/include/JSystem/JKernel/JKRDvdAramRipper.h b/include/JSystem/JKernel/JKRDvdAramRipper.h index fa9f33357c..ed01abe023 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper.h +++ b/include/JSystem/JKernel/JKRDvdAramRipper.h @@ -42,6 +42,8 @@ public: static JKRADCommand* callCommand_Async(JKRADCommand*); static bool syncAram(JKRADCommand*, int); + static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; } + // TODO: fix type static u8 sDvdAramAsyncList[12]; static u32 sSZSBufferSize; diff --git a/include/JSystem/JKernel/JKRDvdRipper.h b/include/JSystem/JKernel/JKRDvdRipper.h index 0b6ec79330..21f068e3dd 100644 --- a/include/JSystem/JKernel/JKRDvdRipper.h +++ b/include/JSystem/JKernel/JKRDvdRipper.h @@ -29,6 +29,8 @@ public: ALLOC_DIRECTION_BACKWARD = 2, }; + static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; } + static void* loadToMainRAM(char const*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection, u32, JKRCompression*, u32*); static void* loadToMainRAM(long, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection, u32, diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index d0f0fc9c0d..bd12375650 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -8,6 +8,8 @@ class JKRHeap; typedef void (*JKRErrorHandler)(void*, u32, int); +extern bool data_804508B0; + class JKRHeap : public JKRDisposer { public: class TState { @@ -134,6 +136,7 @@ public: static JKRErrorHandler setErrorHandler(JKRErrorHandler errorHandler); + static void setDefaultDebugFill(bool status) { data_804508B0 = status; } static void* getCodeStart(void) { return mCodeStart; } static void* getCodeEnd(void) { return mCodeEnd; } static void* getUserRamStart(void) { return mUserRamStart; } diff --git a/include/JSystem/JMessage/control.h b/include/JSystem/JMessage/control.h index 71d29d7268..e695c8c35d 100644 --- a/include/JSystem/JMessage/control.h +++ b/include/JSystem/JMessage/control.h @@ -2,22 +2,38 @@ #define CONTROL_H #include "dolphin/types.h" +#include "JSystem/JMessage/processor.h" +#include "JSystem/JMessage/resource.h" namespace JMessage { -struct TProcessor; - struct TControl { /* 802A7548 */ TControl(); - /* 802A758C */ ~TControl(); + /* 802A758C */ virtual ~TControl(); + /* 802A75D4 */ void reset(); /* 802A7634 */ void update(); /* 802A76BC */ void render(); /* 802A77E8 */ void setMessageCode(u16, u16); /* 802A78F4 */ void setMessageID(u32, u32, bool*); /* 802A7A20 */ void setMessageCode_inSequence_(JMessage::TProcessor const*, u16, u16); + + /* 0x04 */ TSequenceProcessor* pSequenceProcessor_; + /* 0x08 */ TRenderingProcessor* pRenderingProcessor_; + /* 0x0C */ u16 messageCode_; + /* 0x0E */ u16 field_0xe; + /* 0x10 */ TResource* pResourceCache_; + /* 0x14 */ void* pEntry_; + /* 0x18 */ u32 pMessageText_begin_; + /* 0x1C */ char* pszText_update_current_; + /* 0x20 */ u32 field_0x20; + /* 0x24 */ TProcessor::TStack_ oStack_renderingProcessor_; }; }; // namespace JMessage -struct jmessage_tControl {}; +struct jmessage_tControl : public JMessage::TControl { + /* 802299EC */ jmessage_tControl(); + + /* 80039B0C */ virtual ~jmessage_tControl(); +}; #endif /* CONTROL_H */ diff --git a/include/JSystem/JMessage/processor.h b/include/JSystem/JMessage/processor.h index 53281106f7..a4e3cbe14d 100644 --- a/include/JSystem/JMessage/processor.h +++ b/include/JSystem/JMessage/processor.h @@ -3,10 +3,36 @@ #include "SSystem/SComponent/c_xyz.h" #include "dolphin/types.h" +#include "JSystem/JUtility/JUTFont.h" namespace JMessage { +struct TResource; +struct TResourceContainer; + +struct TReference { + /* 802A7AF8 */ virtual ~TReference(); + /* 802A7B40 */ virtual bool do_word(u32) const; + + TResourceContainer* pcResource_; +}; + struct TProcessor { - /* 802A7B48 */ ~TProcessor(); + struct TStack_ { + /* 0x0 */ int upsz_; // size + /* 0x4 */ const char* stack[4]; + }; // Size: 0x14 + + struct TProcess_ { + /* 0x0 */ void* pfnProcess_CharacterEnd; + struct { + /* 0x0 */ void* pfn; + /* 0x4 */ u32 pcBase; + /* 0x8 */ u32 pOffset; + /* 0xC */ u32 uRest; + } + /* 0x4 */ rData; + }; // Size: 0x14 + /* 802A7B90 */ void reset(); /* 802A7BF8 */ void stack_pushCurrent(char const*); /* 802A7C30 */ void stack_popCurrent(); @@ -16,17 +42,7 @@ struct TProcessor { char const*, u32); /* 802A7EDC */ void on_select_end(); /* 802A7F34 */ void on_select_separate(); - /* 802A7FC0 */ void do_reset(); - /* 802A7FC4 */ void do_begin(void const*, char const*); - /* 802A7FC8 */ void do_end(); - /* 802A7FCC */ void do_character(int); - /* 802A7FD0 */ bool do_tag(u32, void const*, u32); - /* 802A7FD8 */ void do_select_begin(u32); - /* 802A7FDC */ void do_select_end(); - /* 802A7FE0 */ void do_select_separate(); /* 802A7FE4 */ void on_tag_(); - /* 802A8084 */ void do_resetStatus_(char const*); - /* 802A8088 */ bool do_setBegin_isReady_() const; /* 802A8090 */ void do_tag_(u32, void const*, u32); /* 802A81EC */ void process_character_(); /* 802A828C */ void process_onCharacterEnd_normal_(JMessage::TProcessor*); @@ -35,18 +51,36 @@ struct TProcessor { /* 802A8358 */ void process_onSelect_(JMessage::TProcessor*); /* 802A8C24 */ void on_message(u32) const; /* 802A8C44 */ void getMessageText_messageCode(u32) const; -}; -struct TReference { - /* 802A7AF8 */ ~TReference(); - /* 802A7B40 */ bool do_word(u32) const; + /* 802A7B48 */ virtual ~TProcessor(); + /* 802A7FC0 */ virtual void do_reset(); + /* 802A7FC4 */ virtual void do_begin(void const*, char const*); + /* 802A7FC8 */ virtual void do_end(); + /* 802A7FCC */ virtual void do_character(int); + /* 802A7FD0 */ virtual bool do_tag(u32, void const*, u32); + /* 802A7FD8 */ virtual void do_select_begin(u32); + /* 802A7FDC */ virtual void do_select_end(); + /* 802A7FE0 */ virtual void do_select_separate(); + /* 802A8084 */ virtual void do_resetStatus_(char const*); + /* 802A8088 */ virtual bool do_setBegin_isReady_() const; + + /* 0x04 */ TReference* pReference_; + /* 0x08 */ TResource* pResourceCache_; + /* 0x0C */ const char* pszCurrent_; + /* 0x10 */ TStack_ oStack_; + /* 0x24 */ TProcess_ oProcess_; }; struct TControl; -struct TSequenceProcessor { +struct TSequenceProcessor : public TProcessor { + enum SeqStatus { + STATUS_NORMAL = 2, + STATUS_JUMP, + STATUS_BRANCH, + }; + /* 802A8374 */ TSequenceProcessor(JMessage::TReference const*, JMessage::TControl*); - /* 802A83B8 */ ~TSequenceProcessor(); /* 802A8418 */ void process(char const*); /* 802A85A4 */ void on_isReady(); /* 802A85D0 */ void on_jump_register(void const* (*)(JMessage::TSequenceProcessor const*), u32); @@ -57,54 +91,211 @@ struct TSequenceProcessor { /* 802A86A0 */ void on_branch_query(u32); /* 802A86D4 */ void on_branch_queryResult(); /* 802A8700 */ void on_branch(void const*, char const*); - /* 802A8780 */ bool do_isReady(); - /* 802A8788 */ bool do_jump_isReady(); - /* 802A8790 */ void do_jump(void const*, char const*); - /* 802A8794 */ void do_branch_query(u32); - /* 802A8798 */ s32 do_branch_queryResult(); - /* 802A87A0 */ void do_branch(void const*, char const*); - /* 802A87A4 */ void do_resetStatus_(char const*); - /* 802A87C0 */ void do_setBegin_isReady_() const; - /* 802A87D0 */ void do_begin_(void const*, char const*); - /* 802A87D4 */ void do_end_(); - /* 802A87E0 */ void do_tag_(u32, void const*, u32); /* 802A892C */ void process_setMessageIndex_reserved_(u16); /* 802A8944 */ void process_setMessageCode_(JMessage::TSequenceProcessor const*, u16, u16); /* 802A89B8 */ void process_onJump_limited_(JMessage::TSequenceProcessor const*); /* 802A89EC */ void process_onJump_(JMessage::TSequenceProcessor const*); /* 802A8A18 */ void process_onBranch_limited_(JMessage::TSequenceProcessor const*, u32); /* 802A8A50 */ void process_onBranch_(JMessage::TSequenceProcessor const*, u32); + + /* 802A83B8 */ virtual ~TSequenceProcessor(); + /* 802A87A4 */ virtual void do_resetStatus_(char const*); + /* 802A87C0 */ virtual void do_setBegin_isReady_() const; + /* 802A87D0 */ virtual void do_begin_(void const*, char const*); + /* 802A87D4 */ virtual void do_end_(); + /* 802A87E0 */ virtual void do_tag_(u32, void const*, u32); + /* 802A8780 */ virtual bool do_isReady(); + /* 802A8788 */ virtual bool do_jump_isReady(); + /* 802A8790 */ virtual void do_jump(void const*, char const*); + /* 802A8794 */ virtual void do_branch_query(u32); + /* 802A8798 */ virtual s32 do_branch_queryResult(); + /* 802A87A0 */ virtual void do_branch(void const*, char const*); + + /* 0x38 */ TControl* pControl_; + /* 0x3C */ SeqStatus eStatus_; + /* 0x40 */ TProcess_ oProcess2_; }; -struct TRenderingProcessor { +struct TRenderingProcessor : public TProcessor { /* 802A8A84 */ TRenderingProcessor(JMessage::TReference const*); - /* 802A8AC0 */ ~TRenderingProcessor(); /* 802A8B20 */ void process(char const*); - /* 802A8BA4 */ void do_begin_(void const*, char const*); - /* 802A8BA8 */ void do_end_(); - /* 802A8BAC */ void do_tag_(u32, void const*, u32); + + /* 802A8AC0 */ virtual ~TRenderingProcessor(); + /* 802A8BA4 */ virtual void do_begin_(void const*, char const*); + /* 802A8BA8 */ virtual void do_end_(); + /* 802A8BAC */ virtual void do_tag_(u32, void const*, u32); }; }; // namespace JMessage -struct jmessage_tReference { +struct STControl; +struct dMsgObject_c; +struct jmessage_tReference : public JMessage::TReference { /* 80228B04 */ jmessage_tReference(); + /* 80228D28 */ void calcDistance(); + /* 80228DE0 */ void getLineMax(); + /* 80228E6C */ void isKanban(); + /* 80228EA0 */ void isPlaceName(); + /* 80228ED4 */ void isBossName(); + /* 80228F08 */ void isSaveSeq(); + /* 80228F3C */ void isBook(); + /* 80228F70 */ void isStaffRoll(); + /* 80228FA4 */ void isHowl(); + /* 80228FD8 */ void isMidona(); + /* 8022900C */ void resetReference(); /* 80229034 */ void pageSend(); /* 80229168 */ void selectMessage(); /* 802294A8 */ void inputNumber(); + /* 80229730 */ void getWord(int); + /* 80229744 */ void resetWord(); + /* 80229768 */ void setCharactor(u16); + /* 80229788 */ void addCharactor(u16); + /* 802297B0 */ void resetCharactor(); /* 802297E4 */ void shiftCharCountBuffer(); /* 80229810 */ void resetCharCountBuffer(); + /* 80229848 */ void allsetCharCountBuffer(); + /* 8022986C */ void isCharSend(); + /* 802298DC */ void isLightSend(); /* 8022994C */ void isLightEnd(); - /* 80238C78 */ void setActorPos(cXyz); -}; + /* 802299AC */ void decideOutFontRupeeColor(int); + /* 80232A20 */ void getActorPos(); + + /* 80238C78 */ void setActorPos(cXyz pos) { + mActorPos = pos; + } + + /* 80228CB4 */ virtual ~jmessage_tReference(); + +private: + /* 0x0008 */ STControl* mpStick; + /* 0x000C */ u16 field_0xc[0x200]; + /* 0x040C */ s16 field_0x40c; + /* 0x040E */ s16 field_0x40e; + /* 0x0410 */ s16 mCountBackUp; + /* 0x0414 */ cXyz mActorPos; + /* 0x0420 */ f32 mFontSizeX; + /* 0x0424 */ f32 mFontSizeY; + /* 0x0428 */ f32 mRubySize; + /* 0x042C */ f32 mTBoxWidth; + /* 0x0430 */ f32 mTBoxHeight; + /* 0x0434 */ f32 mLineSpace; + /* 0x0438 */ f32 mCharSpace; + /* 0x043C */ f32 mRubyCharSpace; + /* 0x0440 */ f32 mSelFontSize; + /* 0x0444 */ f32 mSelRubySize; + /* 0x0448 */ f32 mSelTBoxWidth; + /* 0x044C */ f32 mSelCharSpace; + /* 0x0450 */ f32 mSelRubyCharSpace; + /* 0x0454 */ f32 mDistanceScale; + /* 0x0458 */ f32 mAddCharAllAlphaRate; + /* 0x045C */ f32 mCharAllAlphaRate; + /* 0x0460 */ f32 mAddCharAlpha; + /* 0x0464 */ f32 mCharAlpha; + /* 0x0468 */ f32 mStrLength[40]; + /* 0x0508 */ f32 mSpaceLength[40]; + /* 0x05A8 */ f32 mSelLength[3]; + /* 0x05B4 */ u32 mDemoFrame; + /* 0x05B8 */ u32 mRevoMessageID; + /* 0x05BC */ u16* mpStatus; + /* 0x05C0 */ dMsgObject_c* mpObjectPtr; + /* 0x05C4 */ char* mpSelMsgPtr; + /* 0x05C8 */ JUTFont* mpFont; + /* 0x05CC */ s16 mStartLineCount; + /* 0x05CE */ s16 mEndLineCount; + /* 0x05D0 */ u16 mLineCount; + /* 0x05D2 */ s16 field_0x5d2; + /* 0x05D4 */ s16 mPageEndCount; + /* 0x05D6 */ s16 mSendTimer; + /* 0x05D8 */ s16 mCharCnt; + /* 0x05DA */ s16 mPageNum; + /* 0x05DC */ u8 mNowLightCount; + /* 0x05DD */ u8 mDrawLightCount; + /* 0x05DE */ u16 mMsgID; + /* 0x05E0 */ u16 mLineScale[40]; + /* 0x0630 */ u16 mTopTagScale; + /* 0x0632 */ u16 mNowTagScale; + /* 0x0634 */ char mWord[10][100]; + /* 0x0A1C */ char mTextPtr[0x200]; + /* 0x0C1C */ char mTextSPtr[0x200]; + /* 0x0E1C */ char mRuby[0x200]; + /* 0x101C */ u8 mSelText[3][50]; + /* 0x10B2 */ u8 mSelRuby[3][80]; + /* 0x11A2 */ s8 mPageLine[40]; + /* 0x11CA */ s8 mPageLineMax[40]; + /* 0x11F2 */ u8 mPageType[40]; + /* 0x121A */ u8 mLineArrange[40]; + /* 0x1242 */ u8 mSelectNum; + /* 0x1243 */ u8 mSelectType; + /* 0x1244 */ u8 mSelectPos; + /* 0x1245 */ u8 mFukiPosType; + /* 0x1246 */ u8 mFukiKind; + /* 0x1247 */ u8 mForm; + /* 0x1248 */ u8 field_0x1248; + /* 0x1249 */ u8 mNowColorType; + /* 0x124A */ u8 mTopColorType; + /* 0x124B */ bool mButtonTagStopFlag; + /* 0x124C */ u8 mSendFlag; + /* 0x124D */ u8 mStopFlag; + /* 0x124E */ u8 mSelectRubyFlag; + /* 0x124F */ u8 mInputFigure; + /* 0x1250 */ u8 mOutFontRupeeColor; + /* 0x1251 */ s8 mNowWordCount; + /* 0x1252 */ s8 mTopWordCount; + /* 0x1253 */ u8 mCharCountBuffer[31]; + /* 0x1272 */ bool mLightBatchFlag; + /* 0x1273 */ bool mBatchFlag; + /* 0x1274 */ bool mSelectSetCancelFlag; + /* 0x1275 */ bool mBombNameUseFlag; + /* 0x1276 */ bool mBatchColorFlag; +}; // Size: 0x1278 struct jmessage_tControl; -struct jmessage_tSequenceProcessor { +struct jmessage_tSequenceProcessor : public JMessage::TSequenceProcessor { /* 8022B558 */ jmessage_tSequenceProcessor(jmessage_tReference const*, jmessage_tControl*); + /* 8022C904 */ void do_name1(); + /* 8022C908 */ void do_space(u32); + /* 8022CA24 */ void do_rubyset(void const*, u32); + /* 8022CAAC */ void push_word(); + /* 8022CB10 */ void messageSePlay(u8, u8, cXyz*); + /* 8022CBE8 */ void calcStringLength(); + + /* 8023299C */ virtual ~jmessage_tSequenceProcessor(); + /* 8022B654 */ virtual void do_reset(); + /* 8022B658 */ virtual void do_begin(void const*, char const*); + /* 8022BA3C */ virtual void do_end(); + /* 8022BFE0 */ virtual void do_character(int); + /* 8022C1A0 */ virtual void do_tag(u32, void const*, u32); + /* 8022BB7C */ virtual void do_isReady(); + /* 8022C8FC */ virtual bool do_jump_isReady(); + /* 8022CBE4 */ virtual void do_jump(void const*, char const*); }; -struct jmessage_tRenderingProcessor { +struct jmessage_tRenderingProcessor : public JMessage::TRenderingProcessor { /* 8022CCB0 */ jmessage_tRenderingProcessor(jmessage_tReference const*); /* 8022E12C */ void resetRendering(); + /* 8022E17C */ void do_widthcenter(); + /* 8022E260 */ void do_selwidthcenter(int); + /* 8022E318 */ void do_heightcenter(); + /* 8022E7CC */ void do_color(u8); + /* 8022E860 */ void do_scale(f32); + /* 8022E960 */ void do_linedown(s16); + /* 8022E9C0 */ void do_transY(s16, bool); + /* 8022EAE4 */ void do_outfont(u8, u32); + /* 8022ED10 */ void do_arrow2(); + /* 8022EECC */ void getLineLength(int); + /* 8022EF00 */ void do_strcat(char*, bool, bool, bool); + /* 8022F148 */ void do_rubyset(void const*, u32); + /* 8022F384 */ void do_rubystrcat(char*, char*, f32, f32); + /* 8022F53C */ void do_name1(); + /* 8022F540 */ void do_numset(s16); + /* 8022F734 */ void push_word(); + /* 8022F784 */ void getCharInfo(f32, f32, f32, f32, f32); + + /* 8023293C */ virtual ~jmessage_tRenderingProcessor(); + /* 8022CDC8 */ virtual void do_reset(); + /* 8022CDCC */ virtual void do_begin(void const*, char const*); + /* 8022CFD8 */ virtual void do_end(); + /* 8022D0A0 */ virtual void do_character(int); + /* 8022D74C */ virtual void do_tag(u32, void const*, u32); }; #endif /* PROCESSOR_H */ diff --git a/include/JSystem/JMessage/resource.h b/include/JSystem/JMessage/resource.h index b1fc2b3a60..891075a14d 100644 --- a/include/JSystem/JMessage/resource.h +++ b/include/JSystem/JMessage/resource.h @@ -2,9 +2,11 @@ #define RESOURCE_H #include "dolphin/types.h" +#include "JSystem/JGadget/linklist.h" +#include "JSystem/JStudio/JStudio/fvb-data.h" namespace JMessage { -struct TResource { +struct TResource : public JGadget::TLinkListNode { /* 802A8CDC */ void toMessageIndex_messageID(u32, u32, bool*) const; }; diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 0c009f21b4..92f7b1de73 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -194,10 +194,11 @@ struct JPAEmitterWorkData { class JPAEmitterCallBack { public: - /* 80050368 */ void execute(JPABaseEmitter*); - /* 8005036C */ void draw(JPABaseEmitter*); - /* 80050370 */ void drawAfter(JPABaseEmitter*); - /* 80050374 */ void executeAfter(JPABaseEmitter*); + /* 80050368 */ virtual void execute(JPABaseEmitter*); + /* 80050374 */ virtual void executeAfter(JPABaseEmitter*); + /* 8005036C */ virtual void draw(JPABaseEmitter*); + /* 80050370 */ virtual void drawAfter(JPABaseEmitter*); + /* 8027E6A4 */ ~JPAEmitterCallBack(); }; @@ -230,6 +231,7 @@ public: u8 getResourceManagerID() const { return mResMgrID; } u8 getGroupID() const { return mGroupID; } u8 getDrawTimes() const { return mDrawTimes; } + void setRate(f32 rate) { mRate = rate; } f32 get_r_f() { return mRndm.get_rndm_f(); } f32 get_r_zp() { return mRndm.get_rndm_zp(); } diff --git a/include/JSystem/JUtility/JUTCacheFont.h b/include/JSystem/JUtility/JUTCacheFont.h index 9506005bee..53a6dcf30b 100644 --- a/include/JSystem/JUtility/JUTCacheFont.h +++ b/include/JSystem/JUtility/JUTCacheFont.h @@ -2,5 +2,78 @@ #define JUTCACHEFONT_H #include "dolphin/types.h" +#include "JSystem/JUtility/JUTResFont.h" +#include "JSystem/JKernel/JKRAram.h" + +class JUTCacheFont : public JUTResFont { +public: + struct TGlyphCacheInfo { + /* 0x0 */ TGlyphCacheInfo* field_0x0; + /* 0x4 */ TGlyphCacheInfo** field_0x4; + }; + + struct TCachePage { + /* 0x00 */ u8 field_0x0[8]; + /* 0x08 */ s16 field_0x8; + /* 0x0A */ u16 field_0xa; + /* 0x0C */ u8 field_0xc[4]; + /* 0x10 */ u8* field_0x10; + /* 0x14 */ u16 field_0x14; + /* 0x16 */ u16 field_0x16; + /* 0x18 */ u16 field_0x18; + /* 0x1A */ u16 field_0x1a; + /* 0x1C */ u16 field_0x1c; + /* 0x1E */ u16 field_0x1e; + }; // Size: 0x20 + + enum EPagingType { + PAGE_TYPE_0, + PAGE_TYPE_1, + }; + + /* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*); + /* 802DD29C */ void deleteMemBlocks_CacheFont(); + /* 802DD320 */ void initialize_state(); + /* 802DD35C */ int getMemorySize(ResFONT const*, u16*, u32*, u16*, u32*, u16*, u32*, u32*); + /* 802DD4EC */ int initiate(ResFONT const*, void*, u32, JKRHeap*); + /* 802DD54C */ bool internal_initiate(ResFONT const*, void*, u32, JKRHeap*); + /* 802DD650 */ bool allocArea(void*, u32, JKRHeap*); + /* 802DD804 */ bool allocArray(JKRHeap*); + /* 802DDB0C */ void determineBlankPage(); + /* 802DDBBC */ void getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo*, JUTCacheFont::TCachePage*, + int*, int*); + /* 802DDD98 */ void loadCache_char_subroutine(int*, bool); + /* 802DDEE0 */ void invalidiateAllCache(); + /* 802DDF68 */ void unlink(JUTCacheFont::TGlyphCacheInfo*); + /* 802DDFAC */ void prepend(JUTCacheFont::TGlyphCacheInfo*); + + /* 802DD208 */ virtual ~JUTCacheFont(); + /* 802DDCE4 */ virtual void loadImage(int, _GXTexMapID); + /* 802DD8EC */ virtual void setBlock(); + + void setPagingType(EPagingType type) { mPagingType = type; } + + static u32 calcCacheSize(u32 param_0, int param_1) { return (ALIGN_NEXT(param_0, 0x20) + 0x40) * param_1; } + +private: + /* 0x70 */ u32 mTotalWidSize; + /* 0x74 */ u32 mTotalGlySize; + /* 0x78 */ u32 mTotalMapSize; + /* 0x7C */ void* field_0x7c; + /* 0x80 */ void* field_0x80; + /* 0x84 */ void* field_0x84; + /* 0x88 */ u32 mMaxSheetSize; + /* 0x8C */ EPagingType mPagingType; + /* 0x90 */ void** mCacheBuffer; + /* 0x94 */ int field_0x94; + /* 0x98 */ u32 mCachePage; + /* 0x9C */ TGlyphCacheInfo* field_0x9c; + /* 0xA0 */ TGlyphCacheInfo* field_0xa0; + /* 0xA4 */ void* field_0xa4; + /* 0xA8 */ u32 field_0xa8; + /* 0xAC */ JKRAramBlock* field_0xac; + /* 0xB0 */ u8 field_0xb0; + /* 0xB4 */ int field_0xb4; +}; // Size: 0xB8 #endif /* JUTCACHEFONT_H */ diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index 01fedd9692..e18fc11bf4 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -11,7 +11,9 @@ class JUTConsole : public JKRDisposer { public: enum EConsoleType { - UNK_TYPE2 = 2, + CONSOLE_TYPE_0 = 0, + CONSOLE_TYPE_1 = 1, + CONSOLE_TYPE_2 = 2, }; enum OutputFlag { @@ -47,8 +49,8 @@ public: } void setHeight(u32 height) { mHeight = height; - if (mHeight > field_0x24) { - mHeight = field_0x24; + if (mHeight > mMaxLines) { + mHeight = mMaxLines; } } @@ -72,18 +74,27 @@ public: if (diff >= 0) { return diff; } - return diff += field_0x24; + return diff += mMaxLines; } - void scrollToLastLine() { scroll(field_0x24); } - void scrollToFirstLine() { scroll(-field_0x24); } + int nextIndex(int param_0) const { + int index = param_0 + 1; + if (mMaxLines <= index) { + index = 0; + } + + return index; + } + + void scrollToLastLine() { scroll(mMaxLines); } + void scrollToFirstLine() { scroll(-mMaxLines); } private: /* 0x18 */ JGadget::TLinkListNode mListNode; private: /* 0x20 */ u32 field_0x20; - /* 0x24 */ u32 field_0x24; + /* 0x24 */ u32 mMaxLines; /* 0x28 */ u8* mBuf; /* 0x2C */ bool field_0x2c; /* 0x30 */ int field_0x30; @@ -116,6 +127,8 @@ public: /* 802E8450 */ void drawDirect(bool) const; /* 802E84C4 */ void setDirectConsole(JUTConsole*); + JUTConsole* getDirectConsole() const { return mDirectConsole; } + static JUTConsoleManager* getManager() { return sManager; } static JUTConsoleManager* sManager; diff --git a/include/JSystem/JUtility/JUTException.h b/include/JSystem/JUtility/JUTException.h index 769a46a198..03976bde8c 100644 --- a/include/JSystem/JUtility/JUTException.h +++ b/include/JSystem/JUtility/JUTException.h @@ -88,6 +88,7 @@ public: /* 802E3980 */ static void waitTime(s32); static JUTException* getManager() { return sErrorManager; } + static JUTConsole* getConsole() { return sConsole; } JUTExternalFB* getFrameMemory() const { return mFrameMemory; } diff --git a/include/JSystem/JUtility/JUTFader.h b/include/JSystem/JUtility/JUTFader.h index a82a91e559..3615612ee1 100644 --- a/include/JSystem/JUtility/JUTFader.h +++ b/include/JSystem/JUtility/JUTFader.h @@ -24,7 +24,7 @@ public: s32 getStatus() const { return mStatus; } void setColor(JUtility::TColor color) { mColor.set(color); } -private: +//private: /* 0x04 */ s32 mStatus; /* 0x08 */ u16 field_0x8; /* 0x0A */ u16 field_0xa; diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index 73580e83a7..a6d7904493 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -74,7 +74,7 @@ public: /* 0x24 */ virtual s32 getHeight() const = 0; /* 0x28 */ virtual s32 getWidth() const = 0; /* 0x2C */ virtual void getWidthEntry(int i_no, TWidth* width) const; - /* 0x30 */ virtual u16 getCellWidth() const; + /* 0x30 */ virtual int getCellWidth() const; /* 0x34 */ virtual u16 getCellHeight() const; /* 0x38 */ virtual u16 getFontType() const = 0; /* 0x3C */ virtual ResFONT* getResFont() const = 0; @@ -87,16 +87,30 @@ public: void initialize_state(); void setCharColor(JUtility::TColor col1); void setGradColor(JUtility::TColor col1, JUtility::TColor col2); - f32 drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* a5, u32 usz, bool a7); + f32 drawString_size_scale(f32 posX, f32 posY, f32 width, f32 height, const char* str, u32 usz, + bool visible); - void drawString(int param_0, int param_1, const char* str, bool param_3) { - drawString_size(param_0, param_1, str, strlen(str), param_3); + void drawString(int posX, int posY, const char* str, bool visible) { + drawString_size(posX, posY, str, strlen(str), visible); } - void drawString_size(int param_0, int param_1, const char* str, u32 len, bool param_4) { - drawString_size_scale(param_0, param_1, getWidth(), getHeight(), str, len, param_4); + void drawString_size(int posX, int posY, const char* str, u32 len, bool visible) { + drawString_size_scale(posX, posY, getWidth(), getHeight(), str, len, visible); } + void drawString_scale(f32 posX, f32 posY, f32 width, f32 height, const char* str, + bool visible) { + drawString_size_scale(posX, posY, width, height, str, strlen(str), visible); + } + + int getWidth(int i_no) const { + TWidth width; + getWidthEntry(i_no, &width); + return width.field_0x1; + } + + bool isValid() const { return mValid; } + /* 0x04 */ bool mValid; /* 0x05 */ bool mFixed; /* 0x08 */ int mFixedWidth; diff --git a/include/JSystem/JUtility/JUTResFont.h b/include/JSystem/JUtility/JUTResFont.h index d19dad3a0b..91861e6539 100644 --- a/include/JSystem/JUtility/JUTResFont.h +++ b/include/JSystem/JUtility/JUTResFont.h @@ -17,7 +17,7 @@ public: /* 802DE01C */ virtual s32 getHeight() const; /* 802DDFF8 */ virtual s32 getWidth() const; /* 802DFC64 */ virtual void getWidthEntry(int, JUTFont::TWidth*) const; - /* 802DFD0C */ virtual u16 getCellWidth() const; + /* 802DFD0C */ virtual int getCellWidth() const; /* 802DFD58 */ virtual u16 getCellHeight() const; /* 802DDFE0 */ virtual u16 getFontType() const; /* 802DDFD8 */ virtual ResFONT* getResFont() const; diff --git a/include/JSystem/JUtility/TColor.h b/include/JSystem/JUtility/TColor.h index 0cd2354d92..344a6cf10b 100644 --- a/include/JSystem/JUtility/TColor.h +++ b/include/JSystem/JUtility/TColor.h @@ -9,6 +9,7 @@ struct TColor : public GXColor { TColor(u8 r, u8 g, u8 b, u8 a) { set(r, g, b, a); } TColor() { set(0xffffffff); } TColor(u32 u32Color) { set(u32Color); } + TColor(GXColor color) { set(color); } // TColor(const TColor& other) { set(other.toUInt32()); } TColor& operator=(const TColor& other) { diff --git a/include/SSystem/SComponent/c_API_controller_pad.h b/include/SSystem/SComponent/c_API_controller_pad.h index 326d6948c9..a8476b8d29 100644 --- a/include/SSystem/SComponent/c_API_controller_pad.h +++ b/include/SSystem/SComponent/c_API_controller_pad.h @@ -33,5 +33,6 @@ struct interface_of_controller_pad { }; void cAPICPad_recalibrate(void); +u32 cAPICPad_ANY_BUTTON(u32 param_0); #endif \ No newline at end of file diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 31a435ce5f..1f1dfce7df 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -336,6 +336,7 @@ public: /* 802648B0 */ void ClrHit(); /* 802648C8 */ void SetHit(cCcD_Obj*); int GetType() const { return mType; } + void SetType(u32 type) { mType = type; } u32 GetGrp() const { return MskSPrm(0x1E); } bool ChkSet() const { return MskSPrm(1); } @@ -358,6 +359,7 @@ public: u32 GetIGrp() const { return MskSPrm(0xE); } u32 ChkNoCrr() const { return MskSPrm(0x100); } u32 ChkSph3DCrr() const { return MskSPrm(0x80); } + void ClrSet() { OffSPrmBit(1); } }; STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCo)); @@ -398,9 +400,13 @@ public: u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); } void OnAtSPrmBit(u32 flag) { mObjAt.OnSPrmBit(flag); } void OffAtSPrmBit(u32 flag) { mObjAt.OffSPrmBit(flag); } + void OffCoSPrmBit(u32 flag) { mObjCo.OffSPrmBit(flag); } void SetAtType(u32 type) { mObjAt.SetType(type); } void OnAtSetBit() { mObjAt.OnSPrmBit(1); } void SetAtAtp(int atp) { mObjAt.SetAtp(atp); } + void OffCoSetBit() { mObjCo.ClrSet(); } + void SetTgType(u32 type) { mObjTg.SetType(type); } + void OnTgSPrmBit(u32 flag) { mObjTg.OnSPrmBit(flag); } }; // Size = 0x40 @@ -422,6 +428,7 @@ public: fopAc_ac_c* GetAc(); cCcD_Stts* GetStts() { return mStts; } + void SetStts(cCcD_Stts* stts) { mStts = stts; } cCcD_DivideInfo& GetDivideInfo() { return mDivideInfo; } int ChkBsRevHit() const { return field_0x40 & 2; } diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index aae7cc1ae7..cd22aa70a6 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -25,7 +25,7 @@ void cLib_addCalcAngleS2(short*, short, short, short); int cLib_chaseUC(unsigned char*, unsigned char, unsigned char); int cLib_chaseS(short*, short, short); -int cLib_chaseF(float*, float, float); +int cLib_chaseF(float* value, float target, float step); int cLib_chasePos(cXyz*, const cXyz&, float); int cLib_chasePosXZ(cXyz*, const cXyz&, float); int cLib_chaseAngleS(short*, short, short); @@ -61,6 +61,9 @@ inline T cLib_minMaxLimit(T val, T min, T max) { return ret; } +template +T cLib_calcTimer(T* val); + void MtxInit(void); void MtxTrans(float, float, float, unsigned char); void MtxScale(float, float, float, unsigned char); @@ -68,4 +71,6 @@ void MtxPosition(cXyz*, cXyz*); void MtxPush(void); Mtx* MtxPull(void); +extern Mtx* calc_mtx; + #endif diff --git a/include/SSystem/SComponent/c_xyz.h b/include/SSystem/SComponent/c_xyz.h index 2492f92906..8e7757685a 100644 --- a/include/SSystem/SComponent/c_xyz.h +++ b/include/SSystem/SComponent/c_xyz.h @@ -120,6 +120,8 @@ struct cXyz : Vec { f32 absXZ() const { return sqrtf(this->abs2XZ()); } f32 absXZ(const Vec& other) const { return sqrtf(this->abs2XZ(other)); } f32 getMagXZ() const { return cXyz(this->x, 0, this->z).getSquareMag(); } + + f32 getDotProduct(const Vec& other) const { return PSVECDotProduct(this, &other); } }; #endif /* C_XYZ_H */ diff --git a/include/a/obj/d_a_obj_item.h b/include/a/obj/d_a_obj_item.h deleted file mode 100644 index 141f549a92..0000000000 --- a/include/a/obj/d_a_obj_item.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef A_OBJ_D_A_OBJ_ITEM_H -#define A_OBJ_D_A_OBJ_ITEM_H - -#include "dolphin/types.h" - -#endif /* A_OBJ_D_A_OBJ_ITEM_H */ diff --git a/include/a/obj/d_a_obj_ss_base.h b/include/a/obj/d_a_obj_ss_base.h deleted file mode 100644 index 250d5a2f01..0000000000 --- a/include/a/obj/d_a_obj_ss_base.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef A_OBJ_D_A_OBJ_SS_BASE_H -#define A_OBJ_D_A_OBJ_SS_BASE_H - -#include "dolphin/types.h" - -#endif /* A_OBJ_D_A_OBJ_SS_BASE_H */ diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 1513caf469..f146bda476 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -26,7 +26,7 @@ class fopEn_enemy_c; class daAlinkHIO_anm_c; class J3DAnmTevRegKey; class dDemo_actor_c; - +class daScex_c; class J2DScreen; class J2DPane; class J2DAnmBase; @@ -57,10 +57,10 @@ private: /* 0x20 */ J2DAnmTevRegKey* field_0x20; /* 0x24 */ J2DAnmColorKey* field_0x24; /* 0x28 */ J2DAnmTransformKey* field_0x28; - /* 0x2C */ float field_0x2c; - /* 0x30 */ float field_0x30; - /* 0x34 */ float field_0x34; - /* 0x38 */ float field_0x38; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ f32 field_0x34; + /* 0x38 */ f32 field_0x38; }; class daAlink_sight_c : public daPy_sightPacket_c { @@ -88,7 +88,7 @@ public: /* 80125BF4 */ virtual void draw(); /* 800CFD58 */ virtual ~daAlink_blur_c(); -private: +// private: /* 0x010 */ void* m_blurTex; /* 0x014 */ int field_0x14; /* 0x018 */ u8 field_0x18[4]; @@ -116,7 +116,7 @@ public: private: /* 0x04 */ s16 mHitFlg; /* 0x06 */ s16 mAppearFlg; - /* 0x08 */ float mKeepMinY; + /* 0x08 */ f32 mKeepMinY; /* 0x0C */ cXyz mHitPos; }; // Size = 0x18 @@ -172,6 +172,9 @@ struct daAlink_WlAnmData { /* 0x7 */ u8 field_0x7; }; // Size: 0x8 +class daAlink_c; +typedef int (daAlink_c::*daAlink_procFunc)(); + class daAlink_c : public daPy_py_c { public: enum daAlink_ANM { @@ -198,8 +201,13 @@ public: /* 0xFD */ ANM_TRANSFORM_WOLF = 0xFD, // verify + /* 0x188 */ ANM_DUNGEON_WARP_READY_INIT = 0x188, + /* 0x18D */ ANM_CUT_JUMP_LARGE = 0x18D, // verify - ANM_GANON_FINISH = 408 // name probably wrong, fix later + /* 0x18F */ ANM_MASTER_SWORD_STICK_INIT = 0x18F, + /* 0x190 */ ANM_MASTER_SWORD_STICK, + /* 0x191 */ ANM_MASTER_SWORD_PULL_INIT, + /* 0x198 */ ANM_GANON_FINISH = 408, // name probably wrong, fix later }; enum daAlink_UPPER { @@ -251,165 +259,358 @@ public: }; enum daAlink_PROC { - /* 0x000 */ PREACTION_UNEQUIP, - /* 0x001 */ SERVICE_WAIT, - /* 0x003 */ HUMAN_WAIT = 3, - /* 0x004 */ HUMAN_MOVE, - /* 0x005 */ HUMAN_ATN_MOVE, - /* 0x006 */ HUMAN_ATN_ACTOR_WAIT, - /* 0x007 */ HUMAN_ATN_ACTOR_MOVE, - /* 0x008 */ HUMAN_WAIT_TURN, - /* 0x009 */ HUMAN_MOVE_TURN, - /* 0x00A */ HUMAN_SIDESTEP, - /* 0x00B */ HUMAN_SIDESTEP_LAND, - /* 0x00C */ HUMAN_SLIDE, - /* 0x00D */ HUMAN_SLIDE_LAND, - /* 0x00E */ FRONT_ROLL, - /* 0x00F */ FRONT_ROLL_CRASH, - /* 0x010 */ HUMAN_KNOCKBACK, - /* 0x011 */ SIDE_ROLL, - /* 0x012 */ BACK_JUMP, - /* 0x013 */ BACK_JUMP_LAND, - /* 0x014 */ SLIP, - /* 0x015 */ HUMAN_AUTOJUMP, - /* 0x016 */ DIVE_JUMP, - /* 0x017 */ ROLL_JUMP, - /* 0x018 */ FALL, - /* 0x019 */ LAND, - /* 0x01A */ SMALL_JUMP, - /* 0x01B */ STEP_MOVE, - /* 0x01D */ GUARD_SLIP = 29, - /* 0x01E */ GUARD_ATTACK, - /* 0x01F */ GUARD_BREAK, - /* 0x020 */ TURN_MOVE, - /* 0x021 */ CUT_NORMAL, - /* 0x022 */ CUT_FINISH, - /* 0x023 */ CUT_FINISH_JUMP_UP, - /* 0x024 */ CUT_FINISH_JUMP_UP_LAND, - /* 0x025 */ CUT_REVERSE, - /* 0x026 */ CUT_JUMP, - /* 0x027 */ CUT_JUMP_LAND, - /* 0x028 */ COMBO_CUT_TURN, - /* 0x029 */ CUT_CHARGE, - /* 0x02A */ CUT_TURN_MOVE, - /* 0x02B */ CUT_DOWN, - /* 0x02C */ CUT_DOWN_LAND, - /* 0x02D */ CUT_HEAD, - /* 0x02E */ CUT_HEAD_LAND, - /* 0x02F */ CUT_LARGE_JUMP_CHARGE, - /* 0x030 */ CUT_LARGE_JUMP, - /* 0x031 */ CUT_LARGE_JUMP_LAND, - /* 0x032 */ DAMAGE, - /* 0x034 */ LAND_DAMAGE = 52, - /* 0x035 */ CRAWL_START, - /* 0x036 */ CRAWL_MOVE, - /* 0x037 */ CRAWL_AUTOMOVE, - /* 0x038 */ CRAWL_END, - /* 0x039 */ PULL_MOVE, - /* 0x03A */ HORSE_RIDE, - /* 0x03B */ HORSE_GETOFF, - /* 0x03D */ HORSE_TURN = 61, - /* 0x03E */ HORSE_JUMP, - /* 0x03F */ HORSE_LAND, - /* 0x040 */ HORSE_SUBJECTIVITY, - /* 0x041 */ HORSE_CUT, - /* 0x042 */ HORSE_CUT_CHARGE_READY, - /* 0x043 */ HORSE_CUT_TURN, - /* 0x044 */ HORSE_DAMAGE, - /* 0x045 */ RIDE_BOW_READY, - /* 0x04C */ HORSE_BOTTLE_DRINK = 76, - /* 0x04E */ HORSE_KANDELAAR_POUR = 78, - /* 0x04F */ HORSE_RUN, - /* 0x050 */ HORSE_HANG, - /* 0x053 */ BOAR_RUN = 83, - /* 0x055 */ HANG_START = 85, - /* 0x056 */ HANG_FALL_START, - /* 0x057 */ HANG_UP, - /* 0x058 */ HANG_WAIT, - /* 0x059 */ HANG_MOVE, - /* 0x065 */ COPY_ROD_SWING = 101, - /* 0x06B */ CLIMB_MOVE_LADDER = 107, - /* 0x06C */ GRAB_READY = 108, - /* 0x06D */ GRAB_UP, - /* 0x06F */ GRAB_THROW = 111, - /* 0x070 */ GRAB_DOWN, - /* 0x072 */ GRAB_REBOUND = 114, - /* 0x073 */ GRAB_STAND, - /* 0x074 */ INSECT_CATCH, - /* 0x075 */ PICK_UP, - /* 0x076 */ PICK_PUT, - /* 0x077 */ HUMAN_ST_ESCAPE, - /* 0x082 */ CLIMB_MOVE_VERTICAL = 130, - /* 0x083 */ CLIMB_MOVE_HORIZONTAL, - /* 0x084 */ CLIMB_HANG, - /* 0x08C */ CANOE_RIDE = 140, - /* 0x08D */ CANOE_JUMP_RIDE, - /* 0x08E */ CANOE_GETOFF, - /* 0x090 */ CANOE_ROW = 144, - /* 0x091 */ CANOE_PADDLE_SHIFT, - /* 0x092 */ CANOE_PADDLE_PUT, - /* 0x093 */ CANOE_PADDLE_GRAB, - /* 0x094 */ CANOE_ROD_GRAB, - /* 0x096 */ CANOE_FISHING_REEL = 150, - /* 0x097 */ CANOE_FISHING_GET, - /* 0x098 */ CANOE_SUBJECTIVITY, - /* 0x0A0 */ CANOE_BOTTLE_DRINK = 160, - /* 0x0A1 */ CANOE_KANDELAAR_POUR, - /* 0x0A3 */ FISHING_FOOD = 163, - /* 0x0AD */ BOARD_CUT_TURN = 173, - /* 0x0AF */ FM_CHAIN_UP, - /* 0x0B3 */ BOTTLE_DRINK = 179, - /* 0x0B5 */ BOTTLE_SWING = 181, - /* 0x0BA */ GRASS_WHISTLE = 186, - /* 0x0BC */ HAWK_WAIT = 188, - /* 0x0BD */ FLOOR_DOWN_REBOUND = 189, - /* 0x0BE */ GORON_RIDE_WAIT, - /* 0x0C0 */ GOAT_THROW = 192, - /* 0x0C1 */ GOAT_STROKE, - /* 0x0CC */ MAGNE_BOOTS_FLY = 204, - /* 0x0CD */ BOOTS_EQUIP, - /* 0x0CF */ SUMOU_PUSH = 207, - /* 0x0D0 */ SUMOU_SIDE_MOVE, - /* 0x0D1 */ SUMOU_ACTION, - /* 0x0D2 */ SUMOU_STAGGER, - /* 0x0D3 */ SUMOU_WIN_LOSE, - /* 0x0DC */ BOSS_ENEMY_HANG = 220, - /* 0x0DE */ SCREAM_WAIT = 222, - /* 0x0EA */ DUNGEON_WARP_READY = 234, - /* 0x0ED */ WOLF_HOWL = 237, - /* 0x0F1 */ WOLF_WAIT = 241, - /* 0x0F2 */ WOLF_MOVE, - /* 0x0F3 */ WOLF_DASH, - /* 0x0F4 */ WOLF_KNOCKBACK, - /* 0x0F6 */ WOLF_ATN_WAIT = 246, - /* 0x0F7 */ WOLF_SIDESTEP, - /* 0x0F8 */ WOLF_SIDESTEP_LAND, - /* 0x0F9 */ WOLF_BACKFLIP, - /* 0x0FA */ WOLF_BACKFLIP_LAND, - /* 0x0FC */ WOLF_AUTOJUMP = 252, - /* 0x0FF */ WOLF_RSIT = 255, - /* 0x107 */ WOLF_DAMAGE = 263, - /* 0x10F */ WOLF_SLIDE = 271, - /* 0x114 */ WOLF_ROPE_HANG = 276, - /* 0x118 */ WOLF_TAGLOCK_JUMP = 280, - /* 0x119 */ WOLF_TAGLOCK_LAND, - /* 0x11C */ WOLF_JUMPATTACK = 284, - /* 0x121 */ WOLF_ST_ESCAPE = 289, - /* 0x123 */ WOLF_DOWNATTACK_PULLOUT = 291, - /* 0x131 */ WOLF_CHAIN = 305, - /* 0x132 */ WOLF_DIG, - /* 0x136 */ WOLF_ENEMY_HANG_BITE = 310, - /* 0x13E */ SUBJECTIVITY = 318, - /* 0x141 */ POLY_DAMAGE = 321, - /* 0x142 */ ELEC_DAMAGE, - /* 0x143 */ PUSH_PULL_WAIT, - /* 0x144 */ PUSH_MOVE, - /* 0x148 */ TRESURE_STAND = 328, - /* 0x14D */ METAMORPHOSE = 333, - /* 0x14F */ WARP = 335, - /* 0x150 */ DEAD, - /* 0x159 */ LARGE_DAMAGE = 345, - /* 0x15A */ LARGE_DAMAGE_WALL, + /* 0x000 */ PROC_PREACTION_UNEQUIP, + /* 0x001 */ PROC_SERVICE_WAIT, + /* 0x002 */ PROC_TIRED_WAIT, + /* 0x003 */ PROC_WAIT, + /* 0x004 */ PROC_MOVE, + /* 0x005 */ PROC_ATN_MOVE, + /* 0x006 */ PROC_ATN_ACTOR_WAIT, + /* 0x007 */ PROC_ATN_ACTOR_MOVE, + /* 0x008 */ PROC_WAIT_TURN, + /* 0x009 */ PROC_MOVE_TURN, + /* 0x00A */ PROC_SIDESTEP, + /* 0x00B */ PROC_SIDESTEP_LAND, + /* 0x00C */ PROC_SLIDE, + /* 0x00D */ PROC_SLIDE_LAND, + /* 0x00E */ PROC_FRONT_ROLL, + /* 0x00F */ PROC_FRONT_ROLL_CRASH, + /* 0x010 */ PROC_FRONT_ROLL_SUCCESS, + /* 0x011 */ PROC_SIDE_ROLL, + /* 0x012 */ PROC_BACK_JUMP, + /* 0x013 */ PROC_BACK_JUMP_LAND, + /* 0x014 */ PROC_SLIP, + /* 0x015 */ PROC_AUTO_JUMP, + /* 0x016 */ PROC_DIVE_JUMP, + /* 0x017 */ PROC_ROLL_JUMP, + /* 0x018 */ PROC_FALL, + /* 0x019 */ PROC_LAND, + /* 0x01A */ PROC_SMALL_JUMP, + /* 0x01B */ PROC_STEP_MOVE, + /* 0x01C */ PROC_CROUCH, + /* 0x01D */ PROC_GUARD_SLIP, + /* 0x01E */ PROC_GUARD_ATTACK, + /* 0x01F */ PROC_GUARD_BREAK, + /* 0x020 */ PROC_TURN_MOVE, + /* 0x021 */ PROC_CUT_NORMAL, + /* 0x022 */ PROC_CUT_FINISH, + /* 0x023 */ PROC_CUT_FINISH_JUMP_UP, + /* 0x024 */ PROC_CUT_FINISH_JUMP_UP_LAND, + /* 0x025 */ PROC_CUT_REVERSE, + /* 0x026 */ PROC_CUT_JUMP, + /* 0x027 */ PROC_CUT_JUMP_LAND, + /* 0x028 */ PROC_CUT_TURN, + /* 0x029 */ PROC_CUT_TURN_CHARGE, + /* 0x02A */ PROC_CUT_TURN_MOVE, + /* 0x02B */ PROC_CUT_DOWN, + /* 0x02C */ PROC_CUT_DOWN_LAND, + /* 0x02D */ PROC_CUT_HEAD, + /* 0x02E */ PROC_CUT_HEAD_LAND, + /* 0x02F */ PROC_CUT_LARGE_JUMP_CHARGE, + /* 0x030 */ PROC_CUT_LARGE_JUMP, + /* 0x031 */ PROC_CUT_LARGE_JUMP_LAND, + /* 0x032 */ PROC_DAMAGE, + /* 0x033 */ PROC_LARGE_DAMAGE_UP, + /* 0x034 */ PROC_LAND_DAMAGE, + /* 0x035 */ PROC_CRAWL_START, + /* 0x036 */ PROC_CRAWL_MOVE, + /* 0x037 */ PROC_CRAWL_AUTO_MOVE, + /* 0x038 */ PROC_CRAWL_END, + /* 0x039 */ PROC_PULL_MOVE, + /* 0x03A */ PROC_HORSE_RIDE, + /* 0x03B */ PROC_HORSE_GETOFF, + /* 0x03C */ PROC_HORSE_WAIT, + /* 0x03D */ PROC_HORSE_TURN, + /* 0x03E */ PROC_HORSE_JUMP, + /* 0x03F */ PROC_HORSE_LAND, + /* 0x040 */ PROC_HORSE_SUBJECTIVITY, + /* 0x041 */ PROC_HORSE_CUT, + /* 0x042 */ PROC_HORSE_CUT_CHARGE_READY, + /* 0x043 */ PROC_HORSE_CUT_TURN, + /* 0x044 */ PROC_HORSE_DAMAGE, + /* 0x045 */ PROC_HORSE_BOW_SUBJECT, + /* 0x046 */ PROC_HORSE_BOW_MOVE, + /* 0x047 */ PROC_HORSE_GRAB_MOVE, + /* 0x048 */ PROC_HORSE_BOOMERANG_SUBJECT, + /* 0x049 */ PROC_HORSE_BOOMERANG_MOVE, + /* 0x04A */ PROC_HORSE_HOOKSHOT_SUBJECT, + /* 0x04B */ PROC_HORSE_HOOKSHOT_MOVE, + /* 0x04C */ PROC_HORSE_BOTTLE_DRINK, + /* 0x04D */ PROC_HORSE_COMEBACK, + /* 0x04E */ PROC_HORSE_KANDELAAR_POUR, + /* 0x04F */ PROC_HORSE_RUN, + /* 0x050 */ PROC_HORSE_HANG, + /* 0x051 */ PROC_HORSE_GET_KEY, + /* 0x052 */ PROC_HORSE_LOOK_DOWN, + /* 0x053 */ PROC_BOAR_RUN, + /* 0x054 */ PROC_SWORD_UNEQUIP_SP, + /* 0x055 */ PROC_HANG_START, + /* 0x056 */ PROC_HANG_FALL_START, + /* 0x057 */ PROC_HANG_UP, + /* 0x058 */ PROC_HANG_WAIT, + /* 0x059 */ PROC_HANG_MOVE, + /* 0x05A */ PROC_HANG_CLIMB, + /* 0x05B */ PROC_HANG_WALL_CATCH, + /* 0x05C */ PROC_HANG_READY, + /* 0x05D */ PROC_HANG_LEVER_DOWN, + /* 0x05E */ PROC_BOW_SUBJECT, + /* 0x05F */ PROC_BOW_MOVE, + /* 0x060 */ PROC_BOOMERANG_SUBJECT, + /* 0x061 */ PROC_BOOMERANG_MOVE, + /* 0x062 */ PROC_BOOMERANG_CATCH, + /* 0x063 */ PROC_COPY_ROD_SUBJECT, + /* 0x064 */ PROC_COPY_ROD_MOVE, + /* 0x065 */ PROC_COPY_ROD_SWING, + /* 0x066 */ PROC_COPY_ROD_REVIVE, + /* 0x067 */ PROC_LADDER_UP_START, + /* 0x068 */ PROC_LADDER_UP_END, + /* 0x069 */ PROC_LADDER_DOWN_START, + /* 0x06A */ PROC_LADDER_DOWN_END, + /* 0x06B */ PROC_LADDER_MOVE, + /* 0x06C */ PROC_GRAB_READY, + /* 0x06D */ PROC_GRAB_UP, + /* 0x06E */ PROC_GRAB_MISS, + /* 0x06F */ PROC_GRAB_THROW, + /* 0x070 */ PROC_GRAB_PUT, + /* 0x071 */ PROC_GRAB_WAIT, + /* 0x072 */ PROC_GRAB_REBOUND, + /* 0x073 */ PROC_GRAB_STAND, + /* 0x074 */ PROC_INSECT_CATCH, + /* 0x075 */ PROC_PICK_UP, + /* 0x076 */ PROC_PICK_PUT, + /* 0x077 */ PROC_HUMAN_ST_ESCAPE, + /* 0x078 */ PROC_DK_CAUGHT, + /* 0x079 */ PROC_SWIM_UP, + /* 0x07A */ PROC_SWIM_WAIT, + /* 0x07B */ PROC_SWIM_MOVE, + /* 0x07C */ PROC_SWIM_DIVE, + /* 0x07D */ PROC_SWIM_HOOKSHOT_SUBJECT, + /* 0x07E */ PROC_SWIM_HOOKSHOT_MOVE, + /* 0x07F */ PROC_SWIM_DAMAGE, + /* 0x080 */ PROC_CLIMB_UP_START, + /* 0x081 */ PROC_CLIMB_DOWN_START, + /* 0x082 */ PROC_CLIMB_MOVE_UPDOWN, + /* 0x083 */ PROC_CLIMB_MOVE_SIDE, + /* 0x084 */ PROC_CLIMB_WAIT, + /* 0x085 */ PROC_CLIMB_TO_ROOF, + /* 0x086 */ PROC_ROOF_HANG_START, + /* 0x087 */ PROC_ROOF_HANG_WAIT, + /* 0x088 */ PROC_ROOF_HANG_FRONT_MOVE, + /* 0x089 */ PROC_ROOF_HANG_SIDE_MOVE, + /* 0x08A */ PROC_ROOF_HANG_TURN, + /* 0x08B */ PROC_ROOF_SWITCH_HANG, + /* 0x08C */ PROC_CANOE_RIDE, + /* 0x08D */ PROC_CANOE_JUMP_RIDE, + /* 0x08E */ PROC_CANOE_GETOFF, + /* 0x08F */ PROC_CANOE_WAIT, + /* 0x090 */ PROC_CANOE_ROW, + /* 0x091 */ PROC_CANOE_PADDLE_SHIFT, + /* 0x092 */ PROC_CANOE_PADDLE_PUT, + /* 0x093 */ PROC_CANOE_PADDLE_GRAB, + /* 0x094 */ PROC_CANOE_ROD_GRAB, + /* 0x095 */ PROC_CANOE_FISHING_WAIT, + /* 0x096 */ PROC_CANOE_FISHING_REEL, + /* 0x097 */ PROC_CANOE_FISHING_GET, + /* 0x098 */ PROC_CANOE_SUBJECTIVITY, + /* 0x099 */ PROC_CANOE_BOW_SUBJECT, + /* 0x09A */ PROC_CANOE_BOW_MOVE, + /* 0x09B */ PROC_CANOE_GRAB_MOVE, + /* 0x09C */ PROC_CANOE_BOOMERANG_SUBJECT, + /* 0x09D */ PROC_CANOE_BOOMERANG_MOVE, + /* 0x09E */ PROC_CANOE_HOOKSHOT_SUBJECT, + /* 0x09F */ PROC_CANOE_HOOKSHOT_MOVE, + /* 0x0A0 */ PROC_CANOE_BOTTLE_DRINK, + /* 0x0A1 */ PROC_CANOE_KANDELAAR_POUR, + /* 0x0A2 */ PROC_FISHING_CAST, + /* 0x0A3 */ PROC_FISHING_FOOD, + /* 0x0A4 */ PROC_SPINNER_READY, + /* 0x0A5 */ PROC_SPINNER_WAIT, + /* 0x0A6 */ PROC_BOARD_RIDE, + /* 0x0A7 */ PROC_BOARD_WAIT, + /* 0x0A8 */ PROC_BOARD_ROW, + /* 0x0A9 */ PROC_BOARD_TURN, + /* 0x0AA */ PROC_BOARD_JUMP, + /* 0x0AB */ PROC_BOARD_SUBJECTIVITY, + /* 0x0AC */ PROC_BOARD_CUT, + /* 0x0AD */ PROC_BOARD_CUT_TURN, + /* 0x0AE */ PROC_CHAIN_UP, + /* 0x0AF */ PROC_CHAIN_STRONG_PULL, + /* 0x0B0 */ PROC_DOOR_OPEN, + /* 0x0B1 */ PROC_MONKEY_MOVE, + /* 0x0B2 */ PROC_DEMO_BOOMERANG_CATCH, + /* 0x0B3 */ PROC_BOTTLE_DRINK, + /* 0x0B4 */ PROC_BOTTLE_OPEN, + /* 0x0B5 */ PROC_BOTTLE_SWING, + /* 0x0B6 */ PROC_BOTTLE_GET, + /* 0x0B7 */ PROC_KANDELAAR_SWING, + /* 0x0B8 */ PROC_KANDELAAR_POUR, + /* 0x0B9 */ PROC_GRASS_WHISTLE_GET, + /* 0x0BA */ PROC_GRASS_WHISTLE_WAIT, + /* 0x0BB */ PROC_HAWK_CATCH, + /* 0x0BC */ PROC_HAWK_SUBJECT, + /* 0x0BD */ PROC_FLOOR_DOWN_REBOUND, + /* 0x0BE */ PROC_GORON_RIDE_WAIT, + /* 0x0BF */ PROC_GOAT_MOVE, + /* 0x0C0 */ PROC_GOAT_CATCH, + /* 0x0C1 */ PROC_GOAT_STROKE, + /* 0x0C2 */ PROC_GORON_MOVE, + /* 0x0C3 */ PROC_BOSS_ATN_WAIT, + /* 0x0C4 */ PROC_HOOKSHOT_SUBJECT, + /* 0x0C5 */ PROC_HOOKSHOT_MOVE, + /* 0x0C6 */ PROC_HOOKSHOT_FLY, + /* 0x0C7 */ PROC_HOOKSHOT_ROOF_WAIT, + /* 0x0C8 */ PROC_HOOKSHOT_ROOF_SHOOT, + /* 0x0C9 */ PROC_HOOKSHOT_ROOF_BOOTS, + /* 0x0CA */ PROC_HOOKSHOT_WALL_WAIT, + /* 0x0CB */ PROC_HOOKSHOT_WALL_SHOOT, + /* 0x0CC */ PROC_MAGNE_BOOTS_FLY, + /* 0x0CD */ PROC_BOOTS_EQUIP, + /* 0x0CE */ PROC_SUMOU_READY, + /* 0x0CF */ PROC_SUMOU_MOVE, + /* 0x0D0 */ PROC_SUMOU_SIDE_MOVE, + /* 0x0D1 */ PROC_SUMOU_ACTION, + /* 0x0D2 */ PROC_SUMOU_STAGGER, + /* 0x0D3 */ PROC_SUMOU_WIN_LOSE, + /* 0x0D4 */ PROC_SUMOU_SHIKO, + /* 0x0D5 */ PROC_LOOK_UP, + /* 0x0D6 */ PROC_LOOK_UP_TO_GET_ITEM, + /* 0x0D7 */ PROC_HAND_PAT, + /* 0x0D8 */ PROC_IRON_BALL_SUBJECT, + /* 0x0D9 */ PROC_IRON_BALL_MOVE, + /* 0x0DA */ PROC_IRON_BALL_THROW, + /* 0x0DB */ PROC_IRON_BALL_RETURN, + /* 0x0DC */ PROC_BOSS_BODY_HANG, + /* 0x0DD */ PROC_OCTAIEAL_SPIT, + /* 0x0DE */ PROC_SCREAM_WAIT, + /* 0x0DF */ PROC_GOAT_STOP_READY, + /* 0x0E0 */ PROC_ZORA_MOVE, + /* 0x0E1 */ PROC_LOOK_AROUND_TURN, + /* 0x0E2 */ PROC_TRADE_ITEM_OUT, + /* 0x0E3 */ PROC_NOT_USE_ITEM, + /* 0x0E4 */ PROC_SWORD_READY, + /* 0x0E5 */ PROC_SWORD_PUSH, + /* 0x0E6 */ PROC_GANON_FINISH, + /* 0x0E7 */ PROC_CUT_FAST_READY, + /* 0x0E8 */ PROC_MASTER_SWORD_STICK, + /* 0x0E9 */ PROC_MASTER_SWORD_PULL, + /* 0x0EA */ PROC_DUNGEON_WARP_READY, + /* 0x0EB */ PROC_DUNEGON_WARP, + /* 0x0EC */ PROC_DUNEGON_WARP_SCN_START, + /* 0x0ED */ PROC_WOLF_HOWL_DEMO, + /* 0x0EE */ PROC_WOLF_SERVICE_WAIT, + /* 0x0EF */ PROC_WOLF_TIRED_WAIT, + /* 0x0F0 */ PROC_WOLF_MIDNA_RIDE_SHOCK, + /* 0x0F1 */ PROC_WOLF_WAIT, + /* 0x0F2 */ PROC_WOLF_MOVE, + /* 0x0F3 */ PROC_WOLF_DASH, + /* 0x0F4 */ PROC_WOLF_DASH_REVERSE, + /* 0x0F5 */ PROC_WOLF_WAIT_TURN, + /* 0x0F6 */ PROC_WOLF_ATN_AC_MOVE, + /* 0x0F7 */ PROC_WOLF_SIDESTEP, + /* 0x0F8 */ PROC_WOLF_SIDESTEP_LAND, + /* 0x0F9 */ PROC_WOLF_BACKJUMP, + /* 0x0FA */ PROC_WOLF_BACKJUMP_LAND, + /* 0x0FB */ PROC_WOLF_HOWL, + /* 0x0FC */ PROC_WOLF_AUTO_JUMP, + /* 0x0FD */ PROC_WOLF_FALL, + /* 0x0FE */ PROC_WOLF_LAND, + /* 0x0FF */ PROC_WOLF_SIT, + /* 0x100 */ PROC_WOLF_LIE_START, + /* 0x101 */ PROC_WOLF_LIE_MOVE, + /* 0x102 */ PROC_WOLF_LIE_AUTO_MOVE, + /* 0x103 */ PROC_WOLF_HANG_READY, + /* 0x104 */ PROC_WOLF_STEP_MOVE, + /* 0x105 */ PROC_WOLF_HANG_WALL_CATCH, + /* 0x106 */ PROC_WOLF_HANG_FALL_START, + /* 0x107 */ PROC_WOLF_DAMAGE, + /* 0x108 */ PROC_WOLF_LARGE_DAMAGE_UP, + /* 0x109 */ PROC_WOLF_LAND_DAMAGE, + /* 0x10A */ PROC_WOLF_SCREAM_WAIT, + /* 0x10B */ PROC_WOLF_SLIP, + /* 0x10C */ PROC_WOLF_SLIP_TURN, + /* 0x10D */ PROC_WOLF_SLIP_TURN_LAND, + /* 0x10E */ PROC_WOLF_SLIDE_READY, + /* 0x10F */ PROC_WOLF_SLIDE, + /* 0x110 */ PROC_WOLF_SLIDE_LAND, + /* 0x111 */ PROC_WOLF_WAIT_SLIP, + /* 0x112 */ PROC_WOLF_SLOPE_START, + /* 0x113 */ PROC_WOLF_ROPE_MOVE, + /* 0x114 */ PROC_WOLF_ROPE_HANG, + /* 0x115 */ PROC_WOLF_ROPE_TURN, + /* 0x116 */ PROC_WOLF_ROPE_STAGGER, + /* 0x117 */ PROC_WOLF_ROPE_SUBJECTIVITY, + /* 0x118 */ PROC_WOLF_TAG_JUMP, + /* 0x119 */ PROC_WOLF_TAG_JUMP_LAND, + /* 0x11A */ PROC_WOLF_ROLL_ATTACK_CHARGE, + /* 0x11B */ PROC_WOLF_ROLL_ATTACK_MOVE, + /* 0x11C */ PROC_WOLF_JUMP_ATTACK, + /* 0x11D */ PROC_WOLF_JUMP_AT_KICK, + /* 0x11E */ PROC_WOLF_JUMP_AT_SLIDE_LAND, + /* 0x11F */ PROC_WOLF_JUMP_AT_NORMAL_LAND, + /* 0x120 */ PROC_WOLF_WAIT_ATTACK, + /* 0x121 */ PROC_WOLF_ROLL_ATTACK, + /* 0x122 */ PROC_WOLF_DOWN_ATTACK, + /* 0x123 */ PROC_WOLF_DOWN_AT_LAND, + /* 0x124 */ PROC_WOLF_DOWN_AT_MISS_LAND, + /* 0x125 */ PROC_WOLF_LOCK_ATTACK, + /* 0x126 */ PROC_WOLF_LOCK_ATTACK_TURN, + /* 0x127 */ PROC_WOLF_SWIM_UP, + /* 0x128 */ PROC_WOLF_SWIM_WAIT, + /* 0x129 */ PROC_WOLF_SWIM_MOVE, + /* 0x12A */ PROC_WOLF_SWIM_END_WAIT, + /* 0x12B */ PROC_WOLF_GRAB_UP, + /* 0x12C */ PROC_WOLF_GRAB_PUT, + /* 0x12D */ PROC_WOLF_GRAB_THROW, + /* 0x12E */ PROC_WOLF_CHAIN_UP, + /* 0x12F */ PROC_WOLF_PUSH, + /* 0x130 */ PROC_WOLF_CHAIN_READY, + /* 0x131 */ PROC_WOLF_CHAIN_WAIT, + /* 0x132 */ PROC_WOLF_DIG, + /* 0x133 */ PROC_WOLF_DIG_THROUGH, + /* 0x134 */ PROC_WOLF_ATTACK_REVERSE, + /* 0x135 */ PROC_WOLF_ENEMY_THROW, + /* 0x136 */ PROC_WOLF_ENEMY_HANG_BITE, + /* 0x137 */ PROC_WOLF_GIANT_PUZZLE, + /* 0x138 */ PROC_WOLF_CARGO_CARRY, + /* 0x139 */ PROC_WOLF_GET_SMELL, + /* 0x13A */ PROC_WOLF_SMELL_WAIT, + /* 0x13B */ PROC_WOLF_SNOW_ESCAPE, + /* 0x13C */ PROC_WOLF_GANON_CATCH, + /* 0x13D */ PROC_TOOL_DEMO, + /* 0x13E */ PROC_SUBJECTIVITY, + /* 0x13F */ PROC_SWIM_SUBJECTIVITY, + /* 0x140 */ PROC_PEEP_SUBJECTIVITY, + /* 0x141 */ PROC_POLY_DAMAGE, + /* 0x142 */ PROC_ELEC_DAMAGE, + /* 0x143 */ PROC_PUSH_PULL_WAIT, + /* 0x144 */ PROC_PUSH_MOVE, + /* 0x145 */ PROC_TALK, + /* 0x146 */ PROC_OPEN_TREASURE, + /* 0x147 */ PROC_UNEQUIP, + /* 0x148 */ PROC_GET_ITEM, + /* 0x149 */ PROC_TURN_BACK, + /* 0x14A */ PROC_LOOK_WAIT, + /* 0x14B */ PROC_DEMO_PUSH_PULL_WAIT, + /* 0x14C */ PROC_DEMO_PUSH_MOVE, + /* 0x14D */ PROC_METAMORPHOSE, + /* 0x14E */ PROC_METAMORPHOSE_ONLY, + /* 0x14F */ PROC_WARP, + /* 0x150 */ PROC_DEAD, + /* 0x151 */ PROC_FOG_DEAD, + /* 0x152 */ PROC_LOOK_AROUND, + /* 0x153 */ PROC_CAUGHT, + /* 0x154 */ PROC_SAND_WALL_HIT, + /* 0x155 */ PROC_LAVA_RETURN, + /* 0x156 */ PROC_SWIM_FREEZE_RETURN, + /* 0x157 */ PROC_GET_READY_SIT, + /* 0x158 */ PROC_TW_GATE, + /* 0x159 */ PROC_LARGE_DAMAGE, + /* 0x15A */ PROC_LARGE_DAMAGE_WALL, + /* 0x15B */ PROC_NOD, + /* 0x15C */ PROC_EYE_AWAY, + /* 0x15D */ PROC_GLARE, + /* 0x15E */ PROC_HORSE_CALL_WAIT, + /* 0x15F */ PROC_QUAKE_WAIT, }; // this might be one of the above enums, but not clear yet @@ -421,6 +622,16 @@ public: ANM_WOLF_ENEMY_THROW_RIGHT, }; + enum daAlink_ITEM_BTN { + /* 0x01 */ BTN_X = (1 << 0), + /* 0x02 */ BTN_Y = (1 << 1), + /* 0x04 */ BTN_Z = (1 << 2), + /* 0x08 */ BTN_B = (1 << 3), + /* 0x10 */ BTN_A = (1 << 4), + /* 0x20 */ BTN_L = (1 << 5), + /* 0x40 */ BTN_R = (1 << 6), + }; + class firePointEff_c { public: /* 800CFC3C */ ~firePointEff_c(); @@ -481,14 +692,14 @@ public: /* 800A3E98 */ void initModelEnv(u16, u32); /* 800A3F00 */ void initDemoModel(J3DModel**, char const*, u32); /* 800A3F98 */ void initDemoBck(mDoExt_bckAnm**, char const*); - /* 800A4068 */ static void createHeap(); + /* 800A4068 */ int createHeap(); /* 800A4910 */ void setSelectEquipItem(int); /* 800A4BC8 */ BOOL checkBoarStart(); /* 800A4C40 */ BOOL checkCanoeStart(); /* 800A4CB4 */ void playerInit(); /* 800A54F4 */ BOOL checkHorseStart(u32, int); - /* 800A551C */ void setStartProcInit(); - /* 800A5CC8 */ void create(); + /* 800A551C */ int setStartProcInit(); + /* 800A5CC8 */ int create(); /* 800A662C */ void setRoomInfo(); /* 800A67E0 */ void setShapeAngleOnGround(); /* 800A6B0C */ void setStepsOffset(); @@ -503,7 +714,7 @@ public: /* 800A8310 */ void setBodyPartPos(); /* 800A87F8 */ void setAttentionPos(); /* 800A8CE4 */ void setMatrix(); - /* 800A9248 */ void simpleAnmPlay(J3DAnmBase*); + /* 800A9248 */ static void simpleAnmPlay(J3DAnmBase*); /* 800A92F0 */ void setSwordPos(); /* 800A9450 */ void setItemMatrix(int); /* 800A9F4C */ void setWolfItemMatrix(); @@ -619,8 +830,8 @@ public: /* 800B477C */ void checkRequestTalkActor(dAttList_c*, fopAc_ac_c*); /* 800B47B4 */ void checkServiceWaitMode(); /* 800B48D0 */ void setJumpMode(); - /* 800B4908 */ float getMetamorphoseNearDis() const; - /* 800B4918 */ float getMetamorphoseFarDis() const; + /* 800B4908 */ f32 getMetamorphoseNearDis() const; + /* 800B4918 */ f32 getMetamorphoseFarDis() const; /* 800B4928 */ s16 getMetamorphoseFarAngle() const; /* 800B4938 */ void setMidnaMsg(); /* 800B4950 */ bool notTalk(); @@ -676,7 +887,7 @@ public: /* 800BA6A0 */ void commonChangeItem(); /* 800BA914 */ void setItemAction(); /* 800BAF08 */ void checkNextActionFromCrouch(int); - /* 800BAF80 */ void checkUpperReadyThrowAnime() const; + /* 800BAF80 */ int checkUpperReadyThrowAnime() const; /* 800BB020 */ void getBodyAngleXBasePos(cXyz*); /* 800BB084 */ void getBodyAngleXAtnActor(int); /* 800BB2B0 */ void setBodyAngleXReadyAnime(int); @@ -696,8 +907,8 @@ public: /* 800BE26C */ void checkCoachGuardGame(); /* 800BE2C0 */ void checkRoofRestart(); /* 800BE3E4 */ void checkRestartRoom(); - /* 800BE9D4 */ void getSceneExitMoveAngle(); - /* 800BEAF8 */ void checkSceneChange(int); + /* 800BE9D4 */ s16 getSceneExitMoveAngle(); + /* 800BEAF8 */ int checkSceneChange(int); /* 800BF0B8 */ void voiceStartLevel(u32); /* 800BF0EC */ void seStartSwordCut(u32); /* 800BF194 */ void seStartMapInfo(u32); @@ -720,12 +931,12 @@ public: /* 800BFFCC */ void loadAramItemBtk(u16, J3DModel*); /* 800C0028 */ void loadAramItemBtp(u16, J3DModel*); /* 800C0084 */ void changeItemBck(u16, f32); - /* 800C0114 */ void checkGroupItem(int, int) const; - /* 800C0164 */ void checkSetItemTrigger(int); - /* 800C0208 */ void checkItemSetButton(int); - /* 800C0284 */ void checkField(); - /* 800C02C8 */ void checkBossRoom(); - /* 800C0310 */ void checkDungeon(); + /* 800C0114 */ int checkGroupItem(int, int) const; + /* 800C0164 */ int checkSetItemTrigger(int); + /* 800C0208 */ int checkItemSetButton(int); + /* 800C0284 */ static bool checkField(); + /* 800C02C8 */ static bool checkBossRoom(); + /* 800C0310 */ static bool checkDungeon(); /* 800C0358 */ static bool checkCastleTown(); /* 800C03A0 */ static bool checkCloudSea(); /* 800C03E8 */ static bool checkRoomOnly(); @@ -1098,16 +1309,16 @@ public: /* 800E23FC */ void concatMagneBootMtx(); /* 800E243C */ void concatMagneBootInvMtx(); /* 800E247C */ void multVecMagneBootInvMtx(cXyz*); - /* 800E24B0 */ void commonMagneLineCheck(cXyz*, cXyz*); + /* 800E24B0 */ int commonMagneLineCheck(cXyz*, cXyz*); /* 800E251C */ void checkBootsMoveAnime(int); /* 800E2580 */ void setHeavyBoots(int); - /* 800E2738 */ void getMagneBootsLocalAngleY(s16, int); + /* 800E2738 */ s16 getMagneBootsLocalAngleY(s16, int); /* 800E2808 */ void setMagneBootsMtx(cBgS_PolyInfo*, int); /* 800E2DC4 */ void cancelMagneBootsOn(); - /* 800E2F88 */ void checkMagneBootsFly(); + /* 800E2F88 */ int checkMagneBootsFly(); /* 800E3048 */ void procBootsEquipInit(); /* 800E30DC */ void procBootsEquip(); - /* 800E3218 */ void procMagneBootsFlyInit(); + /* 800E3218 */ int procMagneBootsFlyInit(); /* 800E3454 */ void procMagneBootsFly(); /* 800E3760 */ s16 getBombExplodeTime() const; /* 800E3770 */ f32 getBombGravity() const; @@ -1185,7 +1396,7 @@ public: /* 800E8148 */ void checkPullBehindWall(); /* 800E8298 */ void offGoatStopGame(); /* 800E82B0 */ BOOL checkGoatCatchActor(fopAc_ac_c*); - /* 800E8314 */ float getGoatCatchDistance2(); + /* 800E8314 */ f32 getGoatCatchDistance2(); /* 800E8334 */ void endPushPull(); /* 800E8354 */ void getPushPullAnimeSpeed(); /* 800E8428 */ void procCoPushPullWaitInit(int); @@ -1511,7 +1722,7 @@ public: /* 8010163C */ void setRoofHangSwitch(); /* 801016AC */ void procRoofSwitchHangInit(fopAc_ac_c*); /* 801017AC */ void procRoofSwitchHang(); - /* 80101890 */ void checkZoraWearMaskDraw(); + /* 80101890 */ BOOL checkZoraWearMaskDraw(); /* 801018E4 */ void checkAcceptUseItemInWater(u16) const; /* 80101934 */ void swimDeleteItem(); /* 801019B8 */ void getZoraSwim() const; @@ -1739,7 +1950,7 @@ public: /* 80118AD0 */ void checkFinalBattle(); /* 80118B34 */ void checkRestartDead(int, int); /* 80118BF4 */ void setDeadRideSyncPos(); - /* 80118C98 */ void checkDeadHP(); + /* 80118C98 */ BOOL checkDeadHP(); /* 80118D7C */ void checkDeadAction(int); /* 80118FF8 */ void setHighModelBck(mDoExt_bckAnm*, u16); /* 801190A4 */ void setHighModelFaceBtk(u16); @@ -1817,15 +2028,15 @@ public: /* 8011EA78 */ bool procGanonFinish(); /* 8011EAE8 */ void procCutFastReadyInit(); /* 8011EB8C */ void procCutFastReady(); - /* 8011EBDC */ void procMasterSwordStickInit(); - /* 8011EC60 */ void procMasterSwordStick(); - /* 8011ED18 */ bool procMasterSwordPullInit(); + /* 8011EBDC */ int procMasterSwordStickInit(); + /* 8011EC60 */ int procMasterSwordStick(); + /* 8011ED18 */ int procMasterSwordPullInit(); /* 8011ED8C */ void procMasterSwordPull(); /* 8011EE40 */ static BOOL checkLv7DungeonShop(); - /* 8011EE94 */ void procDungeonWarpReadyInit(); + /* 8011EE94 */ int procDungeonWarpReadyInit(); /* 8011EFB8 */ void procDungeonWarpReady(); /* 8011F084 */ void procDungeonWarpInit(); - /* 8011F0F4 */ void procDungeonWarp(); + /* 8011F0F4 */ int procDungeonWarp(); /* 8011F360 */ void procDungeonWarpSceneStartInit(); /* 8011F460 */ void procDungeonWarpSceneStart(); /* 8011F658 */ bool checkAcceptWarp(); @@ -2202,7 +2413,7 @@ public: virtual BOOL checkBoarRun() const; virtual f32 getBaseAnimeFrameRate() const; virtual f32 getBaseAnimeFrame() const; - virtual void setAnimeFrame(float); + virtual void setAnimeFrame(f32); virtual bool checkWolfLock(fopAc_ac_c*) const; virtual bool cancelWolfLock(fopAc_ac_c*); virtual s32 getAtnActorID() const; @@ -2215,8 +2426,8 @@ public: virtual void voiceStart(u32); virtual void seStartOnlyReverb(u32); virtual void seStartOnlyReverbLevel(u32); - virtual void setOutPower(float, short, int); - virtual void setGrabCollisionOffset(float, float, cBgS_PolyInfo*); + virtual void setOutPower(f32, short, int); + virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*); virtual void onFrollCrashFlg(u8, int); virtual MtxP getModelJointMtx(u16); virtual MtxP getHeadMtx(); @@ -2228,10 +2439,10 @@ public: virtual void setClothesChange(int); virtual void setPlayerPosAndAngle(cXyz const*, short, int); virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*); - virtual void setPlayerPosAndAngle(float (*)[4]); - virtual bool setThrowDamage(short, float, float, int, int, int); + virtual void setPlayerPosAndAngle(f32 (*)[4]); + virtual bool setThrowDamage(short, f32, f32, int, int, int); virtual bool checkSetNpcTks(cXyz*, int, int); - virtual bool setRollJump(float, float, short); + virtual int setRollJump(f32, f32, short); virtual void playerStartCollisionSE(u32, u32); virtual void cancelDungeonWarpReadyNeck(); virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*); @@ -2259,7 +2470,7 @@ public: virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2); virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const; virtual void setWolfEnemyHangBiteAngle(short); - virtual void setKandelaarMtx(float (*)[4], int, int); + virtual void setKandelaarMtx(f32 (*)[4], int, int); virtual bool getStickAngleFromPlayerShape(short*) const; virtual bool checkSpinnerPathMove(); virtual bool checkSpinnerTriggerAttack(); @@ -2299,7 +2510,7 @@ public: virtual BOOL checkBootsOrArmorHeavy() const; virtual s32 getBottleOpenAppearItem() const; virtual bool checkItemSwordEquip() const; - virtual float getSinkShapeOffset() const; + virtual f32 getSinkShapeOffset() const; virtual BOOL checkSinkDead() const; virtual BOOL checkHorseStart(); virtual Z2WolfHowlMgr* getWolfHowlMgrP(); @@ -2327,6 +2538,7 @@ public: BOOL checkBoomerangReadyAnime() const { return (mEquipItem == BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(0x54); } + bool checkDkCaught2Anime() const { return checkUpperAnime(0x262); } s16 checkWolfEyeUp() const { return mWolfEyeUp; } void onModeFlg(u32 flag) { mModeFlg |= flag; } @@ -2352,9 +2564,41 @@ public: } s32 checkPlayerDemoMode() const { return mDemo.getDemoType(); } u16 getMidnaMsgNum() const { return mMidnaMsgNum; } + u32 getStartEvent() { return fopAcM_GetParam(this) >> 0x18; } + const daAlink_AnmData* getAnmData(daAlink_ANM anmID) const { return &m_anmDataTable[anmID]; } BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; } + bool checkFishingCastMode() const { + bool var_r4 = 1; + bool var_r3 = 0; + + if (mProcID == PROC_FISHING_CAST) { + bool var_r5 = 0; + + if (mItemActor.getActor() != NULL && mItemActor.getActor()->mEvtInfo.i_checkCommandDemoAccrpt() != 0) { + var_r5 = 1; + } + + if (!var_r5) { + var_r3 = 1; + } + } + + if (!var_r3) { + bool var_r3_2 = 0; + if (mProcID != PROC_FISHING_CAST && i_checkNoResetFlg2(FLG2_UNK_20000000)) { + var_r3_2 = 1; + } + + if (!var_r3_2) { + var_r4 = 0; + } + } + + return var_r4; + } + inline void startRestartRoomFromOut(int, u32, int); inline u16 getReadyItem(); @@ -2373,14 +2617,12 @@ public: static u8 m_fEffParamProc[72]; private: - /* 0x0062C */ void* field_0x062C; - /* 0x00630 */ int field_0x0630; + /* 0x0062C */ request_of_phase_process_class mPhaseReq; /* 0x00634 */ char* mArcName; - /* 0x00638 */ JKRExpHeap** field_0x0638; - /* 0x0063C */ void* field_0x063C; - /* 0x00640 */ int field_0x0640; + /* 0x00638 */ JKRExpHeap* field_0x0638; + /* 0x0063C */ request_of_phase_process_class mShieldPhaseReq; /* 0x00644 */ char* mShieldArcName; - /* 0x00648 */ JKRExpHeap** field_0x0648; + /* 0x00648 */ JKRExpHeap* field_0x0648; /* 0x0064C */ J3DModelData* field_0x064C; /* 0x00650 */ J3DModel* field_0x0650; /* 0x00654 */ J3DModel* field_0x0654; @@ -2411,18 +2653,18 @@ private: /* 0x006B8 */ J3DModel* mSwordModel; /* 0x006BC */ J3DModel* field_0x06bc; /* 0x006C0 */ J3DModelData* field_0x06c0; - /* 0x006C4 */ J3DAnmBase* m_nSwordBtk; - /* 0x006C8 */ J3DAnmBase* m_mSwordBtk; - /* 0x006CC */ J3DAnmBase* m_mSwordBck; + /* 0x006C4 */ J3DAnmTextureSRTKey* m_nSwordBtk; + /* 0x006C8 */ J3DAnmTextureSRTKey* m_mSwordBtk; + /* 0x006CC */ J3DAnmTevRegKey* m_mSwordBrk; /* 0x006D0 */ void* field_0x06d0; /* 0x006D4 */ void* field_0x06d4; /* 0x006D8 */ void* field_0x06d8; /* 0x006DC */ void* field_0x06dc; /* 0x006E0 */ void* field_0x06e0; - /* 0x006E4 */ void* field_0x06e4; + /* 0x006E4 */ J3DShape* field_0x06e4; /* 0x006E8 */ void* field_0x06e8; - /* 0x006EC */ void* field_0x06ec; - /* 0x006F0 */ void* field_0x06f0; + /* 0x006EC */ J3DShape* field_0x06ec; + /* 0x006F0 */ J3DShape* field_0x06f0; /* 0x006F4 */ J3DAnmBase* field_0x06f4; /* 0x006F8 */ J3DAnmBase* field_0x06f8; /* 0x006FC */ J3DModel* field_0x06fc; @@ -2464,7 +2706,7 @@ private: /* 0x01C98 */ dBgS_ArrowLinChk mArrowLinChk; /* 0x01D08 */ dBgS_LinkGndChk mLinkGndChk; /* 0x01D5C */ dBgS_LinkRoofChk mLinkRoofChk; - /* 0x01DAC */ dBgS_LinkLinChk mLinkLinChk2; + /* 0x01DAC */ dBgS_LinkLinChk mMagneLineChk; /* 0x01E1C */ cBgS_PolyInfo mPolyInfo1; /* 0x01E2C */ cBgS_PolyInfo mPolyInfo2; /* 0x01E3C */ cBgS_PolyInfo mPolyInfo3; @@ -2504,7 +2746,7 @@ private: /* 0x027FC */ fopAc_ac_c* field_0x27fc; /* 0x02800 */ daTagMmsg_c* mMidnaMsg; /* 0x02804 */ fopAc_ac_c* field_0x2804; - /* 0x02808 */ fopAc_ac_c* field_0x2808; + /* 0x02808 */ daScex_c* mpScnChg; /* 0x0280C */ daPy_actorKeep_c field_0x280c; /* 0x02814 */ daPy_actorKeep_c mRideActor; // daspinnerc? /* 0x0281C */ daPy_actorKeep_c field_0x281c; @@ -2517,26 +2759,26 @@ private: /* 0x02854 */ daPy_actorKeep_c mCargoCarryActor; /* 0x0285C */ daPy_actorKeep_c field_0x285c; /* 0x02864 */ dMsgFlow_c mMsgFlow; - /* 0x028B0 */ u8 field_0x28b0[0x40]; + /* 0x028B0 */ int field_0x28b0[0x10]; /* 0x028F0 */ int field_0x28f0; /* 0x028F4 */ int mAtnActorID; /* 0x028F8 */ int field_0x28f8; /* 0x028FC */ int field_0x28fc; - /* 0x02900 */ void* field_0x2900; + /* 0x02900 */ u32 field_0x2900; /* 0x02904 */ daAlink_footData_c mFootData1[2]; /* 0x02A4C */ daAlink_footData_c mFootData2[2]; - /* 0x02B94 */ float* field_0x2b94; - /* 0x02B98 */ float* field_0x2b98; - /* 0x02B98 */ float* field_0x2b9c; - /* 0x02BA0 */ float* field_0x2ba0; - /* 0x02BA4 */ float* field_0x2ba4; + /* 0x02B94 */ f32* field_0x2b94; + /* 0x02B98 */ f32 field_0x2b98; + /* 0x02B98 */ f32* field_0x2b9c; + /* 0x02BA0 */ f32* field_0x2ba0; + /* 0x02BA4 */ f32* field_0x2ba4; /* 0x02BA8 */ f32 mSinkShapeOffset; /* 0x02BAC */ cXyz field_0x2bac; /* 0x02BB8 */ Mtx mInvMtx; /* 0x02BE8 */ Mtx field_0x2be8; /* 0x02C18 */ Mtx mRootMtx; - /* 0x02C48 */ Mtx field_0x2c48; - /* 0x02C78 */ Mtx field_0x2c78; + /* 0x02C48 */ Mtx mMagneBootMtx; + /* 0x02C78 */ Mtx mMagneBootInvMtx; /* 0x02CA8 */ Z2CreatureLink mZ2Link; /* 0x02D78 */ void* field_0x2d78; /* 0x02D7C */ daPy_frameCtrl_c* field_0x2d7c; @@ -2585,7 +2827,7 @@ private: /* 0x02FA9 */ u8 field_0x2fa9; /* 0x02FAA */ u8 mRideStatus; /* 0x02FAB */ u8 field_0x2fab; - /* 0x02FAC */ u8 field_0x2fac; + /* 0x02FAC */ u8 mExitDirection; /* 0x02FAD */ u8 field_0x2fad; /* 0x02FAE */ u8 field_0x2fae; /* 0x02FAF */ u8 field_0x2faf; @@ -2594,7 +2836,7 @@ private: /* 0x02FB2 */ u8 mMidnaTalkDelayTimer; /* 0x02FB3 */ u8 field_0x2fb3; /* 0x02FB4 */ u8 field_0x2fb4; - /* 0x02FB5 */ u8 field_0x2fb5; + /* 0x02FB5 */ u8 mDamageColorTime; /* 0x02FB6 */ u8 field_0x2fb6; /* 0x02FB7 */ u8 field_0x2fb7; /* 0x02FB8 */ u8 field_0x2fb8; @@ -2637,7 +2879,7 @@ private: /* 0x02FE2 */ s16 field_0x2fe2; /* 0x02FE4 */ s16 field_0x2fe4; /* 0x02FE6 */ s16 field_0x2fe6; - /* 0x02FE8 */ u16 mActionID; + /* 0x02FE8 */ u16 mProcID; /* 0x02FEA */ u16 field_0x2fea; /* 0x02FEC */ s16 field_0x2fec; /* 0x02FEE */ s16 field_0x2fee; @@ -2772,7 +3014,7 @@ private: /* 0x0310C */ s16 field_0x310c; /* 0x0310E */ s16 field_0x310e; /* 0x03110 */ s16 field_0x3110; - /* 0x03112 */ u16 field_0x3112; + /* 0x03112 */ u16 mExitID; /* 0x03114 */ s16 field_0x3114; /* 0x03116 */ s16 field_0x3116; /* 0x03118 */ s16 field_0x3118; @@ -2797,7 +3039,7 @@ private: /* 0x0317C */ int field_0x317c; /* 0x03180 */ int field_0x3180; /* 0x03184 */ int field_0x3184; - /* 0x03184 */ int field_0x3188; + /* 0x03188 */ int field_0x3188; /* 0x0318C */ int field_0x318c; /* 0x03190 */ int field_0x3190; /* 0x03194 */ int field_0x3194; @@ -2849,70 +3091,70 @@ private: /* 0x032D0 */ u32 field_0x32d0; /* 0x032D4 */ u32 field_0x32d4; /* 0x032D8 */ firePointEff_c field_0x32d8[4]; - /* 0x03398 */ float mNormalSpeed; - /* 0x0339C */ float mSpeedModifier; - /* 0x033A0 */ float field_0x33a0; - /* 0x033A4 */ float field_0x33a4; - /* 0x033A8 */ float field_0x33a8; - /* 0x033AC */ float field_0x33ac; - /* 0x033B0 */ float field_0x33b0; - /* 0x033B4 */ float mWaterY; - /* 0x033B8 */ float field_0x33b8; - /* 0x033BC */ float field_0x33bc; - /* 0x033C0 */ float field_0x33c0; - /* 0x033C4 */ float mFallHeight; - /* 0x033C8 */ float field_0x33c8; - /* 0x033CC */ float field_0x33cc; - /* 0x033D0 */ float field_0x33d0; - /* 0x033D4 */ float field_0x33d4; - /* 0x033D8 */ float field_0x33d8; - /* 0x033DC */ float field_0x33dc; - /* 0x033E0 */ float field_0x33e0; - /* 0x033E4 */ float field_0x33e4; - /* 0x033E8 */ float field_0x33e8; - /* 0x033EC */ float field_0x33ec; - /* 0x033F0 */ float field_0x33f0; - /* 0x033F4 */ float field_0x33f4; - /* 0x033F8 */ float field_0x33f8; - /* 0x033FC */ float field_0x33fc; - /* 0x03400 */ float field_0x3400; - /* 0x03404 */ float field_0x3404; - /* 0x03408 */ float field_0x3408; - /* 0x0340C */ float field_0x340c; - /* 0x03410 */ float field_0x3410; - /* 0x03414 */ float field_0x3414; - /* 0x03418 */ float field_0x3418; - /* 0x0341C */ float field_0x341c; - /* 0x03420 */ float field_0x3420; - /* 0x03424 */ float field_0x3424; - /* 0x03428 */ float field_0x3428; - /* 0x0342C */ float field_0x342c; - /* 0x03430 */ float field_0x3430; - /* 0x03434 */ float mHeavySpeedMultiplier; - /* 0x03438 */ float field_0x3438; - /* 0x0343C */ float field_0x343c; - /* 0x03440 */ float field_0x3440; - /* 0x03444 */ float field_0x3444; - /* 0x03448 */ float field_0x3448; - /* 0x0344C */ float field_0x344c; + /* 0x03398 */ f32 mNormalSpeed; + /* 0x0339C */ f32 mSpeedModifier; + /* 0x033A0 */ f32 field_0x33a0; + /* 0x033A4 */ f32 field_0x33a4; + /* 0x033A8 */ f32 field_0x33a8; + /* 0x033AC */ f32 field_0x33ac; + /* 0x033B0 */ f32 field_0x33b0; + /* 0x033B4 */ f32 mWaterY; + /* 0x033B8 */ f32 field_0x33b8; + /* 0x033BC */ f32 field_0x33bc; + /* 0x033C0 */ f32 field_0x33c0; + /* 0x033C4 */ f32 mFallHeight; + /* 0x033C8 */ f32 field_0x33c8; + /* 0x033CC */ f32 field_0x33cc; + /* 0x033D0 */ f32 field_0x33d0; + /* 0x033D4 */ f32 field_0x33d4; + /* 0x033D8 */ f32 field_0x33d8; + /* 0x033DC */ f32 field_0x33dc; + /* 0x033E0 */ f32 field_0x33e0; + /* 0x033E4 */ f32 field_0x33e4; + /* 0x033E8 */ f32 field_0x33e8; + /* 0x033EC */ f32 field_0x33ec; + /* 0x033F0 */ f32 field_0x33f0; + /* 0x033F4 */ f32 field_0x33f4; + /* 0x033F8 */ f32 field_0x33f8; + /* 0x033FC */ f32 field_0x33fc; + /* 0x03400 */ f32 field_0x3400; + /* 0x03404 */ f32 field_0x3404; + /* 0x03408 */ f32 field_0x3408; + /* 0x0340C */ f32 field_0x340c; + /* 0x03410 */ f32 field_0x3410; + /* 0x03414 */ f32 field_0x3414; + /* 0x03418 */ f32 field_0x3418; + /* 0x0341C */ f32 field_0x341c; + /* 0x03420 */ f32 field_0x3420; + /* 0x03424 */ f32 field_0x3424; + /* 0x03428 */ f32 field_0x3428; + /* 0x0342C */ f32 field_0x342c; + /* 0x03430 */ f32 field_0x3430; + /* 0x03434 */ f32 mHeavySpeedMultiplier; + /* 0x03438 */ f32 field_0x3438; + /* 0x0343C */ f32 field_0x343c; + /* 0x03440 */ f32 field_0x3440; + /* 0x03444 */ f32 field_0x3444; + /* 0x03448 */ f32 field_0x3448; + /* 0x0344C */ f32 field_0x344c; /* 0x03450 */ u8 field_0x3450[4]; - /* 0x03454 */ float field_0x3454; - /* 0x03458 */ float field_0x3458; - /* 0x0345C */ float field_0x345c; - /* 0x03460 */ float field_0x3460; - /* 0x03464 */ float field_0x3464; - /* 0x03468 */ float field_0x3468; - /* 0x0346C */ float field_0x346c; - /* 0x03470 */ float field_0x3470; - /* 0x03474 */ float mSwordUpColorIntensity; - /* 0x03478 */ float field_0x3478; - /* 0x0347C */ float field_0x347c; - /* 0x03480 */ float field_0x3480; - /* 0x03484 */ float field_0x3484; - /* 0x03488 */ float field_0x3488; - /* 0x0348C */ float field_0x348c; - /* 0x03490 */ float mSearchBallScale; - /* 0x03494 */ float field_0x3494; + /* 0x03454 */ f32 field_0x3454; + /* 0x03458 */ f32 field_0x3458; + /* 0x0345C */ f32 field_0x345c; + /* 0x03460 */ f32 field_0x3460; + /* 0x03464 */ f32 field_0x3464; + /* 0x03468 */ f32 field_0x3468; + /* 0x0346C */ f32 field_0x346c; + /* 0x03470 */ f32 field_0x3470; + /* 0x03474 */ f32 mSwordUpColorIntensity; + /* 0x03478 */ f32 field_0x3478; + /* 0x0347C */ f32 field_0x347c; + /* 0x03480 */ f32 field_0x3480; + /* 0x03484 */ f32 field_0x3484; + /* 0x03488 */ f32 field_0x3488; + /* 0x0348C */ f32 field_0x348c; + /* 0x03490 */ f32 mSearchBallScale; + /* 0x03494 */ f32 field_0x3494; /* 0x03498 */ cXyz field_0x3498; /* 0x034A4 */ cXyz field_0x34a4; /* 0x034B0 */ cXyz field_0x34b0; @@ -2978,11 +3220,9 @@ private: /* 0x03840 */ cXyz* mIronBallChainPos; /* 0x03844 */ csXyz* mIronBallChainAngle; /* 0x03848 */ void* field_0x3848; - /* 0x0384C */ float* field_0x384c; - /* 0x03850 */ u32 field_0x3850; - /* 0x03854 */ u32 field_0x3854; - /* 0x03858 */ u32 field_0x3858; -}; + /* 0x0384C */ f32* field_0x384c; + /* 0x03850 */ daAlink_procFunc mpProcFunc; +}; // Size: 0x38BC struct daAlinkHIO_anm_c { /* 0x00 */ s16 field_0x00; // end f? @@ -4556,4 +4796,9 @@ private: /* 0x09C4 */ cXyz field_0x9c4; }; +static void* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1); +static void* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1); +static void* daAlink_searchBoar(fopAc_ac_c* param_0, void* param_1); +static fopAc_ac_c* daAlink_searchLightBall(fopAc_ac_c* p_actor, void* param_1); + #endif /* D_A_D_A_ALINK_H */ \ No newline at end of file diff --git a/include/d/a/d_a_horse_static.h b/include/d/a/d_a_horse_static.h index a2873bdfba..d2b4f4223b 100644 --- a/include/d/a/d_a_horse_static.h +++ b/include/d/a/d_a_horse_static.h @@ -4,7 +4,21 @@ #include "dolphin/types.h" #include "rel/d/a/e/d_a_e_wb/d_a_e_wb.h" -class daTagHstop_c { +class daTagHstop_c : public fopAc_ac_c { +public: + static daTagHstop_c* getTop() { return m_top; } + + daTagHstop_c* getNext() { return mpNext; } + bool getActiveFlg() const { return mActive; } + + /* 0x568 */ daTagHstop_c* mpNext; + /* 0x56C */ daTagHstop_c* field_0x56c; + /* 0x570 */ u8 field_0x570; + /* 0x571 */ bool mActive; + /* 0x572 */ u8 field_0x572; + /* 0x573 */ u8 field_0x573; + /* 0x574 */ int field_0x574; + static daTagHstop_c* m_top; }; diff --git a/include/d/a/d_a_item_static.h b/include/d/a/d_a_item_static.h index 5fb0b88a16..51296740f8 100644 --- a/include/d/a/d_a_item_static.h +++ b/include/d/a/d_a_item_static.h @@ -3,20 +3,145 @@ #include "SSystem/SComponent/c_lib.h" #include "dolphin/types.h" +#include "d/a/d_a_itembase.h" +#include "d/a/d_a_itembase_static.h" +#include "d/particle/d_particle.h" -class daItem_c { +class daItem_c; +typedef void (daItem_c::*procFunc)(); + +class daItem_c : public daItemBase_c { public: + daItem_c() : field_0x998(0, 0) {} + /* 8015B0C4 */ void initBaseMtx(); + /* 8015B108 */ void setBaseMtx(); + /* 8015B190 */ void setBaseMtx_0(); + /* 8015B1C8 */ void setBaseMtx_1(); + /* 8015B3D8 */ void CreateInit(); + /* 8015B7BC */ void setCullInfo(); + /* 8015B7D4 */ int _daItem_create(); + /* 8015BA9C */ void _daItem_execute(); + /* 8015BD84 */ int _daItem_draw(); + /* 8015BDE8 */ int _daItem_delete(); + /* 8015BE60 */ void procInitNormal(); + /* 8015BEA4 */ void procMainNormal(); + /* 8015BFE8 */ void procMainEnemyCarry(); + /* 8015BFEC */ void procInitForceGet(); + /* 8015C038 */ void procMainForceGet(); + /* 8015C058 */ void procInitSimpleGetDemo(); + /* 8015C134 */ void procMainSimpleGetDemo(); + /* 8015C200 */ void procInitGetDemoEvent(); + /* 8015C2A4 */ void procWaitGetDemoEvent(); + /* 8015C3BC */ void procMainGetDemoEvent(); + /* 8015C41C */ void procInitBoomerangCarry(); + /* 8015C514 */ void procMainBoomerangCarry(); + /* 8015C5F4 */ void procInitSwOnWait(); + /* 8015C648 */ void procMainSwOnWait(); + /* 8015C708 */ void procInitBoomHitWait(); + /* 8015C738 */ void procMainBoomHitWait(); + /* 8015CAB8 */ void move_proc_call(); + /* 8015CC4C */ void mode_wait_init(); + /* 8015CC88 */ void mode_water_init(); + /* 8015CCD0 */ void mode_wait(); + /* 8015CDCC */ void mode_water(); + /* 8015CEEC */ void itemGetNextExecute(); + /* 8015D0A8 */ void itemGet(); + /* 8015D370 */ BOOL checkCountTimer(); + /* 8015D3CC */ bool checkPlayerGet(); + /* 8015D410 */ void checkYogan(); + /* 8015D480 */ void deleteItem(); + /* 8015D4AC */ int itemActionForRupee(); + /* 8015D56C */ void itemActionForHeart(); + /* 8015D688 */ void itemActionForArrow(); + /* 8015D700 */ void itemActionForBoomerang(); + /* 8015D734 */ void bg_check(); + /* 8015D834 */ void set_bound_se(); + /* 8015D95C */ int CountTimer(); + /* 8015D9F0 */ int initAction(); + /* 8015DAAC */ void initFlag(); + /* 8015DBF0 */ void initScale(); + /* 8015DC40 */ void initSpeed(int); + /* 8015DE38 */ void initAngle(); u32 startCtrl(); u32 startControl(); u32 endControl(); - void setFlag(u8 pFlag) { cLib_onBit(unk2376, pFlag); } + /* 8015CE94 */ virtual void setTevStr(); + virtual void unk0() = 0; + virtual void unk1() = 0; + virtual void unk2() = 0; + virtual void unk3() = 0; + virtual void unk4() = 0; + virtual void unk5() = 0; + virtual void unk6() = 0; + virtual void unk7() = 0; + virtual void unk8() = 0; + virtual void unk9() = 0; + virtual void unk10() = 0; + virtual void unk11() = 0; + virtual void unk12() = 0; + virtual void unk13() = 0; + virtual void unk14() = 0; + virtual void unk15() = 0; + virtual void unk16() = 0; + virtual void unk17() = 0; + virtual void unk18() = 0; + virtual void unk19() = 0; + virtual void unk20() = 0; + virtual void unk21() = 0; + virtual void unk22() = 0; + virtual void unk23() = 0; + virtual void unk24() = 0; + virtual void unk25() = 0; + virtual void unk26() = 0; + virtual void unk27() = 0; + virtual void unk28() = 0; + virtual void unk29() = 0; + virtual void unk30() = 0; + virtual void unk31() = 0; + virtual void unk32() = 0; + virtual void unk33() = 0; + virtual void unk34() = 0; + virtual void unk35() = 0; -private: - u8 unk0[0x948]; - u8 unk2376; - u8 unk2377; - u8 unk2378; -}; + void setFlag(u8 pFlag) { cLib_onBit(mFlag, pFlag); } + void setStatus(u8 status) { mStatus = status; } + u8 getStatus() { return mStatus; } + bool checkFlag(u8 flag) { return cLib_checkBit(mFlag, flag); } + void clrFlag(u8 flag) { cLib_offBit(mFlag, flag); } + + static u8 mFuncPtr[120]; + //static procFunc mFuncPtr[9]; + static u8 m_cyl_src[68]; + static s32 m_timer_max; + + /* 0x92C */ s16 field_0x92c; + /* 0x92E */ u16 field_0x92e; + /* 0x930 */ cXyz field_0x930; + /* 0x93C */ u32 field_0x93c; + /* 0x940 */ u16 field_0x940; + /* 0x942 */ s16 field_0x942; + /* 0x944 */ s16 field_0x944; + /* 0x946 */ s16 field_0x946; + /* 0x948 */ u8 mFlag; + /* 0x949 */ u8 field_0x949; + /* 0x94A */ u8 mStatus; + /* 0x94B */ u8 field_0x94b; + /* 0x94C */ u32 m_item_id; + /* 0x950 */ cXyz field_0x950; + /* 0x95C */ u8 field_0x95c; + /* 0x95D */ bool field_0x95d; + /* 0x95E */ u8 mBoomWindTgTimer; + /* 0x95F */ u8 field_0x95f; + /* 0x960 */ u8 field_0x960[0xC]; + /* 0x96C */ cXyz field_0x96c; + /* 0x978 */ Z2SoundObjSimple field_0x978; + /* 0x998 */ dPa_followEcallBack field_0x998; + /* 0x9AC */ cXyz field_0x9ac; + /* 0x9B8 */ u32 field_0x9b8; + /* 0x9BC */ u8 field_0x9bc[4]; + /* 0x9C0 */ u8 field_0x9c0; + /* 0x9C1 */ u8 field_0x9c1; +}; // Size: 0x9C4 #endif /* D_A_D_A_ITEM_STATIC_H */ diff --git a/include/d/a/d_a_itembase.h b/include/d/a/d_a_itembase.h index 9b29d6dd72..071a962f68 100644 --- a/include/d/a/d_a_itembase.h +++ b/include/d/a/d_a_itembase.h @@ -8,7 +8,7 @@ #include "f_op/f_op_actor.h" struct daItemBase_data { - /* 0x00 */ f32 field_0x0; + /* 0x00 */ f32 mGravity; /* 0x04 */ f32 field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ f32 field_0xc; @@ -41,7 +41,7 @@ public: int DeleteBase(char const*); void setListEnd(); void animPlay(f32, f32, f32, f32, f32, f32); - daItemBase_data& getData(); + const daItemBase_data& getData(); virtual int DrawBase(); virtual void setListStart(); @@ -61,20 +61,21 @@ public: static daItemBase_data const m_data; -private: /* 0x56C */ request_of_phase_process_class mPhase; /* 0x574 */ J3DModel* mpModel; - /* 0x578 */ mDoExt_btkAnm* field_0x578; - /* 0x57C */ mDoExt_bpkAnm* field_0x57c; - /* 0x580 */ mDoExt_brkAnm* field_0x580; - /* 0x584 */ mDoExt_bckAnm* field_0x584; - /* 0x588 */ mDoExt_btpAnm* field_0x588; - /* 0x58C */ dBgS_ObjAcch field_0x58c; - /* 0x764 */ dBgS_AcchCir field_0x764; - /* 0x7A4 */ dCcD_Stts field_0x7a4; - /* 0x7E0 */ dCcD_Cyl field_0x7e0; + /* 0x578 */ mDoExt_btkAnm* mpBtkAnm; + /* 0x57C */ mDoExt_bpkAnm* mpBpkAnm; + /* 0x580 */ mDoExt_brkAnm* mpBrkAnm; + /* 0x584 */ mDoExt_bckAnm* mpBckAnm; + /* 0x588 */ mDoExt_btpAnm* mpBtpAnm; + /* 0x58C */ dBgS_ObjAcch mAcch; + /* 0x764 */ dBgS_AcchCir mAcchCir; + /* 0x7A4 */ dCcD_Stts mColStatus; + /* 0x7E0 */ dCcD_Cyl mCollider; /* 0x91C */ u32 field_0x91c; - /* 0x920 */ u8 field_0x920[0xA]; + /* 0x920 */ u32 field_0x920; + /* 0x924 */ int field_0x924; + /* 0x928 */ s16 field_0x928; /* 0x92A */ u8 m_itemNo; /* 0x92B */ u8 field_0x92b; }; diff --git a/include/d/a/d_a_itembase_static.h b/include/d/a/d_a_itembase_static.h index bc8924fa93..3c7f96b55d 100644 --- a/include/d/a/d_a_itembase_static.h +++ b/include/d/a/d_a_itembase_static.h @@ -4,4 +4,6 @@ #include "d/a/d_a_itembase.h" #include "dolphin/types.h" +void CheckFieldItemCreateHeap(fopAc_ac_c* actor); + #endif /* D_A_D_A_ITEMBASE_STATIC_H */ diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index ab76ef43d1..082622f526 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -514,4 +514,7 @@ public: STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48); +void daNpcF_getPlayerInfoFromPlayerList(int param_0, int param_1, cXyz& param_2, + csXyz& param_3); + #endif /* D_A_D_A_NPC_H */ diff --git a/include/a/npc/d_a_npc_cd.h b/include/d/a/d_a_npc_cd.h similarity index 100% rename from include/a/npc/d_a_npc_cd.h rename to include/d/a/d_a_npc_cd.h diff --git a/include/a/npc/d_a_npc_cd2.h b/include/d/a/d_a_npc_cd2.h similarity index 100% rename from include/a/npc/d_a_npc_cd2.h rename to include/d/a/d_a_npc_cd2.h diff --git a/include/d/a/d_a_obj_item.h b/include/d/a/d_a_obj_item.h new file mode 100644 index 0000000000..b139320fd9 --- /dev/null +++ b/include/d/a/d_a_obj_item.h @@ -0,0 +1,24 @@ +#ifndef A_OBJ_D_A_OBJ_ITEM_H +#define A_OBJ_D_A_OBJ_ITEM_H + +#include "d/a/d_a_item_static.h" + +namespace daItem_prm { + static inline u8 getItemNo(daItem_c* item) { + return fopAcM_GetParam(item); + } + + static inline u32 getItemBitNo(daItem_c* item) { + return (fopAcM_GetParam(item) >> 8) & 0xFF; + } + + static inline u16 getSwOnWaitTimer(daItem_c* item) { + return item->field_0x92e & 0x3F; + } + + static inline u8 checkInWater(daItem_c* item) { + return fopAcM_GetParamBit(item, 0x1C, 4); + } +}; + +#endif /* A_OBJ_D_A_OBJ_ITEM_H */ diff --git a/include/d/a/d_a_obj_ss_base.h b/include/d/a/d_a_obj_ss_base.h new file mode 100644 index 0000000000..29bf74248a --- /dev/null +++ b/include/d/a/d_a_obj_ss_base.h @@ -0,0 +1,21 @@ +#ifndef A_OBJ_D_A_OBJ_SS_BASE_H +#define A_OBJ_D_A_OBJ_SS_BASE_H + +#include "f_op/f_op_actor_mng.h" + +class daObj_SSBase_c : public fopAc_ac_c { +public: + /* 8015E3F8 */ daObj_SSBase_c(); + + /* 8015E450 */ virtual ~daObj_SSBase_c(); + /* 8015E4C8 */ virtual void setSoldOut(); + /* 8015E4B0 */ virtual u32 getProcessID(); + +private: + /* 0x56C */ void* mpParentPtr; + /* 0x570 */ u16 field_0x570; + /* 0x572 */ u16 mFlowNodeNum; + /* 0x574 */ u16 mValueNum; +}; + +#endif /* A_OBJ_D_A_OBJ_SS_BASE_H */ diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 5d19bbbc74..7f70be553a 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -46,7 +46,13 @@ private: class daPy_anmHeap_c { public: - enum daAlinkHEAP_TYPE {}; + enum daAlinkHEAP_TYPE { + HEAP_TYPE_1 = 1, + HEAP_TYPE_2, + HEAP_TYPE_3, + HEAP_TYPE_4, + HEAP_TYPE_5, + }; /* 80140DCC */ void __defctor(); // supposed to be the ctor? @@ -67,6 +73,8 @@ public: void resetArcNo() { mArcNo = 0xffff; } bool checkNoSetArcNo() const { return mArcNo == 0xFFFF; } void setBufferSize(u32 size) { mBufferSize = size; } + void setBuffer(u8* buf) { mBuffer = buf; } + u8* getBuffer() { return mBuffer; } private: /* 0x00 */ u16 mIdx; @@ -74,7 +82,7 @@ private: /* 0x04 */ u16 mArcNo; /* 0x06 */ u16 field_0x06; /* 0x08 */ u32 mBufferSize; - /* 0x0C */ void* mBuffer; + /* 0x0C */ u8* mBuffer; /* 0x10 */ JKRSolidHeap* mAnimeHeap; }; // Size = 0x14 @@ -130,7 +138,11 @@ public: void setDemoMode(u32 mode) { mDemoMode = mode; } u32 getDemoMode() const { return mDemoMode; } int getParam1() const { return mParam1; } + void setOriginalDemoType() { setDemoType(3); } void i_setSpecialDemoType() { setDemoType(5); } + void setStick(f32 stick) { mStick = stick; } + void setMoveAngle(s16 angle) { mDemoMoveAngle = angle; } + s16 getMoveAngle() const { return mDemoMoveAngle; } private: /* 0x00 */ u16 mDemoType; @@ -164,9 +176,10 @@ public: /* 0x058C */ u32 mEndResetFlg1; /* 0x0590 */ u32 mEndResetFlg2; /* 0x0594 */ f32 field_0x594; - /* 0x0598 */ u8 field_0x598[0x4]; + /* 0x0598 */ f32 field_0x598; /* 0x059C */ s16 mLookAngleY; - /* 0x059E */ u8 field_0x59e[0x6]; + /* 0x059E */ s16 field_0x59e; + /* 0x05A0 */ u8 field_0x5a0[0x4]; /* 0x05A4 */ cXyz mHeadTopPos; /* 0x05B0 */ cXyz mItemPos; /* 0x05BC */ cXyz mSwordTopPos; @@ -187,6 +200,7 @@ public: FLG0_UNK_80000 = 0x80000, FLG0_UNK_20000 = 0x20000, FLG0_UNK_8000 = 0x8000, + FLG0_UNK_4000 = 0x4000, MAGNE_BOOTS_ON = 0x1000, FLG0_UNK_80 = 0x80, FLG0_UNK_40 = 0x40, @@ -199,16 +213,20 @@ public: }; enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000 }; enum daPy_FLG2 { + FLG2_UNK_20000000 = 0x20000000, FLG2_UNK_4080000 = 0x4080000, FLG2_UNK_2080000 = 0x2080000, BOAR_SINGLE_BATTLE = 0x1800000, STATUS_WINDOW_DRAW = 0x400000, UNK_ARMOR = 0x80000, + SCENE_CHANGE_START = 0x8000, + FLG2_UNK_4000 = 0x4000, UNK_FLG2_2 = 2, UNK_DAPY_FLG2_1 = 1 }; enum daPy_FLG3 { FLG3_UNK_2000000 = 0x2000000, + FLG3_UNK_1000000 = 0x1000000, FLG3_UNK_100000 = 0x100000, COPY_ROD_THROW_AFTER = 0x40000 }; @@ -337,6 +355,15 @@ public: /* 80182AC4 */ void checkCopyRodThrowAfter() const; /* 80182AD8 */ void checkRide() const; /* 80182B9C */ void getRightHandPos() const; + /* 8015DFD8 */ const cXyz getItemPos() const; + /* 8015DFF4 */ const cXyz& getLeftHandPos() const; + + /* const cXyz* getItemPos() const { + return &mItemPos; + } + const cXyz* getLeftHandPos() const { + return &mLeftHandPos; + } */ virtual cXyz* getMidnaAtnPos() const; virtual void setMidnaMsgNum(fopAc_ac_c*, u16); @@ -526,6 +553,7 @@ public: u8 getCutType() const { return mCutType; } u16 getSwordAtUpTime() const { return mSwordUpTimer; } bool checkWaterInMove() const { return i_checkNoResetFlg0(UNDER_WATER_MOVEMENT); } + bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(SCENE_CHANGE_START); } // some functions use these function as an inline // is there a better way to handle this? @@ -555,12 +583,14 @@ public: void i_onPlayerNoDraw() { i_onNoResetFlg0(PLAYER_NO_DRAW); } void i_offPlayerNoDraw() { i_offNoResetFlg0(PLAYER_NO_DRAW); } + inline static u32 i_getLastSceneMode(); inline static u32 getLastSceneMode(); inline static bool checkWoodSwordEquip(); inline BOOL i_checkSwordGet(); inline bool i_checkShieldGet() const; inline static BOOL checkNowWolf(); inline bool checkZoraWearFlg() const; + inline bool checkMagicArmorWearFlg() const; static daMidna_c* getMidnaActor() { return m_midnaActor; } diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index 5d9565e561..4d253890ba 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -74,13 +74,13 @@ public: bool ChkMoveBG_NoDABg(cBgS_PolyInfo const&); s32 GetExitId(cBgS_PolyInfo const&); s32 GetPolyColor(cBgS_PolyInfo const&); - bool GetHorseNoEntry(cBgS_PolyInfo const&); + BOOL GetHorseNoEntry(cBgS_PolyInfo const&); bool GetSpecialCode(cBgS_PolyInfo const&); - bool GetMagnetCode(cBgS_PolyInfo const&); + int GetMagnetCode(cBgS_PolyInfo const&); bool GetMonkeyBarsCode(cBgS_PolyInfo const&); bool GetUnderwaterRoofCode(cBgS_PolyInfo const&); s32 GetWallCode(cBgS_PolyInfo const&); - bool GetPolyAtt0(cBgS_PolyInfo const&); + BOOL GetPolyAtt0(cBgS_PolyInfo const&); bool GetPolyAtt1(cBgS_PolyInfo const&); bool GetGroundCode(cBgS_PolyInfo const&); s32 GetCamMoveBG(cBgS_PolyInfo const&); diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h index 7d14297fd1..7aec8fd20b 100644 --- a/include/d/bg/d_bg_s_acch.h +++ b/include/d/bg/d_bg_s_acch.h @@ -62,6 +62,7 @@ public: /* 0x000080 */ GROUND_LANDING = (1 << 7), /* 0x000100 */ GROUND_AWAY = (1 << 8), /* 0x000200 */ ROOF_HIT = (1 << 9), + /* 0x000400 */ WATER_NONE = (1 << 10), /* 0x000800 */ WATER_HIT = (1 << 11), /* 0x001000 */ WATER_IN = (1 << 12), /* 0x002000 */ LINE_CHECK = (1 << 13), @@ -139,6 +140,14 @@ public: void SetGroundAway() { m_flags |= GROUND_AWAY; } const u32 MaskWaterHit() { return m_flags & WATER_HIT; } const bool ChkWaterHit() { return MaskWaterHit(); } + void ClrWaterNone() { m_flags &= ~WATER_NONE; } + void SetWaterCheckOffset(f32 offset) { m_wtr_chk_offset = offset; } + void OnLineCheck() { m_flags |= LINE_CHECK; } + void ClrRoofNone() { m_flags &= ~ROOF_NONE; } + void SetRoofCrrHeight(f32 height) { m_roof_crr_height = height; } + void SetWtrChkMode(int mode) { m_wtr_mode = mode; } + void SetGrndNone() { m_flags |= GRND_NONE; } + void ClrGrndNone() { m_flags &= ~GRND_NONE; } // inline dupe void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; } @@ -187,6 +196,11 @@ public: }; class dBgS_ObjAcch : public dBgS_Acch { +public: + dBgS_ObjAcch() { + SetObj(); + } + /* 80BB336C */ virtual ~dBgS_ObjAcch(); }; diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index d2d37fab17..ba45b4412f 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -109,10 +109,10 @@ public: /* 8007B0E4 */ virtual s32 GetGrpRoomIndex(cBgS_PolyInfo const&) const; virtual s32 GetExitId(cBgS_PolyInfo const&) = 0; virtual s32 GetPolyColor(cBgS_PolyInfo const&) = 0; - virtual bool GetHorseNoEntry(cBgS_PolyInfo const&) = 0; + virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&) = 0; virtual bool GetSpecialCode(cBgS_PolyInfo const&) = 0; virtual void GetSpecialCode(int) = 0; - virtual bool GetMagnetCode(cBgS_PolyInfo const&) = 0; + virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0; virtual void GetPolyObjThrough(int) = 0; virtual void GetPolyCamThrough(int) = 0; virtual void GetPolyLinkThrough(int) = 0; @@ -125,7 +125,7 @@ public: virtual bool GetUnderwaterRoofCode(int) = 0; virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0; virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0; - virtual bool GetPolyAtt0(cBgS_PolyInfo const&) = 0; + virtual BOOL GetPolyAtt0(cBgS_PolyInfo const&) = 0; virtual bool GetPolyAtt1(cBgS_PolyInfo const&) = 0; virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0; virtual void GetIronBallThrough(int) = 0; @@ -208,10 +208,10 @@ public: /* 8007DF00 */ virtual void SphChk(dBgS_SphChk*, virtual void*); /* 8007B3AC */ virtual s32 GetExitId(cBgS_PolyInfo const&); /* 8007B3D8 */ virtual s32 GetPolyColor(cBgS_PolyInfo const&); - /* 8007B404 */ virtual bool GetHorseNoEntry(cBgS_PolyInfo const&); + /* 8007B404 */ virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&); /* 8007B430 */ virtual bool GetSpecialCode(cBgS_PolyInfo const&); /* 8007B460 */ virtual void GetSpecialCode(int); - /* 8007B488 */ virtual bool GetMagnetCode(cBgS_PolyInfo const&); + /* 8007B488 */ virtual int GetMagnetCode(cBgS_PolyInfo const&); /* 8007B4E0 */ virtual void GetPolyObjThrough(int); /* 8007B504 */ virtual void GetPolyCamThrough(int); /* 8007B52C */ virtual void GetPolyLinkThrough(int); @@ -225,7 +225,7 @@ public: /* 8007B4B4 */ virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&); /* 8007B6AC */ virtual void GetLinkNo(cBgS_PolyInfo const&); /* 8007B6D8 */ virtual s32 GetWallCode(cBgS_PolyInfo const&); - /* 8007B704 */ virtual bool GetPolyAtt0(cBgS_PolyInfo const&); + /* 8007B704 */ virtual BOOL GetPolyAtt0(cBgS_PolyInfo const&); /* 8007B734 */ virtual bool GetPolyAtt1(cBgS_PolyInfo const&); /* 8007B760 */ virtual bool GetGroundCode(cBgS_PolyInfo const&); /* 8007B7DC */ virtual void GetIronBallThrough(int); diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h index 5da858ca4f..6f30556ce2 100644 --- a/include/d/bg/d_bg_w_base.h +++ b/include/d/bg/d_bg_w_base.h @@ -49,10 +49,10 @@ public: virtual s32 GetGrpRoomIndex(cBgS_PolyInfo const&) const = 0; virtual s32 GetExitId(cBgS_PolyInfo const&) = 0; virtual s32 GetPolyColor(cBgS_PolyInfo const&) = 0; - virtual bool GetHorseNoEntry(cBgS_PolyInfo const&) = 0; + virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&) = 0; virtual bool GetSpecialCode(cBgS_PolyInfo const&) = 0; virtual void GetSpecialCode(int) = 0; - virtual bool GetMagnetCode(cBgS_PolyInfo const&) = 0; + virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0; virtual void GetPolyObjThrough(int) = 0; virtual void GetPolyCamThrough(int) = 0; virtual void GetPolyLinkThrough(int) = 0; @@ -66,7 +66,7 @@ public: virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0; virtual void GetLinkNo(cBgS_PolyInfo const&) = 0; virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0; - virtual bool GetPolyAtt0(cBgS_PolyInfo const&) = 0; + virtual BOOL GetPolyAtt0(cBgS_PolyInfo const&) = 0; virtual bool GetPolyAtt1(cBgS_PolyInfo const&) = 0; virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0; virtual void GetIronBallThrough(int) = 0; diff --git a/include/d/bg/d_bg_w_kcol.h b/include/d/bg/d_bg_w_kcol.h index 93a055df04..76263d508d 100644 --- a/include/d/bg/d_bg_w_kcol.h +++ b/include/d/bg/d_bg_w_kcol.h @@ -48,7 +48,7 @@ public: /* 80082A80 */ virtual void GetHorseNoEntry(cBgS_PolyInfo const&); /* 80082AB0 */ virtual void GetSpecialCode(cBgS_PolyInfo const&); /* 80082AE0 */ virtual void GetSpecialCode(int); - /* 80082B0C */ virtual void GetMagnetCode(cBgS_PolyInfo const&); + /* 80082B0C */ virtual int GetMagnetCode(cBgS_PolyInfo const&); /* 80082B6C */ virtual void GetPolyObjThrough(int); /* 80082B98 */ virtual void GetPolyCamThrough(int); /* 80082BC4 */ virtual void GetPolyLinkThrough(int); @@ -62,7 +62,7 @@ public: /* 80082B3C */ virtual void GetMonkeyBarsCode(cBgS_PolyInfo const&); /* 80082D24 */ virtual void GetLinkNo(cBgS_PolyInfo const&); /* 80082D54 */ virtual s32 GetWallCode(cBgS_PolyInfo const&); - /* 80082D84 */ virtual void GetPolyAtt0(cBgS_PolyInfo const&); + /* 80082D84 */ virtual BOOL GetPolyAtt0(cBgS_PolyInfo const&); /* 80082DB4 */ virtual void GetPolyAtt1(cBgS_PolyInfo const&); /* 80082DE4 */ virtual void GetGroundCode(cBgS_PolyInfo const&); /* 80082E14 */ virtual void GetIronBallThrough(int); diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h index 51bf27fc4f..5a7813a55b 100644 --- a/include/d/cc/d_cc_d.h +++ b/include/d/cc/d_cc_d.h @@ -91,13 +91,13 @@ enum dCcG_At_Spl { }; class dCcD_GObjInf; -typedef void (*dCcD_AtHitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); +typedef void (*dCcD_HitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); class dCcD_GAtTgCoCommonBase { public: /* 0x00 */ u32 mGFlag; /* 0x04 */ u32 mRPrm; - /* 0x08 */ dCcD_AtHitCallback mHitCallback; + /* 0x08 */ dCcD_HitCallback mHitCallback; /* 0x0C */ u32 mApid; /* 0x10 */ fopAc_ac_c* mAc; /* 0x14 */ s8 mEffCounter; @@ -124,7 +124,7 @@ public: void OnSPrm(u32 flag) { mGFlag |= flag; } void OffSPrm(u32 flag) { mGFlag &= ~flag; } bool ChkRPrm(u32 flag) const { return MskRPrm(flag); } - void SetHitCallback(dCcD_AtHitCallback callback) { mHitCallback = callback; } + void SetHitCallback(dCcD_HitCallback callback) { mHitCallback = callback; } }; // Size = 0x1C class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase { @@ -157,6 +157,8 @@ public: /* 80083BE8 */ virtual ~dCcD_GObjTg() {} void SetVec(cXyz& vec) { mVec = vec; } cXyz& GetVec() { return mVec; } + void SetShieldFrontRangeYAngle(s16* angle) { mShieldFrontRangeYAngle = angle; } + void SetMtrl(u8 mtrl) { mMtrl = mtrl; } private: /* 0x1C */ u8 mSe; @@ -186,7 +188,7 @@ public: /* 800843A8 */ cCcD_GObjInf* GetAtHitGObj(); /* 800843DC */ bool ChkAtNoGuard(); /* 800843FC */ void ClrTgHit(); - /* 80084460 */ bool ChkTgHit(); + /* 80084460 */ u32 ChkTgHit(); /* 800844B8 */ void ResetTgHit(); /* 800844F8 */ cCcD_Obj* GetTgHitObj(); /* 80084548 */ dCcD_GObjInf* GetTgHitGObj(); @@ -202,21 +204,27 @@ public: bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); } void OnAtNoHitMark() { mGObjAt.OnSPrm(2); } void OffAtNoHitMark() { mGObjAt.OffSPrm(2); } + void OnTgNoHitMark() { mGObjTg.OnSPrm(4); } void OnAtNoConHit() { mGObjAt.OnSPrm(1); } void OffAtNoConHit() { mGObjAt.OffSPrm(1); } + void OnTgNoConHit() { mGObjTg.OnSPrm(2); } void SetAtHitMark(u8 mark) { mGObjAt.SetHitMark(mark); } void SetAtSe(u8 se) { mGObjAt.SetSe(se); } void SetAtMtrl(u8 mtrl) { mGObjAt.SetMtrl(mtrl); } + void SetTgMtrl(u8 mtrl) { mGObjTg.SetMtrl(mtrl); } fopAc_ac_c* GetAtHitAc() { return mGObjAt.GetAc(); } bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); } cXyz* GetAtVecP() { return mGObjAt.GetVecP(); } void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); } - void SetAtHitCallback(dCcD_AtHitCallback callback) { mGObjAt.SetHitCallback(callback); } + void SetAtHitCallback(dCcD_HitCallback callback) { mGObjAt.SetHitCallback(callback); } + void SetTgHitCallback(dCcD_HitCallback callback) { mGObjTg.SetHitCallback(callback); } + void SetCoHitCallback(dCcD_HitCallback callback) { mGObjCo.SetHitCallback(callback); } u8 GetAtSe() { return mGObjAt.GetSe(); } s32 GetAtSpl() { return mGObjAt.GetSpl(); } u8 GetAtMtrl() { return mGObjAt.GetMtrl(); } fopAc_ac_c* GetTgHitAc() { return mGObjTg.GetAc(); } - + void SetTgShieldFrontRangeYAngle(s16* angle) { mGObjTg.SetShieldFrontRangeYAngle(angle); } + static u32 const m_hitSeID[24]; protected: diff --git a/include/d/com/d_com_inf_actor.h b/include/d/com/d_com_inf_actor.h index 2b45039390..ca9321197f 100644 --- a/include/d/com/d_com_inf_actor.h +++ b/include/d/com/d_com_inf_actor.h @@ -3,4 +3,16 @@ #include "dolphin/types.h" +class dComIfAc_info_c { +public: + /* 0x0 */ int field_0x0; + /* 0x4 */ bool mPause; +}; + +extern dComIfAc_info_c g_dComIfAc_gameInfo; + +inline bool dComIfA_PauseCheck() { + return g_dComIfAc_gameInfo.mPause; +} + #endif /* D_COM_D_COM_INF_ACTOR_H */ diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 022784b66c..58b15bb758 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -52,7 +52,9 @@ public: /* 0x00 */ camera_class* mCamera; /* 0x04 */ u8 field_0x4; - /* 0x05 */ u8 field_0x5[3]; + /* 0x05 */ u8 field_0x5; + /* 0x06 */ s8 field_0x6; + /* 0x07 */ u8 field_0x7; /* 0x08 */ u32 mCameraAttentionStatus; /* 0x0C */ f32 mCameraZoomScale; /* 0x10 */ f32 mCameraZoomForcus; @@ -326,8 +328,11 @@ public: JKRExpHeap* getMsgExpHeap() { return mMsgExpHeap; } JKRExpHeap* getSubExpHeap2D(int idx) { return mSubExpHeap2D[idx]; } void setSubExpHeap2D(int idx, void* heap) { mSubExpHeap2D[idx] = (JKRExpHeap*)heap; } + void setExpHeap2D(void* heap) { mExpHeap2D = (JKRExpHeap*)heap; } + void setMsgExpHeap(void* heap) { mMsgExpHeap = (JKRExpHeap*)heap; } JKRArchive* getMsgDtArchive(int idx) { return mMsgDtArchive[idx]; } + JKRArchive* getMsgArchive(int idx) { return mMsgArchive[idx]; } JKRArchive* getMain2DArchive() { return mMain2DArchive; } JKRArchive* getAnmArchive() { return mAnmArchive; } JKRArchive* getCollectResArchive() { return mCollectResArchive; } @@ -355,8 +360,11 @@ public: void setRubyArchive(JKRArchive* arc) { mRubyArchive = arc; } void setMain2DArchive(JKRArchive* arc) { mMain2DArchive = arc; } void setItemTable(void* data) { mItemTable = data; } + void* getItemTable() { return mItemTable; } + void setPlayerPtr(int i, fopAc_ac_c* ptr) { mPlayerPtr[i] = ptr; } void setPlayer(int i, fopAc_ac_c* player) { mPlayer[i] = (daAlink_c*)player; } + void setPlayerInfo(int i, fopAc_ac_c* ptr, int camIdx) { mPlayer[i] = (daAlink_c*)ptr; mPlayerCameraID[camIdx] = 0; } void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; } void clearPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] &= ~flag; } bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[i]; } @@ -368,12 +376,21 @@ public: BOOL checkCameraAttentionStatus(int i, u32 flag) { return mCameraInfo[i].mCameraAttentionStatus & flag; } + void setCameraAttentionStatus(int i, u32 flag) { mCameraInfo[i].mCameraAttentionStatus = flag; } + void setCameraInfo(int camIdx, camera_class* p_cam, int param_2, int param_3, int param_4) { + mCameraInfo[camIdx].mCamera = p_cam; + mCameraInfo[camIdx].field_0x4 = param_2; + mCameraInfo[camIdx].field_0x5 = param_3; + mCameraInfo[camIdx].field_0x6 = param_4; + setCameraAttentionStatus(camIdx, 0); + } void setStatus(u16 status) { mStatus = status; } s32 checkStatus(u16 flags) { return flags & mStatus; } bool& isPauseFlag() { return mPauseFlag; } void offPauseFlag() { mPauseFlag = false; } + void onPauseFlag() { mPauseFlag = true; } void show2dOn() { mShow2D = 1; } s8 getLayerOld() { return mLayerOld; } void setMesgCancelButton(u8 button) { mMesgCancelButton = button; } @@ -389,6 +406,10 @@ public: mWindow[i].setMode(mode); } + void setLastPlayStageName(char* name) { + strncpy(mLastPlayStageName, name, 7); + mLastPlayStageName[7] = 0; + } char* getLastPlayStageName() { return mLastPlayStageName; } u8 getGameoverStatus() { return mGameoverStatus; } @@ -440,7 +461,7 @@ public: /* 0x04E3C */ dComIfG_camera_info_class mCameraInfo[1]; /* 0x04E74 */ daAlink_c* mPlayer[1]; /* 0x04E78 */ s8 mPlayerCameraID[4]; - /* 0x04E7C */ void* mPlayerPtr[2]; // 0: Player, 1: Horse ; type may be wrong + /* 0x04E7C */ fopAc_ac_c* mPlayerPtr[2]; // 0: Player, 1: Horse ; type may be wrong /* 0x04E84 */ dMsgObject_c* mMsgObjectClass; /* 0x04E88 */ f32 mItemLifeCount; /* 0x04E8C */ s32 mItemRupeeCount; @@ -656,9 +677,7 @@ void dComIfG_get_timelayer(int* layer); int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resName); int dComIfG_changeOpeningScene(scene_class* scene, s16 procName); int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_name); -BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no); -void dComIfGs_onStageSwitch(int i_stageNo, int i_no); -void dComIfGs_offStageSwitch(int i_stageNo, int i_no); +int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName, JKRHeap* heap); inline void dComIfG_setBrightness(u8 brightness) { g_dComIfG_gameInfo.mFadeBrightness = brightness; @@ -765,6 +784,17 @@ void dComIfGs_offOneZoneSwitch(int param_0, int param_1); s8 dComIfGp_getReverb(int roomNo); void dComIfGs_gameStart(); int dComIfGs_wolfeye_effect_check(); +BOOL dComIfGs_Wolf_Change_Check(); +void dComIfGs_onVisitedRoom(int param_0); +void dComIfGs_setWarpItemData(char const* stage, cXyz pos, s16 angle, s8 roomNo, u8 param_4, + u8 param_5); +BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no); +void dComIfGs_onStageSwitch(int i_stageNo, int i_no); +void dComIfGs_offStageSwitch(int i_stageNo, int i_no); + +inline void dComIfGs_init() { + g_dComIfG_gameInfo.info.init(); +} inline void dComIfGs_onDungeonItemMap() { g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemMap(); @@ -866,6 +896,10 @@ inline void dComIfGs_setEmptyBombBagItemIn(u8 newBomb, bool setNum) { g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(newBomb, setNum); } +inline void dComIfGs_setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(newBomb, bombNum, setNum); +} + inline void dComIfGs_setEmptyBottle() { g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBottle(); } @@ -1051,6 +1085,10 @@ inline s32 dComIfGs_isDungeonItemWarp() { return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemWarp(); } +inline s32 dComIfGs_isStageBossEnemy() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isStageBossEnemy(); +} + inline void dComIfGs_setKeyNum(u8 keyNum) { g_dComIfG_gameInfo.info.getMemory().getBit().setKeyNum(keyNum); } @@ -1369,6 +1407,38 @@ inline void* dComIfGs_getPEventBit() { return g_dComIfG_gameInfo.info.getEvent().getPEventBit(); } +inline bool dComIfGs_isItem(int bitNo, int roomNo) { + return g_dComIfG_gameInfo.info.isItem(bitNo, roomNo); +} + +inline void dComIfGs_onItem(int bitNo, int roomNo) { + g_dComIfG_gameInfo.info.onItem(bitNo, roomNo); +} + +inline void dComIfGs_onActor(int bitNo, int roomNo) { + g_dComIfG_gameInfo.info.onActor(bitNo, roomNo); +} + +inline void dComIfGs_setLastWarpAcceptStage(s8 param_0) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpAcceptStage(param_0); +} + +inline void dComIfGs_setOptPointer(u8 i_pointer) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setPointer(i_pointer); +} + +inline u8 dComIfGs_getNewFile() { + return g_dComIfG_gameInfo.info.getNewFile(); +} + +inline void dComIfGs_setInitDataToCard(u8* p_saveData, int dataNum) { + g_dComIfG_gameInfo.info.initdata_to_card((char*)p_saveData, dataNum); +} + +inline void dComIfGs_setMemoryToCard(u8* p_saveData, int dataNum) { + g_dComIfG_gameInfo.info.memory_to_card((char*)p_saveData, dataNum); +} + void dComIfGp_setItemLifeCount(f32 amount, u8 type); void dComIfGp_setItemRupeeCount(long amount); void dComIfGp_setSelectItem(int index); @@ -1396,6 +1466,7 @@ u8 dComIfGp_world_dark_get(); JKRExpHeap* dComIfGp_getSubHeap2D(int flag); void dComIfGp_world_dark_set(u8); u8 dComIfGp_getNowLevel(); +void dComIfGp_calcNowRegion(); inline dStage_startStage_c* dComIfGp_getStartStage() { return g_dComIfG_gameInfo.play.getStartStage(); @@ -1457,6 +1528,10 @@ inline JKRArchive* dComIfGp_getMsgDtArchive(int idx) { return g_dComIfG_gameInfo.play.getMsgDtArchive(idx); } +inline JKRArchive* dComIfGp_getMsgArchive(int idx) { + return g_dComIfG_gameInfo.play.getMsgArchive(idx); +} + inline void dComIfGp_setFieldMapArchive2(JKRArchive* arc) { g_dComIfG_gameInfo.play.setFieldMapArchive2(arc); } @@ -1537,6 +1612,10 @@ inline void dComIfGp_setItemTable(void* data) { g_dComIfG_gameInfo.play.setItemTable(data); } +inline void* dComIfGp_getItemTable() { + return g_dComIfG_gameInfo.play.getItemTable(); +} + inline JKRExpHeap* dComIfGp_getExpHeap2D() { return g_dComIfG_gameInfo.play.getExpHeap2D(); } @@ -1605,6 +1684,10 @@ inline s16 dComIfGp_getNextStagePoint() { return g_dComIfG_gameInfo.play.getNextStagePoint(); } +inline void dComIfGp_setLastPlayStageName(char* name) { + g_dComIfG_gameInfo.play.setLastPlayStageName(name); +} + inline u32 dComIfGp_getNowVibration() { return g_dComIfG_gameInfo.play.getNowVibration(); } @@ -1801,6 +1884,14 @@ inline void dComIfGp_setSubExpHeap2D(int idx, void* heap) { g_dComIfG_gameInfo.play.setSubExpHeap2D(idx, heap); } +inline void dComIfGp_setExpHeap2D(void* heap) { + g_dComIfG_gameInfo.play.setExpHeap2D(heap); +} + +inline void dComIfGp_setMsgExpHeap(void* heap) { + g_dComIfG_gameInfo.play.setMsgExpHeap(heap); +} + inline void dComIfGp_offEnableNextStage() { g_dComIfG_gameInfo.play.offEnableNextStage(); } @@ -1825,10 +1916,22 @@ inline void dComIfGp_setStatus(u16 status) { g_dComIfG_gameInfo.play.setStatus(status); } +inline void dComIfGp_setLinkPlayer(fopAc_ac_c* ptr) { + g_dComIfG_gameInfo.play.setPlayerPtr(0, ptr); +} + +inline void dComIfGp_setPlayerPtr(int i, fopAc_ac_c* ptr) { + g_dComIfG_gameInfo.play.setPlayerPtr(i, ptr); +} + inline void dComIfGp_setPlayer(int i, fopAc_ac_c* player) { g_dComIfG_gameInfo.play.setPlayer(i, player); } +inline void dComIfGp_setPlayerInfo(int plyrIdx, fopAc_ac_c* ptr, int camIdx) { + g_dComIfG_gameInfo.play.setPlayerInfo(plyrIdx, ptr, camIdx); +} + inline void dComIfGp_setPlayerStatus0(int param_0, u32 flag) { g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 0, flag); } @@ -1841,6 +1944,10 @@ inline BOOL dComIfGp_checkCameraAttentionStatus(int i, u32 flag) { return g_dComIfG_gameInfo.play.checkCameraAttentionStatus(i, flag); } +inline void dComIfGp_setCameraInfo(int camIdx, camera_class* p_cam, int param_2, int param_3, int param_4) { + g_dComIfG_gameInfo.play.setCameraInfo(camIdx, p_cam, param_2, param_3, param_4); +} + inline void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) { g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag); } @@ -2015,6 +2122,14 @@ inline JKRAramArchive* dComIfGp_getFieldMapArchive2() { return g_dComIfG_gameInfo.play.getFieldMapArchive2(); } +inline void dComIfGp_onPauseFlag() { + g_dComIfG_gameInfo.play.onPauseFlag(); +} + +inline void dComIfGp_createSimpleModel() { + g_dComIfG_gameInfo.play.createSimpleModel(); +} + inline s32 dComIfGp_roomControl_getStayNo() { return dStage_roomControl_c::getStayNo(); } @@ -2063,10 +2178,55 @@ inline BOOL dComIfGp_event_compulsory(void* param_0, const char* param_1, u16 pa return g_dComIfG_gameInfo.play.getEvent().compulsory(param_0, param_1, param_2); } +inline int dComIfGp_event_moveApproval(void* actor) { + return g_dComIfG_gameInfo.play.getEvent().moveApproval(actor); +} + +inline int dComIfGp_event_order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, + void* param_5, s16 eventID, u8 infoIdx) { + return g_dComIfG_gameInfo.play.getEvent().order(eventType, priority, flag, param_3, param_4, param_5, eventID, infoIdx); +} + +inline void dComIfGp_event_setGtItm(int i_itemNo) { + g_dComIfG_gameInfo.play.getEvent().setGtItm(i_itemNo); +} + inline void dComIfGp_evmng_cutEnd(int param_0) { dComIfGp_getPEvtManager()->cutEnd(param_0); } +inline BOOL dComIfGp_evmng_endCheck(const char* event) { + return g_dComIfG_gameInfo.play.getEvtManager().endCheckOld(event); +} + +inline void dComIfGp_event_setItemPartnerId(unsigned int id) { + g_dComIfG_gameInfo.play.getEvent().setPtI_Id(id); +} + +inline int dComIfGp_evmng_startDemo(int param_0) { + return dComIfGp_getPEvtManager()->setStartDemo(param_0); +} + +inline void* dComIfGp_event_getTalkPartner() { + u32 t = g_dComIfG_gameInfo.play.getEvent().mPtT; + return g_dComIfG_gameInfo.play.getEvent().convPId(t); +} + +inline void* dComIfGp_event_getItemPartner() { + u32 i = g_dComIfG_gameInfo.play.getEvent().mPtI; + return g_dComIfG_gameInfo.play.getEvent().convPId(i); +} + +inline void* dComIfGp_event_getPt1() { + u32 pt1 = g_dComIfG_gameInfo.play.getEvent().mPt1; + return g_dComIfG_gameInfo.play.getEvent().convPId(pt1); +} + +inline void* dComIfGp_event_getPt2() { + u32 pt2 = g_dComIfG_gameInfo.play.getEvent().mPt2; + return g_dComIfG_gameInfo.play.getEvent().convPId(pt2); +} + inline int i_dComIfGp_evmng_getMyStaffId(const char* pName, fopAc_ac_c* pActor, int param_2) { return dComIfGp_getPEvtManager()->getMyStaffId(pName, pActor, param_2); } @@ -2111,6 +2271,10 @@ inline void dComIfGp_particle_create() { g_dComIfG_gameInfo.play.createParticle(); } +inline void dComIfGp_particle_createScene(const void* param_0) { + g_dComIfG_gameInfo.play.getParticle()->createScene(param_0); +} + inline JKRExpHeap* dComIfGp_particle_getResHeap() { return g_dComIfG_gameInfo.play.getParticle()->getResHeap(); } @@ -2145,6 +2309,15 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, param_10, param_11, 1.0f); } +inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, const csXyz* param_3, + const cXyz* param_4, u8 param_5, dPa_levelEcallBack* param_6, + s8 param_7, const GXColor* param_8, const GXColor* param_9, + const cXyz* param_10) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal( + param_0, param_1, param_2, NULL, param_3, param_4, param_5, param_6, param_7, param_8, + param_9, param_10, 1.0f); +} + inline u32 dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, const csXyz* param_4, const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, @@ -2160,11 +2333,23 @@ inline u32 dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* NULL, NULL); } +inline u32 dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const dKy_tevstr_c* param_2, const csXyz* param_3, + const cXyz* param_4) { + return dComIfGp_particle_set(param_0, param_1, param_2, param_3, param_4, 0xFF, NULL, -1, NULL, + NULL, NULL); +} + +inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, const csXyz* param_3, + const cXyz* param_4) { + return dComIfGp_particle_set(param_0, param_1, param_2, param_3, param_4, 0xFF, NULL, -1, NULL, + NULL, NULL); +} + inline void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0) { g_dComIfG_gameInfo.play.getParticle()->forceOnEventMove(param_0); } -inline dPa_control_c::level_c::emitter_c* dComIfGp_particle_getEmitter(u32 param_0) { +inline JPABaseEmitter* dComIfGp_particle_getEmitter(u32 param_0) { return g_dComIfG_gameInfo.play.getParticle()->getEmitter(param_0); } @@ -2232,6 +2417,11 @@ inline void dComIfGd_setList() { g_dComIfG_gameInfo.drawlist.setXluList(); } +inline void dComIfGd_setListItem3D() { + g_dComIfG_gameInfo.drawlist.setOpaListItem3D(); + g_dComIfG_gameInfo.drawlist.setXluListItem3D(); +} + inline void dComIfGd_setXluList2DScreen() { g_dComIfG_gameInfo.drawlist.setXluList2DScreen(); } diff --git a/include/d/com/d_com_static.h b/include/d/com/d_com_static.h index 80bf69ee89..2268d3081a 100644 --- a/include/d/com/d_com_static.h +++ b/include/d/com/d_com_static.h @@ -29,7 +29,7 @@ public: /* 80031248 */ void newData(s8, cXyz const&, cXyz const&, u8, u8, u8); /* 800313BC */ void reset(); - /* 800314D4 */ void check(fopAc_ac_c*); + /* 800314D4 */ static void check(fopAc_ac_c*); /* 80031434 */ static bool check(s8, cXyz const&); /* 800315A4 */ static void execute(); diff --git a/include/d/d_camera.h b/include/d/d_camera.h index a82d9e1459..3787acb30c 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -14,11 +14,20 @@ struct dCamMapToolData { /* 8015FEB8 */ void Set(s32, s32, fopAc_ac_c*, u16, u8); }; -struct dCamera_c { - struct dCamInfo_c { +class dCamera_c { +public: + class dCamInfo_c { + public: /* 8018291C */ dCamInfo_c(); /* 80182920 */ ~dCamInfo_c(); - }; + + private: + /* 0x00 */ cXyz field_0x0; + /* 0x0C */ cXyz field_0xc; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ cSAngle field_0x1c; + /* 0x1E */ s16 field_0x1e; + }; // Size: 0x20 /* 8008908C */ void getEvIntData(int*, char*, int); /* 80088CB0 */ void getEvIntData(int*, char*); @@ -185,9 +194,50 @@ struct dCamera_c { /* 80182980 */ void chkFlag(u32); /* 801829AC */ void Bank(); + bool Active() { return field_0x24 == 0; } + static u8 engine_tbl[240]; + + /* 0x000 */ cXyz field_0x0; + /* 0x00C */ cXyz field_0xc; + /* 0x018 */ f32 field_0x18; + /* 0x01C */ cSAngle field_0x1c; + /* 0x01E */ s16 field_0x1e; + /* 0x020 */ u8 field_0x20; + /* 0x021 */ u8 field_0x21; + /* 0x022 */ u8 field_0x22[0x24 - 0x22]; + /* 0x024 */ int field_0x24; + /* 0x028 */ u8 field_0x28[0x30 - 0x28]; + /* 0x030 */ cXyz field_0x30; + /* 0x03C */ cXyz field_0x3c; + /* 0x048 */ cXyz field_0x48; + /* 0x054 */ cSAngle field_0x54; + /* 0x058 */ f32 field_0x58; + class { + public: + /* 0x00 */ cSGlobe field_0x0; + /* 0x08 */ cXyz field_0x8; + /* 0x14 */ cXyz field_0x14; + /* 0x20 */ cSAngle field_0x20; + } + /* 0x05C */ field_0x5c; + /* 0x07C */ u8 field_0x7c[0x8C - 0x7C]; + /* 0x08C */ cSAngle field_0x8c; + /* 0x090 */ cXyz field_0x90; + /* 0x09C */ cXyz field_0x9c; + /* 0x0A8 */ u8 field_0xa8[0xB0 - 0xA8]; + /* 0x0B0 */ dCamInfo_c field_0xb0; + /* 0x0D0 */ dCamInfo_c field_0xd0[2]; + class { + public: + /* 0x00 */ u8 field_0x0[8]; + /* 0x08 */ dCamInfo_c field_0x8; + /* 0x28 */ cXyz field_0x28; + } + /* 0x110 */ field_0x110; }; dCamera_c* dCam_getBody(); +dCamera_c* dCam_getCamera(); #endif /* D_D_CAMERA_H */ diff --git a/include/d/d_demo.h b/include/d/d_demo.h index 842508ea5c..0800616e31 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -4,18 +4,65 @@ #include "JSystem/JStudio/JStudio/stb.h" #include "dolphin/types.h" -class cXyz; -struct dDemo_c { - /* 80039678 */ void create(); +struct cXyz; +struct Vec; +struct fopAc_ac_c; +class dDemo_actor_c; + +class dDemo_object_c { +public: + /* 80038F54 */ dDemo_object_c(); + /* 80038F70 */ ~dDemo_object_c(); + /* 80038FC0 */ void appendActor(fopAc_ac_c*); + /* 80039088 */ static dDemo_actor_c* getActor(u8); + /* 800390AC */ void createCamera(); + /* 80039128 */ void getActiveCamera(); + /* 8003913C */ void createAmbient(); + /* 800391B8 */ void appendLight(); + /* 80039258 */ void createFog(); + /* 800392D4 */ void remove(); +}; + +class dDemo_actor_c { +public: + /* 80038020 */ dDemo_actor_c(); + /* 80038098 */ ~dDemo_actor_c(); + /* 80038128 */ void getActor(); + /* 8003815C */ void setActor(fopAc_ac_c*); + /* 8003819C */ void getPrm_Morf(); + /* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*); + /* 800387EC */ void JSGSetData(u32, void const*, u32); + /* 80038920 */ void JSGSetTranslation(Vec const&); + /* 80038980 */ void JSGSetScaling(Vec const&); + /* 800389A8 */ void JSGSetRotation(Vec const&); + /* 80038A0C */ void JSGSetShape(u32); + /* 80038A20 */ void JSGSetAnimation(u32); + /* 80038A40 */ void JSGSetAnimationFrame(f32); + /* 80038A54 */ void JSGSetAnimationTransition(f32); + /* 80038A68 */ void JSGSetTextureAnimation(u32); + /* 80038A7C */ void JSGSetTextureAnimationFrame(f32); + /* 8003A05C */ void JSGFindNodeID(char const*) const; + /* 8003A088 */ void JSGGetNodeTransformation(u32, f32 (*)[4]) const; + /* 8003A0C8 */ void JSGGetAnimationFrameMax() const; + /* 8003A0D0 */ void JSGGetTextureAnimationFrameMax() const; + /* 8003A0D8 */ void JSGGetTranslation(Vec*) const; + /* 8003A0F4 */ void JSGGetScaling(Vec*) const; + /* 8003A110 */ void JSGGetRotation(Vec*) const; +}; + +class dDemo_c { +public: + /* 80039678 */ static void create(); /* 80039910 */ void remove(); - /* 80039B6C */ static void start(u8 const*, cXyz*, f32); + /* 80039B6C */ void start(u8 const*, cXyz*, f32); /* 80039CF8 */ static void end(); /* 80039D4C */ void branch(); - /* 80039DA4 */ void update(); + /* 80039DA4 */ static void update(); /* 80039EDC */ void setBranchType(u16); /* 80039EEC */ void setBranchId(u16, s16); /* 80039F04 */ void reset(); + static dDemo_actor_c* getActor(u8 param_0) { return m_object->getActor(param_0); } static u32 getFrameNoMsg() { return m_frameNoMsg; } static s32 getMode() { return m_mode; } static JStudio::stb::TControl* getControl() { return m_control; } @@ -29,7 +76,7 @@ struct dDemo_c { static u8 m_message[4]; static u8 m_factory[4]; static u8 m_mesgControl[4]; - static u8 m_object[4]; + static dDemo_object_c* m_object; static u8 m_data[4]; static u8 m_frame[4]; static u8 m_translation[4]; diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index f175a6a3bc..ddbd6ea7ea 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -239,6 +239,8 @@ public: void setOpaListDark() { setOpaDrawList(mOpaListDark); } void setOpaList() { setOpaDrawList(mOpaList); } void setXluList() { setXluDrawList(mXluList); } + void setOpaListItem3D() { setOpaDrawList(mOpaListItem3d); } + void setXluListItem3D() { setXluDrawList(mXluListItem3d); } void setXluListBG() { setXluDrawList(mXluListBG); } void setOpaListBG() { setOpaDrawList(mOpaListBG); } void setXluList2DScreen() { setXluDrawList(mList2DScreen); } diff --git a/include/d/d_item.h b/include/d/d_item.h index 860f370b52..cab6dcbc38 100644 --- a/include/d/d_item.h +++ b/include/d/d_item.h @@ -385,8 +385,9 @@ s32 item_getcheck_func_KEY_OF_FILONE(); s32 item_getcheck_func_noentry(); s32 checkItemGet(u8, int); +BOOL isHeart(u8 item_no); s32 isBomb(u8); s32 isArrow(u8); -void addBombCount(u8, u8); +int addBombCount(u8, u8); #endif /* D_D_ITEM_H */ diff --git a/include/d/d_item_data.h b/include/d/d_item_data.h index 976bf716b8..7ae58debf3 100644 --- a/include/d/d_item_data.h +++ b/include/d/d_item_data.h @@ -54,6 +54,8 @@ struct dItem_data { static s8 getBtpFrm(u8 index) { return item_resource[index].mBtpFrm; } + static s16 getTexture(u8 index) { return item_resource[index].mTexture; } + static char* getFieldArc(u8 index) { return field_item_res[index].mFieldArc; } static s16 getItemBmdName(u8 index) { return field_item_res[index].mItemBmdName; } @@ -78,6 +80,8 @@ struct dItem_data { static u8 getR(u8 index) { return item_info[index].mR; } + static u16 getFieldHeapSize(u8 index) { return field_item_res[index].mHeapSize; } + static dItem_itemResource item_resource[255]; static dItem_fieldItemResource field_item_res[255]; static dItem_itemInfo item_info[255]; diff --git a/include/d/d_lib.h b/include/d/d_lib.h index 769e80635b..121bff182e 100644 --- a/include/d/d_lib.h +++ b/include/d/d_lib.h @@ -12,14 +12,26 @@ struct STControl { init(); } - /* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16); + enum EStickDir { + TRIG_LEFT = 1, + TRIG_RIGHT, + TRIG_UP = 4, + TRIG_UP_LEFT, + TRIG_UP_RIGHT, + TRIG_DOWN = 8, + TRIG_DOWN_LEFT, + TRIG_DOWN_RIGHT, + }; + + /* 80032044 */ STControl(s16 delayY, s16 delayX, s16 param_2, s16 param_3, f32 threshold, + f32 param_5, s16 param_6, s16 param_7); /* 80032088 */ void setWaitParm(s16, s16, s16, s16, f32, f32, s16, s16); /* 800320AC */ void init(); /* 800320FC */ void Xinit(); /* 8003212C */ void Yinit(); /* 8003215C */ virtual f32 getValueStick(); /* 8003216C */ virtual s16 getAngleStick(); - /* 8003219C */ void checkTrigger(); + /* 8003219C */ u8 checkTrigger(); /* 8003242C */ bool checkLeftTrigger(); /* 800324A8 */ bool checkRightTrigger(); /* 80032524 */ bool checkUpTrigger(); @@ -27,14 +39,14 @@ struct STControl { void setFirstWaitTime(s16 time) { mFirstWaitTime = time; } - /* 0x04 */ f32 field_0x04; + /* 0x04 */ f32 mThreshold; /* 0x08 */ f32 field_0x08; - /* 0x0C */ u8 field_0x0c; + /* 0x0C */ u8 mDirectionTrig; /* 0x0D */ u8 field_0x0d; /* 0x0E */ s16 field_0x0e; /* 0x10 */ s16 field_0x10; - /* 0x12 */ s16 field_0x12; - /* 0x14 */ s16 field_0x14; + /* 0x12 */ s16 mRepeatDelayY; + /* 0x14 */ s16 mRepeatDelayX; /* 0x16 */ s16 field_0x16; /* 0x18 */ s16 mXwaitTimer; /* 0x1A */ s16 mYwaitTimer; diff --git a/include/d/d_model.h b/include/d/d_model.h index d1ef64481d..690dd1b570 100644 --- a/include/d/d_model.h +++ b/include/d/d_model.h @@ -41,7 +41,7 @@ public: /* 8009C6DC */ dMdl_c* search(J3DModelData*, u16, dKy_tevstr_c*); /* 8009C724 */ dMdl_c* entry(J3DModelData*, u16, dKy_tevstr_c*); /* 8009C8D8 */ dMdl_c* entry(J3DModelData*, u16, int); - /* 8009C7AC */ void create(); + /* 8009C7AC */ static void create(); /* 8009C864 */ void remove(); /* 8009C8C0 */ void reset(); diff --git a/include/d/d_path.h b/include/d/d_path.h index 8ecf6b83d9..3731b66a4e 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +u16* dPath_GetRoomPath(int param_0, int param_1); + #endif /* D_D_PATH_H */ diff --git a/include/d/d_stage.h b/include/d/d_stage.h index db454c2d19..835b4bbd8f 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -210,6 +210,7 @@ public: /* 0x0C */ f32 field_0xc; /* 0x10 */ u8 field_0x10[10]; /* 0x1A */ u8 mDefaultCamera; + /* 0x1B */ u8 mBitSw; /* 0x1C */ u16 mMsg; }; // Size: 0x20 @@ -244,7 +245,9 @@ struct dStage_MapEvent_dt_c { u8 mType; u8 field_0x1[3 - 1]; u8 field_0x3; - u8 field_0x4[7 - 4]; + u8 field_0x4; + u8 field_0x5; + u8 field_0x6; u8 field_0x7; u8 field_0x8; u8 field_0x9; @@ -715,6 +718,7 @@ public: static void offNoChangeRoom() { data_80450D68 = false; } static void setProcID(u32 id) { mProcID = id; } static u32 getProcID() { return mProcID; } + static int getStatusProcID(int i_roomNo) { return mStatus[i_roomNo].mProcID; } static void setFileList2(int i_roomNo, dStage_FileList2_dt_c* list) { mStatus[i_roomNo].mRoomDt.mFileList2Info = list; } @@ -855,6 +859,10 @@ s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int); int dStage_changeScene(int, f32, u32, s8, s16, int); void dStage_infoCreate(); u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer); +int dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 speed, u32 mode, s8 roomNo, s16 angle); +int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, f32 speed, + u32 mode, s16 angle, int param_7); +void dStage_Create(); inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) { return data.field_0x2 & 8; @@ -895,11 +903,16 @@ inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) { inline u32 dStage_stagInfo_GetArg0(stage_stag_info_class* p_info) { return (p_info->field_0x0c >> 0x14) & 0xFF; } + +inline int dStage_stagInfo_GetMsgGroup(stage_stag_info_class* p_info) { + return p_info->mMsgGroup; +} + inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { return p_info->field_0xb & 0xF; } -inline s8 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) { +inline s32 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) { return p_info->mWipe; } @@ -915,6 +928,14 @@ inline u32 dStage_FileList_dt_getMiniMap(dStage_FileList_dt_c* p_fList) { return p_fList->mParameters >> 3 & 7; } +inline u32 dStage_FileList_dt_GetEnemyAppear1Flag(dStage_FileList_dt_c* p_fList) { + return p_fList->mParameters & 0x20000000; +} + +inline int dStage_FileList_dt_GetBitSw(dStage_FileList_dt_c* p_fList) { + return p_fList->mBitSw; +} + inline int dStage_MapEvent_dt_c_getEventSCutSW(dStage_MapEvent_dt_c* event) { return event->field_0x8 & 1; } diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index 3494a350e5..cc9567ad82 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -21,8 +21,17 @@ public: class typeGroupData_c { public: data_s* getDataPointer() { return &mData; } + typeGroupData_c* getNextDataPointer() const { return mNextData; } void setNextDataPointer(typeGroupData_c* data) { mNextData = data; } void setTypeGroupNo(u8 no) { mTypeGroupNo = no; } + u8 getNo() const { return mData.mNo; } + u8 getStatus() const { return mData.mStatus; } + void setStatus(u8 status) { mData.mStatus = status; } + void setRoomNo(s8 roomNo) { mData.mRoomNo = roomNo; } + s8 getRoomNo() const { return mData.mRoomNo; } + void setPos(const Vec& pos) { mData.mPos = pos; } + u8 getSwBit() const { return mData.mSwBit; } + const Vec* getPos() const { return &mData.mPos; } /* 0x00 */ data_s mData; /* 0x14 */ typeGroupData_c* mNextData; @@ -30,28 +39,32 @@ public: }; // Size: 0x1C struct list_class { - /* 0x0 */ int field_0x0; + /* 0x0 */ typeGroupData_c* field_0x0; /* 0x4 */ typeGroupData_c* field_0x4; - /* 0x8 */ u8 field_0x8; + /* 0x8 */ u8 mNumber; }; /* 8009BBD8 */ static int createWork(); /* 8009BC18 */ static void create(); - /* 8009BC60 */ void remove(); + /* 8009BC60 */ static void remove(); /* 8009BC6C */ static void reset(); /* 8009BCB4 */ static void addData(dTres_c::list_class*, s8); /* 8009BE28 */ static void checkTreasureBox(dTres_c::data_s*); - /* 8009C168 */ void onStatus(u8, int, int); - /* 8009C1F0 */ void offStatus(u8, int, int); - /* 8009C27C */ void getBossIconFloorNo(int*); - /* 8009C360 */ void getFirstData(u8); - /* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*); - /* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*); - /* 8009C3CC */ void setPosition(int, u8, Vec const*, int); - /* 8009C49C */ void getTypeGroupNoToType(u8); - /* 8009C4B0 */ static u8 getTypeToTypeGroupNo(u8); + /* 8009C168 */ static void onStatus(u8, int, int); + /* 8009C1F0 */ static void offStatus(u8, int, int); + /* 8009C27C */ static int getBossIconFloorNo(int*); + /* 8009C360 */ static typeGroupData_c* getFirstData(u8); + /* 8009C39C */ static typeGroupData_c* getNextData(dTres_c::typeGroupData_c*); + /* 8009C3B4 */ static typeGroupData_c* getNextData(dTres_c::typeGroupData_c const*); + /* 8009C3CC */ static void setPosition(int, u8, Vec const*, int); + /* 8009C49C */ static int getTypeGroupNoToType(u8); + /* 8009C4B0 */ static int getTypeToTypeGroupNo(u8); - static u8 const typeToTypeGroup[34]; + static int getTypeGroupNumber(int index) { + return mTypeGroupListAll[index].mNumber; + } + + static u8 const typeToTypeGroup[17][2]; static list_class mTypeGroupListAll[17]; static typeGroupData_c* mTypeGroupData; static u16 mNum; diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h index 3559a31f4d..7557d3cb3f 100644 --- a/include/d/event/d_event.h +++ b/include/d/event/d_event.h @@ -13,15 +13,15 @@ public: ~dEvt_order_c() {} dEvt_order_c(); - /* 0x00 */ u16 mEventType; - /* 0x02 */ u16 mFlag; - /* 0x04 */ s16 field_0x04; - /* 0x08 */ fopAc_ac_c* mActor1; - /* 0x0C */ fopAc_ac_c* mActor2; - /* 0x10 */ s16 mEventId; - /* 0x12 */ s16 mPriority; - /* 0x14 */ u8 mNextOrderIdx; - /* 0x15 */ u8 mEventInfoIdx; + /* 0x00 */ u16 mEventType; + /* 0x02 */ u16 mFlag; + /* 0x04 */ u16 field_0x04; + /* 0x08 */ fopAc_ac_c* mActor1; + /* 0x0C */ fopAc_ac_c* mActor2; + /* 0x10 */ s16 mEventId; + /* 0x12 */ u16 mPriority; + /* 0x14 */ s8 mNextOrderIdx; + /* 0x15 */ u8 mEventInfoIdx; }; // Size = 0x18 STATIC_ASSERT(sizeof(dEvt_order_c) == 0x18); @@ -31,24 +31,25 @@ typedef int (*SkipFunc)(void*, int); class dEvt_control_c { public: dEvt_control_c(); - bool orderOld(u16, u16, u16, u16, void*, void*, void const*); - bool order(u16, u16, u16, u16, void*, void*, s16, u8); + s32 orderOld(u16, u16, u16, u16, void*, void*, void const*); + s32 order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, + void* param_5, s16 eventID, u8 infoIdx); void setParam(dEvt_order_c*); s32 beforeFlagProc(dEvt_order_c*); void afterFlagProc(dEvt_order_c*); int commonCheck(dEvt_order_c*, u16, u16); - void talkCheck(dEvt_order_c*); - void talkXyCheck(dEvt_order_c*); - void catchCheck(dEvt_order_c*); + int talkCheck(dEvt_order_c*); + int talkXyCheck(dEvt_order_c*); + int catchCheck(dEvt_order_c*); void talkEnd(); - void demoCheck(dEvt_order_c*); + int demoCheck(dEvt_order_c*); void demoEnd(); - s32 potentialCheck(dEvt_order_c*); - void doorCheck(dEvt_order_c*); + int potentialCheck(dEvt_order_c*); + int doorCheck(dEvt_order_c*); int itemCheck(dEvt_order_c*); int endProc(); - void change(); - void entry(); + int change(); + int entry(); void reset(void*); void reset(); void clearSkipSystem(); @@ -57,9 +58,9 @@ public: void setSkipZev(void*, char*); void onSkipFade(); void offSkipFade(); - void skipper(); - void Step(); - void moveApproval(void*); + bool skipper(); + int Step(); + int moveApproval(void*); BOOL compulsory(void*, char const*, u16); void remove(); dStage_MapEvent_dt_c* getStageEventDt(); @@ -80,17 +81,23 @@ public: void isOrderOK(); u16 chkFlag2(u16 flag) { return flag & mFlag2; } - bool runCheck() { return field_0xe5 != 0; } + bool runCheck() { return mEventStatus != 0; } u16 chkEventFlag(u16 flag) { return flag & mEventFlag; } void onEventFlag(u16 flag) { mEventFlag |= flag; } + void offEventFlag(u16 flag) { mEventFlag &= ~flag; } u8 getMode() const { return mMode; } u16 checkHind(u16 flag) { return flag & mHindFlag; } u8 checkCompulsory() { return mCompulsory; } + u8 getMapToolId() { return mMapToolId; } + void onFlag2(u16 flag) { mFlag2 |= flag; } + void offFlag2(u16 flag) { mFlag2 &= ~flag; } void setCullRate(f32 f) { mCullRate = f; } - bool i_isOrderOK() { return field_0xe5 == 0 || field_0xe5 == 2; } + bool i_isOrderOK() { return mEventStatus == 0 || mEventStatus == 2; } void* getPt1() { return convPId(mPt1); } void* getPt2() { return convPId(mPt2); } + void* getPtT() { return convPId(mPtT); } + bool isChangeOK(void* param_0) { return mChangeOK == param_0; } public: /* 0x000 */ u8 field_0x0[4]; @@ -105,10 +112,10 @@ public: /* 0x0DC */ u16 mHindFlag; /* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong /* 0x0E0 */ s16 field_0xe0; - /* 0x0E2 */ u8 mNum; - /* 0x0E3 */ u8 field_0xe3; + /* 0x0E2 */ s8 mNum; + /* 0x0E3 */ s8 field_0xe3; /* 0x0E4 */ u8 mMode; - /* 0x0E5 */ u8 field_0xe5; + /* 0x0E5 */ u8 mEventStatus; /* 0x0E6 */ u8 field_0xe6; /* 0x0E7 */ u8 field_0xe7; /* 0x0E8 */ u8 field_0xe8; @@ -119,19 +126,19 @@ public: /* 0x0ED */ u8 field_0xed; /* 0x0EE */ u8 mPreItemNo; /* 0x0EF */ u8 mGtItm; - /* 0x0F0 */ float mCullRate; + /* 0x0F0 */ f32 mCullRate; /* 0x0F4 */ dStage_MapEvent_dt_c* mStageEventDt; /* 0x0F8 */ void* mChangeOK; /* 0x0FC */ u8 field_0xfc[4]; /* 0x100 */ SkipFunc mSkipFunc; /* 0x104 */ u32 field_0x104; - /* 0x108 */ u32 field_0x108; - /* 0x10C */ u32 field_0x10c; + /* 0x108 */ int mSkipTimer; + /* 0x10C */ int field_0x10c; /* 0x110 */ int mSkipFade; /* 0x114 */ char mSkipEventName[20]; /* 0x128 */ u8 mCompulsory; /* 0x129 */ bool field_0x129; - /* 0x12C */ int field_0x12c; + /* 0x12C */ int mRoomNo; }; // Size = 0x130 int dEv_defaultSkipProc(void* param_0, int param_1); diff --git a/include/d/event/d_event_manager.h b/include/d/event/d_event_manager.h index 116876a27c..74f48b1a0e 100644 --- a/include/d/event/d_event_manager.h +++ b/include/d/event/d_event_manager.h @@ -67,11 +67,11 @@ public: int ChkPresentEnd(); int checkStartDemo(); - void setStartDemo(int param_0) { mEventException.setStartDemo(param_0); } + int setStartDemo(int param_0) { return mEventException.setStartDemo(param_0); } void setCameraPlay(int status) { mCameraPlay = status; } dEvDtBase_c& getBase() { return mEventList[mCurrentEventType]; } - void setFlag(int flag) { mFlags.flagSet(flag); } + bool dataLoaded() { return mDataLoaded; } int flagCheck(int flag) { return mFlags.flagCheck(flag); } static int getIndexCompositId(s16 param_0) { return param_0 != -1 ? (u8)param_0 : -1; } diff --git a/include/d/file/d_file_sel_warning.h b/include/d/file/d_file_sel_warning.h index 40521900fa..01af1edf80 100644 --- a/include/d/file/d_file_sel_warning.h +++ b/include/d/file/d_file_sel_warning.h @@ -1,6 +1,25 @@ #ifndef D_FILE_D_FILE_SEL_WARNING_H #define D_FILE_D_FILE_SEL_WARNING_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" + +class dFile_warning_c { +public: + /* 80191BAC */ dFile_warning_c(JKRArchive*, u8); + /* 80191CF4 */ void screenSet(); + /* 80191F18 */ void _move(); + /* 80191F90 */ void modeWait(); + /* 80191F94 */ void modeMove(); + /* 80191FD4 */ void baseMoveAnm(); + /* 801920B8 */ void openInit(); + /* 8019210C */ void closeInit(); + /* 80192160 */ void init(); + /* 80192190 */ void _draw(); + /* 801921CC */ void drawSelf(); + /* 801921F8 */ void setText(u32); + /* 80192240 */ void setFontColor(JUtility::TColor, JUtility::TColor); + + /* 80191C18 */ virtual ~dFile_warning_c(); +}; #endif /* D_FILE_D_FILE_SEL_WARNING_H */ diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index ccdd271eaa..b5393ddcab 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -24,6 +24,7 @@ s32 dKy_daynight_check(); void dKy_clear_game_init(); void dKy_setLight_init(); u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0); +void dKy_depth_dist_set(void* param_0); void dKy_instant_rainchg(); void dKy_instant_timechg(f32); @@ -507,5 +508,8 @@ void dKy_setLight_nowroom(char); void dKy_setLight_nowroom_actor(dKy_tevstr_c*); void dKy_setLight_again(); void dKy_GxFog_tevstr_set(dKy_tevstr_c*); +void dKy_plight_set(LIGHT_INFLUENCE* param_0); +void dKy_tevstr_init(dKy_tevstr_c* param_0, s8 param_1, u8 param_2); +SND_INFLUENCE* dKy_Sound_get(); #endif /* D_KANKYO_D_KANKYO_H */ diff --git a/include/d/map/d_map_path_dmap.h b/include/d/map/d_map_path_dmap.h index d3467a3ad2..37c2da358a 100644 --- a/include/d/map/d_map_path_dmap.h +++ b/include/d/map/d_map_path_dmap.h @@ -13,7 +13,7 @@ public: /* 8003F7E8 */ static void createWork(); /* 8003FA40 */ void setPointer(s8, void*, int); /* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*); - /* 8003FB70 */ void create(); + /* 8003FB70 */ static void create(); /* 8003FBD0 */ void reset(); /* 8003FC70 */ void remove(); diff --git a/include/d/menu/d_menu_save.h b/include/d/menu/d_menu_save.h index 74c25cf4fb..e141f1de06 100644 --- a/include/d/menu/d_menu_save.h +++ b/include/d/menu/d_menu_save.h @@ -5,37 +5,133 @@ #include "d/d_lib.h" #include "d/d_select_cursor.h" #include "dolphin/types.h" +#include "m_Do/m_Do_dvd_thread.h" class dMsgString_c; -class mDoDvdThd_command_c; class dFile_warning_c; class dFile_info_c; class dMsgScrnExplain_c; class dDlst_MenuSaveExplain_c : public dDlst_base_c { public: + dDlst_MenuSaveExplain_c() { mpScrn = NULL; } + /* 801F6ADC */ virtual void draw(); /* 801F6B8C */ virtual ~dDlst_MenuSaveExplain_c(); + void setScrnExplain(dMsgScrnExplain_c* p_scrn) { mpScrn = p_scrn; } + private: - /* 0x4 */ int field_0x4; + /* 0x4 */ dMsgScrnExplain_c* mpScrn; }; class dDlst_MenuSave_c : public dDlst_base_c { public: + dDlst_MenuSave_c() { + Scr = NULL; + mMsgString = NULL; + } + /* 801F6B0C */ virtual void draw(); /* 801F6B44 */ virtual ~dDlst_MenuSave_c(); + + /* 0x04 */ J2DScreen* Scr; + /* 0x08 */ JUTFont* font[2]; + /* 0x10 */ dMsgString_c* mMsgString; +}; + +class dMs_HIO_c { +public: + /* 801EF654 */ dMs_HIO_c(); + /* 801F6BD4 */ virtual ~dMs_HIO_c(); + + /* 0x4 */ s8 field_0x4; + /* 0x5 */ u8 mDisplayWaitFrames; + /* 0x6 */ u8 mCardWaitFrames; + /* 0x7 */ u8 mEffectDispFrames; + /* 0x8 */ u8 mCharSwitchFrames; + /* 0x9 */ u8 mSelectIcon; + /* 0xA */ u8 mSelectFrames; + /* 0xB */ u8 mFadeOutTimer; + /* 0xC */ bool mTitleMsgCheck; + /* 0xD */ u8 field_0xd; + /* 0xE */ bool mErrorMsgCheck; + /* 0xF */ u8 field_0xf; }; class dMenu_save_c { public: + enum { + /* 0x00 */ PROC_SAVE_QUESTION, + /* 0x01 */ PROC_SAVE_QUESTION2, + /* 0x02 */ PROC_SAVE_QUESTION21, + /* 0x03 */ PROC_SAVE_QUESTION3, + /* 0x04 */ PROC_SAVE_QUESTION4, + /* 0x05 */ PROC_SAVE_GUIDE, + /* 0x06 */ PROC_MEMCARD_CHECK, + /* 0x07 */ PROC_BACK_SAVE_QUESTION, + /* 0x08 */ PROC_BACK_SAVE_QUESTION2, + /* 0x09 */ PROC_MEMCARD_ERRMSG_WAIT_KEY, + /* 0x0A */ PROC_IPL_SELECT_DISP1, + /* 0x0B */ PROC_IPL_SELECT_DISP2, + /* 0x0C */ PROC_MEMCARD_ERR_GO_IPL_SEL, + /* 0x0D */ PROC_IPL_SELECT2_DISP, + /* 0x0E */ PROC_MEMCARD_ERR_GO_IPL_SEL2, + /* 0x0F */ PROC_MEMCARD_ERR_GOTO_IPL, + /* 0x10 */ PROC_MEMCARD_ERRMSG_WAIT_FORMAT_SEL, + /* 0x11 */ PROC_CARD_FORMAT_YES_SEL_DISP, + /* 0x12 */ PROC_CARD_FORMAT_NO_SEL_DISP, + /* 0x13 */ PROC_MEMCARD_ERRMSG_WAIT_FORMAT_SEL2, + /* 0x14 */ PROC_CARD_FORMAT_YES_SEL2_DISP, + /* 0x15 */ PROC_MEMCARD_FORMAT, + /* 0x16 */ PROC_MEMCARD_FORMAT_WAIT, + /* 0x17 */ PROC_MAKE_GAME_FILE_SEL_DISP, + /* 0x18 */ PROC_MEMCARD_MAKE_GAME_FILE_SEL, + /* 0x19 */ PROC_MAKE_GAME_FILE_DISP, + /* 0x1A */ PROC_MEMCARD_MAKE_GAME_FILE, + /* 0x1B */ PROC_MEMCARD_MAKE_GAME_FILE_WAIT, + /* 0x1C */ PROC_MEMCARD_COMMAND_END, + /* 0x1D */ PROC_MEMCARD_COMMAND_END2, + /* 0x1E */ PROC_MEMCARD_DATA_LOAD_WAIT, + /* 0x1F */ PROC_MEMCARD_DATA_SAVE_WAIT, + /* 0x20 */ PROC_MEMCARD_DATA_SAVE_WAIT2, + /* 0x21 */ PROC_GAME_CONTINUE_DISP, + /* 0x22 */ PROC_GAME_CONTINUE, + /* 0x23 */ PROC_GAME_CONTINUE2, + /* 0x24 */ PROC_GAME_CONTINUE3, + /* 0x25 */ PROC_SAVE_END, + /* 0x26 */ PROC_ENDING_NO_SAVE, + /* 0x27 */ PROC_ENDING_NO_SAVE2, + /* 0x28 */ PROC_ENDING_DATA_CHECK, + /* 0x29 */ PROC_SAVE_WAIT, + /* 0x2A */ PROC_MESSAGE_CHANGE, + /* 0x2B */ PROC_RETRY_QUESTION0, + /* 0x2C */ PROC_RETRY_QUESTION1, + /* 0x2D */ PROC_RETRY_QUESTION2, + /* 0x2E */ PROC_OPEN_SAVE_SELECT, + /* 0x2F */ PROC_OPEN_SAVE_SELECT2, + /* 0x30 */ PROC_OPEN_SAVE_SELECT3, + /* 0x31 */ PROC_SAVE_SELECT, + /* 0x32 */ PROC_SAVE_SELECT_MOVE_ANM, + /* 0x33 */ PROC_SELECT_DATA_OPEN_MOVE, + /* 0x34 */ PROC_SAVE_YES_NO_SELECT, + /* 0x35 */ PROC_YES_NO_CURSOR_MOVE_ANM, + /* 0x36 */ PROC_SAVE_YES_NO_CANCEL_MOVE, + /* 0x37 */ PROC_SAVE_MOVE_DISP, + /* 0x38 */ PROC_SAVE_MOVE_DISP2, + /* 0x39 */ PROC_MSG_WINDOW_INIT_OPEN, + /* 0x3A */ PROC_MSG_WINDOW_OPEN, + /* 0x3B */ PROC_MSG_WINDOW_CLOSE, + /* 0x3C */ PROC_ERR_YES_NO_CURSOR_MOVE_ANM, + }; + /* 801EF6A0 */ dMenu_save_c(); /* 801EF7AC */ void _create(); /* 801EF904 */ void screenSet(); /* 801F0938 */ void initialize(); /* 801F0958 */ void displayInit(); /* 801F09AC */ bool _open(); - /* 801F0B10 */ void _close(); + /* 801F0B10 */ int _close(); /* 801F0B28 */ void _delete(); /* 801F1048 */ void _move(); /* 801F1100 */ void saveSelAnm(); @@ -96,7 +192,7 @@ public: /* 801F30B8 */ void restartInit(); /* 801F31B0 */ void saveWait(); /* 801F31B4 */ void messageChange(); - /* 801F328C */ void YesNoSelect(); + /* 801F328C */ int YesNoSelect(); /* 801F34BC */ void msgTxtSet(u16, bool); /* 801F3588 */ void openSaveSelect(); /* 801F36B4 */ void openSaveSelect2(); @@ -120,11 +216,11 @@ public: /* 801F4B84 */ void msgWindowInitOpen(); /* 801F4D10 */ void msgWindowOpen(); /* 801F4DAC */ void msgWindowClose(); - /* 801F4E48 */ void errYesNoSelect(u8, u8); + /* 801F4E48 */ bool errYesNoSelect(u8, u8); /* 801F4FB4 */ void errCurMove(u8, u8); /* 801F5054 */ void errYesNoCursorMoveAnm(); /* 801F50C4 */ void errorTxtSet(u16); - /* 801F5190 */ void errorTxtChangeAnm(); + /* 801F5190 */ bool errorTxtChangeAnm(); /* 801F5278 */ void saveSelectOpenInit(); /* 801F533C */ void selectDataBaseMoveAnmInitSet(int, int); /* 801F53D4 */ void selectDataBaseMoveAnm(); @@ -132,7 +228,7 @@ public: /* 801F5508 */ void selectDataMoveAnmInitSet(int, int); /* 801F5600 */ void selectDataMoveAnm(); /* 801F5744 */ void yesnoMenuMoveAnmInitSet(int, int, u8); - /* 801F58C8 */ void yesnoMenuMoveAnm(); + /* 801F58C8 */ bool yesnoMenuMoveAnm(); /* 801F5AE4 */ void yesnoSelectMoveAnm(u8); /* 801F5D84 */ void yesnoCursorShow(); /* 801F5EF4 */ void errorMoveAnmInitSet(int, int); @@ -140,7 +236,7 @@ public: /* 801F60A4 */ void modoruTxtDispAnmInit(u8); /* 801F6120 */ void modoruTxtDispAnm(); /* 801F61FC */ void ketteiTxtDispAnmInit(u8); - /* 801F6278 */ void ketteiTxtDispAnm(); + /* 801F6278 */ bool ketteiTxtDispAnm(); /* 801F6354 */ void selectWakuAlpahAnmInit(u8, u8, u8, u8); /* 801F6390 */ void selectWakuAlpahAnm(u8); /* 801F6458 */ void selFileCursorShow(); @@ -157,38 +253,33 @@ public: u8 getSaveStatus() { return mSaveStatus; } void setUseType(u8 type) { mUseType = type; } - struct SaveSel { - /* 0x00 */ J2DScreen* Scr; - /* 0x04 */ JUTFont* font[2]; - /* 0x0C */ dMsgString_c* mMsgString; - }; // Size: 0x10 - private: - /* 0x0004 */ JKRArchive* field_0x4; - /* 0x0008 */ mDoDvdThd_command_c* field_0x8; + /* 0x0004 */ JKRArchive* mpArchive; + /* 0x0008 */ mDoDvdThd_mountArchive_c* mpMount; /* 0x000C */ STControl* stick; - /* 0x0010 */ dDlst_MenuSaveExplain_c field_0x10; - /* 0x0018 */ dDlst_MenuSave_c field_0x18; - /* 0x001C */ SaveSel mSaveSel; + /* 0x0010 */ dDlst_MenuSaveExplain_c mMenuSaveExplain; + /* 0x0018 */ dDlst_MenuSave_c mMenuSave; /* 0x002C */ dSelect_cursor_c* mSelIcon; - /* 0x0030 */ dFile_warning_c* field_0x30; - /* 0x0034 */ dFile_info_c* field_0x34[3]; - /* 0x0040 */ void* field_0x40; - /* 0x0044 */ void* field_0x44; - /* 0x0048 */ void* field_0x48; - /* 0x004C */ void* field_0x4c; + /* 0x0030 */ dFile_warning_c* mWarning; + /* 0x0034 */ dFile_info_c* mFileInfo[3]; + /* 0x0040 */ J2DAnmTransformKey* field_0x40; + /* 0x0044 */ J2DAnmTransformKey* field_0x44; + /* 0x0048 */ J2DAnmTransformKey* field_0x48; + /* 0x004C */ J2DAnmTransformKey* field_0x4c; /* 0x0050 */ s32 field_0x50; /* 0x0054 */ u8 field_0x54; /* 0x0058 */ CPaneMgr* field_0x58; /* 0x005C */ int field_0x5c; /* 0x0060 */ int field_0x60; /* 0x0064 */ u8 field_0x64; - /* 0x0064 */ u8 field_0x65; + /* 0x0065 */ u8 field_0x65; /* 0x0068 */ CPaneMgr* field_0x68[3]; /* 0x0074 */ u8 field_0x74[0x10]; /* 0x0084 */ CPaneMgr* field_0x84[2]; /* 0x008C */ u8 field_0x8c[0x10]; /* 0x009C */ u8 field_0x9c; + /* 0x009D */ u8 field_0x9d; + /* 0x009E */ u8 field_0x9e; /* 0x00A0 */ int field_0xa0; /* 0x00A4 */ u8 field_0xa4[0x10]; /* 0x00B4 */ J2DPane* field_0xb4; @@ -197,7 +288,7 @@ private: /* 0x00C0 */ CPaneMgr* field_0xc0[2]; /* 0x00C8 */ char* field_0xc8[2]; /* 0x00D0 */ u8 field_0xd0; - /* 0x00D2 */ u8 field_0xd1; + /* 0x00D1 */ u8 field_0xd1; /* 0x00D2 */ u8 field_0xd2; /* 0x00D3 */ u8 field_0xd3; /* 0x00D4 */ CPaneMgr* field_0xd4[3]; @@ -215,22 +306,24 @@ private: /* 0x0132 */ u8 field_0x132[2]; /* 0x0134 */ u8 field_0x134[2]; /* 0x0138 */ CPaneMgr* field_0x138[2]; - /* 0x0140 */ void* field_0x140; + /* 0x0140 */ J2DAnmColorKey* field_0x140; /* 0x0144 */ int field_0x144; - /* 0x0148 */ void* field_0x148; + /* 0x0148 */ J2DAnmTextureSRTKey* field_0x148; /* 0x014C */ int field_0x14c; - /* 0x0150 */ void* field_0x150; + /* 0x0150 */ J2DAnmColorKey* field_0x150; /* 0x0154 */ int field_0x154; - /* 0x0158 */ void* field_0x158; + /* 0x0158 */ J2DAnmTextureSRTKey* field_0x158; /* 0x015C */ int field_0x15c; - /* 0x0160 */ void* field_0x160; + /* 0x0160 */ J2DAnmTevRegKey* field_0x160; /* 0x0164 */ int field_0x164; /* 0x0168 */ CPaneMgr* field_0x168[2]; - /* 0x0170 */ u8 field_0x170[8]; + /* 0x0170 */ char* field_0x170[2]; /* 0x0178 */ u8 field_0x178; /* 0x0179 */ u8 field_0x179; /* 0x017A */ u8 field_0x17a; - /* 0x017B */ u8 field_0x17b[0x19]; + /* 0x017B */ u8 field_0x17b; + /* 0x017C */ CPaneMgr* field_0x17c[3]; + /* 0x0188 */ CPaneMgr* field_0x188[3]; /* 0x0194 */ CPaneMgr* field_0x194; /* 0x0198 */ CPaneMgr* field_0x198; /* 0x019C */ u8 field_0x19c; @@ -243,7 +336,7 @@ private: /* 0x01AD */ u8 field_0x1ad[3]; /* 0x01B0 */ u8 field_0x1b0; /* 0x01B1 */ u8 field_0x1b1; - /* 0x01B2 */ u8 field_0x1b2; + /* 0x01B2 */ u8 mMenuProc; /* 0x01B3 */ u8 field_0x1b3; /* 0x01B4 */ u8 field_0x1b4; /* 0x01B5 */ u8 field_0x1b5; @@ -254,21 +347,19 @@ private: /* 0x01BA */ u8 mSaveStatus; /* 0x01BB */ u8 mEndStatus; /* 0x01BC */ u8 mUseType; - /* 0x01BD */ u8 field_0x1bd; + /* 0x01BD */ u8 mWaitTimer; /* 0x01BE */ u8 field_0x1be; /* 0x01BF */ u8 field_0x1bf; /* 0x01C0 */ u8 field_0x1c0; - /* 0x01C4 */ int field_0x1c4; - /* 0x01C8 */ int field_0x1c8; - /* 0x01CC */ void* field_0x1cc; - /* 0x01D0 */ u8 field_0x1d0[0xA94 * 3]; + /* 0x01CC */ void (dMenu_save_c::*field_0x1cc)(); + /* 0x01D0 */ u8 mSaveBuffer[0xA94 * 3]; /* 0x218C */ dMsgScrnExplain_c* mpScrnExplain; /* 0x2190 */ u8 field_0x2190; /* 0x2192 */ u16 field_0x2192; /* 0x2194 */ u8 field_0x2194; /* 0x2195 */ u8 field_0x2195; - /* 0x2198 */ int field_0x2198; - /* 0x219C */ u8 field_0x219c; + /* 0x2198 */ int mCmdState; + /* 0x219C */ bool field_0x219c; /* 0x219D */ u8 field_0x219d; /* 0x219E */ u8 field_0x219e; /* 0x219F */ u8 field_0x219f; diff --git a/include/d/menu/d_menu_window.h b/include/d/menu/d_menu_window.h index 08ea875b53..5462f54c37 100644 --- a/include/d/menu/d_menu_window.h +++ b/include/d/menu/d_menu_window.h @@ -8,6 +8,7 @@ #include "dolphin/types.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" +#include "m_Do/m_Do_mtx.h" class dMenu_Ring_c; class dMenu_Dmap_c; @@ -15,7 +16,62 @@ class dMenu_Fmap_c; class dDlst_MENU_CAPTURE_c : public dDlst_base_c { public: - /* 801FDFCC */ virtual void draw(); + /* 801FDFCC */ virtual void draw();/* { + if (getDrawFlag() == 1) { + setDrawFlag(); + dComIfGp_onPauseFlag(); + GXSetTexCopySrc(0, 0, 608, 448); + GXSetTexCopyDst(304, 224, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_ENABLE); + GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE); + GXPixModeSync(); + } else { + GXTexObj tex; + GXInitTexObj(&tex, mDoGph_gInf_c::getFrameBufferTex(), 304, 224, + (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXLoadTexObj(&tex, GX_TEXMAP0); + GXSetNumChans(0); + GXSetNumTexGens(1); + GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125); + GXSetNumTevStages(1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXColor color = {0xFF, 0xFF, 0xFF, mAlpha}; + GXSetTevColor(GX_TEVREG0, color); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetZCompLoc(GX_TRUE); + GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_OR); + GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0); + GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor); + GXSetFogRangeAdj(GX_FALSE, 0, NULL); + GXSetCullMode(GX_CULL_NONE); + GXSetDither(GX_TRUE); + GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0); + GXSetCurrentMtx(0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0); + + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), 0); + GXTexCoord2s8(0, 0); + + GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY(), 0); + GXTexCoord2s8(1, 0); + + GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY(), 0); + GXTexCoord2s8(1, 1); + + GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY(), 0); + GXTexCoord2s8(0, 1); + GXEnd(); + } + } */ /* 801FE2E8 */ virtual ~dDlst_MENU_CAPTURE_c(); dDlst_MENU_CAPTURE_c() { @@ -28,6 +84,8 @@ public: bool checkDraw() { return mFlag; } u8 getAlpha() { return mAlpha; } u8 getTopFlag() { return mTopFlag; } + u8 getDrawFlag() { return mFlag; } + void setDrawFlag() { mFlag = 3; } private: /* 0x4 */ u8 mFlag; diff --git a/include/d/meter/d_meter2.h b/include/d/meter/d_meter2.h index eb711581b8..de6d979ed5 100644 --- a/include/d/meter/d_meter2.h +++ b/include/d/meter/d_meter2.h @@ -222,6 +222,9 @@ public: void onRupeeSoundBit(int bit) { mRupeeSound |= (1 << bit); } void offRupeeSoundBit(int bit) { mRupeeSound &= ~(1 << bit); } bool isRupeeSoundBit(int bit) { return mRupeeSound & (1 << bit); } + s16 getNowLifeGauge() { return mNowLifeGauge; } + u8 getSubContents() { return mSubContents; } + u16 getSubContentsStringType() { return mSubContentsStringType; } private: /* 0x100 */ JKRExpHeap* mpHeap; diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 0a052d2e5a..dd61939d35 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -65,7 +65,7 @@ public: virtual ~dMeter2Info_c(); void init(void); int setFloatingMessage(u16, s16, bool); - void setFloatingFlow(u16, s16, bool); + int setFloatingFlow(u16, s16, bool); int isFloatingMessageVisible(void); int decFloatingMessageTimer(void); void resetFloatingMessage(void); @@ -73,8 +73,8 @@ public: void getString(u32, char*, JMSMesgEntry_c*); // define JMSMesgEntry void getStringKana(u32, char*, JMSMesgEntry_c*); void getStringKanji(u32, char*, JMSMesgEntry_c*); - double getStringLength(J2DTextBox*, char*); // define J2DTextBox - dMeter2Info_c* getStringLength(JUTFont*, f32, f32, char*); + f32 getStringLength(J2DTextBox*, char*); + f32 getStringLength(JUTFont*, f32, f32, char*); void onDirectUseItem(int); bool isDirectUseItem(int); int setMeterString(s32); @@ -84,12 +84,12 @@ public: void resetMeterString(void); void setWarpInfo(const char*, const cXyz&, s16, u8, u8, u8); u8 getItemType(u8); - u8 readItemTexture(u8, void*, J2DPicture*, void*, J2DPicture*, void*, J2DPicture*, void*, - J2DPicture*, int); // define J2DPicture + int readItemTexture(u8, void*, J2DPicture*, void*, J2DPicture*, void*, J2DPicture*, void*, + J2DPicture*, int); void setItemColor(u8, J2DPicture*, J2DPicture*, J2DPicture*, J2DPicture*); - s8 get2ndTexture(u8); - s8 get3rdTexture(u8); - s8 get4thTexture(u8); + s16 get2ndTexture(u8); + s16 get3rdTexture(u8); + s16 get4thTexture(u8); void set1stColor(u8, J2DPicture*); void set2ndColor(u8, J2DPicture*); void set3rdColor(u8, J2DPicture*); @@ -150,8 +150,11 @@ public: const char* getSaveStageName() { return mSaveStageName; } void onShopTalkFlag() { mShopTalkFlag = true; } void setLightDropGetFlag(int index, u8 flag) { mLightDropGetFlag[index] = flag; } - u8 getRentalBombBag() { return mRentalBombBag; } + u8 getRentalBombBag() { return mRentalBombBagIdx; } void setTableMapRegionNo(u8 regionNo) { mTableMapRegionNo = regionNo; } + dMeter2_c* getMeterClass() { return mMeterClass; } + u8 getMiniGameItemSetFlag() { return mMiniGameItemSetFlag; } + s16 getMsgKeyWaitTimer() { return mMsgKeyWaitTimer; } public: /* 0x04 */ u8 unk4[4]; @@ -178,7 +181,7 @@ public: /* 0x80 */ f32 unk128; /* 0x84 */ u32 mTimeMs; /* 0x88 */ u32 mMsgTimeMs; - /* 0x8C */ u32 mMeterString; + /* 0x8C */ s32 mMeterString; /* 0x90 */ u32 mTempBits; /* 0x94 */ s16 mMsgKeyWaitTimer; /* 0x96 */ u16 mHorseLifeCount; @@ -207,19 +210,19 @@ public: /* 0xC1 */ u8 mPauseStatus; /* 0xC2 */ u8 mGameOverType; /* 0xC3 */ u8 mInsectSelectType; - /* 0xC4 */ u8 unk196[4]; - /* 0xC8 */ u8 unk200[4]; - /* 0xCC */ u8 unk204; - /* 0xCD */ u8 unk205; // arrow num - /* 0xCE */ u8 unk206; // item 1 - /* 0xCF */ u8 unk207; // item 2 - /* 0xD0 */ u8 unk208[4]; - /* 0xD4 */ u8 unk212[4]; - /* 0xD8 */ u8 unk216; // bomb num - /* 0xD9 */ u8 unk217; // arrow num? - /* 0xDA */ u8 unk218; // item 1? - /* 0xDB */ u8 unk219; // item 2 - /* 0xDC */ u8 mRentalBombBag; + /* 0xC4 */ u8 mSaveSelItemIdx[4]; + /* 0xC8 */ u8 mSaveMixItemIdx[4]; + /* 0xCC */ u8 mSaveBombNum; + /* 0xCD */ u8 mSaveArrowNum; + /* 0xCE */ u8 mSaveBowItem; + /* 0xCF */ u8 mSaveBombItem; + /* 0xD0 */ u8 mSaveSelItemIdxMG[4]; + /* 0xD4 */ u8 mSaveMixItemIdxMG[4]; + /* 0xD8 */ u8 mSaveBombNumMG; + /* 0xD9 */ u8 mSaveArrowNumMG; + /* 0xDA */ u8 mSaveBowItemMG; + /* 0xDB */ u8 mSaveBombItemMG; + /* 0xDC */ u8 mRentalBombBagIdx; /* 0xDD */ u8 mMiniGameItemSetFlag; // 1: rented in game, 3: rented not in game /* 0xDE */ u8 mMiniGameCount; /* 0xDF */ u8 mCollectCursorPosX; @@ -239,6 +242,8 @@ public: extern dMeter2Info_c g_meter2_info; void dMeter2Info_setSword(u8, bool); +void dMeter2Info_setCloth(u8 i_clothId, bool param_1); +void dMeter2Info_setShield(u8 i_itemId, bool param_1); void dMeter2Info_set2DVibration(); void dMeter2Info_set2DVibrationM(); @@ -446,6 +451,10 @@ inline u8 dMeter2Info_getRentalBombBag() { return g_meter2_info.getRentalBombBag(); } +inline u8 dMeter2Info_getMiniGameItemSetFlag() { + return g_meter2_info.getMiniGameItemSetFlag(); +} + inline void dMeter2Info_resetMiniGameItem(bool param_0) { g_meter2_info.resetMiniGameItem(param_0); } @@ -458,6 +467,22 @@ inline void dMeter2Info_changeWater(u8 bottleIdx) { g_meter2_info.changeWater(bottleIdx); } +inline void dMeter2Info_warpInProc() { + g_meter2_info.warpInProc(); +} + +inline void dMeter2Info_warpOutProc() { + g_meter2_info.warpOutProc(); +} + +inline dMeter2_c* dMeter2Info_getMeterClass() { + return g_meter2_info.getMeterClass(); +} + +inline s16 dMeter2Info_getMsgKeyWaitTimer() { + return g_meter2_info.getMsgKeyWaitTimer(); +} + char* dMeter2Info_getNumberTextureName(int pIndex); void dMeter2Info_recieveLetter(); u8 dMeter2Info_getNewLetterNum(); diff --git a/include/d/msg/d_msg_class.h b/include/d/msg/d_msg_class.h index 9c76a8a165..71593d6de3 100644 --- a/include/d/msg/d_msg_class.h +++ b/include/d/msg/d_msg_class.h @@ -4,10 +4,8 @@ #include "dolphin/types.h" #include "f_op/f_op_actor.h" -class msg_class { +class msg_class : public leafdraw_class { public: - /* 0x00 */ base_process_class field_0x0; - /* 0xB8 */ u8 field_0xb8[8]; /* 0xC0 */ int field_0xc0; /* 0xC4 */ create_tag_class field_0xc4; /* 0xD8 */ leafdraw_method_class* field_0xd8; diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index 741538ae21..6b4383f8ba 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -10,6 +10,7 @@ #include "dolphin/types.h" class COutFont_c; +class dMsgScrnBase_c; class dMsgObject_c : public msg_class { public: @@ -23,7 +24,7 @@ public: /* 80233FD8 */ void getRevoMessageIndex(u32); /* 802340D4 */ void getMessageIndexAlways(u32); /* 80234128 */ void getMessageIDAlways(u32); - /* 8023413C */ void getMessageGroup(u32); + /* 8023413C */ static s16 getMessageGroup(u32); /* 80234150 */ void waitProc(); /* 80234318 */ void openProc(); /* 802349D8 */ void outnowProc(); @@ -50,9 +51,9 @@ public: /* 80236D0C */ void changeGroupLocal(s16); /* 80236DE4 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, char*, char*, s16*); - /* 802370A8 */ void isGetItemMessage(); - /* 802370BC */ void isKanbanMessage(); - /* 802370E8 */ void isHowlMessage(); + /* 802370A8 */ BOOL isGetItemMessage(); + /* 802370BC */ BOOL isKanbanMessage(); + /* 802370E8 */ BOOL isHowlMessage(); /* 802370FC */ bool isMidonaMessage(); /* 80237138 */ void isMidonaNormalTalkWait(); /* 802371B0 */ void isMidonaTalkWait(); @@ -78,19 +79,19 @@ public: /* 8023759C */ void getBombBuyPriceLocal(u8); /* 802375E4 */ void addSelectBomBag(u8); /* 80237610 */ void resetSelectBomBag(); - /* 8023763C */ void getSelectBombBagIDLocal(); - /* 8023768C */ void getSelectBombPriceLocal(); + /* 8023763C */ u8 getSelectBombBagIDLocal(); + /* 8023768C */ s16 getSelectBombPriceLocal(); /* 8023773C */ void setEquipBombInfoLocal(); /* 80237748 */ void updateEquipBombInfoLocal(); /* 802378B8 */ static void setShopWaitTimer(u8); /* 802378CC */ void setSelectWordFlagLocal(u8); - /* 802378D4 */ void isHowlHearingModeLocal(); + /* 802378D4 */ bool isHowlHearingModeLocal(); /* 80237934 */ void isCameraCancelFlag(); /* 80237950 */ void onCameraCancelFlag(); /* 80237968 */ void offCameraCancelFlag(); /* 80237980 */ static bool isKillMessageFlag(); /* 80237994 */ static void onKillMessageFlag(); - /* 802379AC */ void setKillMessageFlag(); + /* 802379AC */ static void setKillMessageFlag(); /* 802379D8 */ void setKillMessageFlagLocal(); /* 80237A74 */ void setTalkPartner(fopAc_ac_c*); /* 80237A88 */ void setNowTalkFlowNo(s16); @@ -109,9 +110,11 @@ public: /* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*); /* 8023800C */ static void readMessageGroup(mDoDvdThd_mountXArchive_c**); /* 8023803C */ static void changeFlowGroup(s32); + /* 8023806C */ void demoMessageGroup(); + /* 80238098 */ static void endFlowGroup(); + /* 802380C4 */ static void changeGroup(s16); /* 8023806C */ static void demoMessageGroup(); /* 80238098 */ void endFlowGroup(); - /* 802380C4 */ void changeGroup(s16); /* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, char*, char*, s16*); /* 80238174 */ static u8* getMsgDtPtr(); @@ -146,19 +149,21 @@ public: /* 80238528 */ void getSelectWord(int); /* 80238544 */ void setSelectWordFlag(u8); /* 80238574 */ void getSelectWordFlag(); - /* 80238588 */ void isHowlHearingMode(); + /* 80238588 */ bool isHowlHearingMode(); /* 802385B4 */ static u8 getSelectBombBagID(); /* 802385E0 */ static s16 getSelectBombPrice(); /* 8023860C */ void setEquipBombInfo(); - /* 80238638 */ void getItemEquipButton(); + /* 80238638 */ u8 getItemEquipButton(); /* 8023864C */ static void setSelectCancelPos(u8); void setShopWaitTimerLocal(u8 timer) { mShopWaitTimer = timer; } + void setSelectCancelPosLocal(u8 pos) { mSelectCancelPos = pos; } + u8 getItemEquipButtonLocal() { return mItemEquipButton; } u8 getSelectPushFlag() { return mSelectPushFlag; } u8 getSelectCancelPos() { return mSelectCancelPos; } /* 0x100 */ msg_class* field_0x100; - /* 0x104 */ int mpScrnDraw; + /* 0x104 */ dMsgScrnBase_c* mpScrnDraw; /* 0x108 */ dMsgString_c* mpMsgString; /* 0x10C */ COutFont_c* mpOutFont; /* 0x110 */ JMessage::TResourceContainer* mpResCont; @@ -282,4 +287,206 @@ inline void dMsgObject_setTalkActor(fopAc_ac_c* actor) { } } +inline void dMsgObject_onKillMessageFlag() { + dMsgObject_c::onKillMessageFlag(); +} + +inline void dMsgObject_setKillMessageFlag() { + dMsgObject_c::setKillMessageFlag(); +} + +inline void dMsgObject_endFlowGroup() { + dMsgObject_c::endFlowGroup(); +} + + +class dMsgObject_HowlHIO_c { +public: + /* 80232AEC */ dMsgObject_HowlHIO_c(); + /* 80238B94 */ virtual ~dMsgObject_HowlHIO_c() {} + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ JUtility::TColor mHowlLineStartCol; + /* 0x0C */ JUtility::TColor mHowlLineEndCol; + /* 0x10 */ f32 mHighlightScale; + /* 0x14 */ JUtility::TColor mHighlightMoyaR0; + /* 0x18 */ JUtility::TColor mHighlightMoyaR1; + /* 0x1C */ JUtility::TColor mHighlightMoyabsR0; + /* 0x20 */ JUtility::TColor mHighlightMoyabsR1; + /* 0x24 */ JUtility::TColor mHighlightPikaR0; + /* 0x28 */ JUtility::TColor mHighlightPikaR1; + /* 0x2C */ f32 mAnmSpeed; + /* 0x30 */ JUtility::TColor mGuideUpperBlack; + /* 0x34 */ JUtility::TColor mGuideUpperWhite; + /* 0x38 */ JUtility::TColor mGuideMidBlack; + /* 0x3C */ JUtility::TColor mGuideMidWhite; + /* 0x40 */ JUtility::TColor mGuideLowerBlack; + /* 0x44 */ JUtility::TColor mGuideLowerWhite; + /* 0x48 */ JUtility::TColor mAnswerUpperBlack; + /* 0x4C */ JUtility::TColor mAnswerUpperWhite; + /* 0x50 */ JUtility::TColor mAnswerMidBlack; + /* 0x54 */ JUtility::TColor mAnswerMidWhite; + /* 0x58 */ JUtility::TColor mAnswerLowerBlack; + /* 0x5C */ JUtility::TColor mAnswerLowerWhite; + /* 0x60 */ JUtility::TColor mDotBlack; + /* 0x64 */ JUtility::TColor mDotWhite; + /* 0x68 */ f32 mDotScale; + /* 0x6C */ f32 mDrawInterval; + /* 0x70 */ f32 mLineThickness; + /* 0x74 */ f32 mCrossPosX; + /* 0x78 */ f32 mCrossPosY; + /* 0x7C */ f32 mCrossScale; + /* 0x80 */ f32 mWindowPosX; + /* 0x84 */ f32 mWindowPosY; + /* 0x88 */ f32 mWindowScale; + /* 0x8C */ f32 mInputStartPoint; + /* 0x90 */ f32 mGuideUpperAlpha; + /* 0x94 */ f32 mGuideMidAlpha; + /* 0x98 */ f32 mGuideLowerAlpha; + /* 0x9C */ f32 mAnswerUpperAlpha; + /* 0xA0 */ f32 mAnswerMidAlpha; + /* 0xA4 */ f32 mAnswerLowerAlpha; + /* 0xA8 */ f32 mLineSpaceOffset; + /* 0xAC */ u16 mWaveformThickness; + /* 0xAE */ u16 mWaveformLineLen; + /* 0xB0 */ u16 mWaveformDotLen; +}; + +class dMsgObject_HIO_c { +public: + /* 80232D6C */ dMsgObject_HIO_c(); + /* 80238BDC */ virtual ~dMsgObject_HIO_c() {} + + /* 0x004 */ s8 field_0x4; + /* 0x008 */ f32 mBoxMidna_fontSizeX; + /* 0x00C */ f32 field_0xc; + /* 0x010 */ f32 mBoxMidna_fontSizeY; + /* 0x014 */ f32 field_0x14; + /* 0x018 */ f32 mBoxTalkAlphaP; + /* 0x01C */ f32 mBoxNaviAlphaP; + /* 0x020 */ f32 mBoxMidnaAlphaP; + /* 0x024 */ f32 mBoxItemAlphaP; + /* 0x028 */ f32 mBoxStoneAlphaP; + /* 0x02C */ f32 mBoxWoodAlphaP; + /* 0x030 */ f32 mBoxBookAlphaP; + /* 0x034 */ f32 mBoxWolfAlphaP; + /* 0x038 */ f32 mSubtitleAlphaP; + /* 0x03C */ f32 field_0x3c; + /* 0x040 */ f32 mBoxNaviAnmSpeed; + /* 0x044 */ f32 field_0x44; + /* 0x048 */ f32 mBoxItemAnmSpeed; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ f32 field_0x54; + /* 0x058 */ f32 mBoxWolfAnmSpeed; + /* 0x05C */ f32 mBoxItemHaloAlpha; + /* 0x060 */ f32 mBoxNaviHaloAlpha; + /* 0x064 */ f32 mBoxMidnaHaloAlpha; + /* 0x068 */ f32 mBoxWolfHaloAlpha; + /* 0x06C */ f32 mBoxTalkHaloAlpha; + /* 0x070 */ f32 mBoxTalkScaleX; + /* 0x074 */ f32 mBoxNaviScaleX; + /* 0x078 */ f32 mBoxMidnaScaleX; + /* 0x07C */ f32 mBoxItemScaleX; + /* 0x080 */ f32 mBoxStoneScaleX; + /* 0x084 */ f32 mBoxWoodScaleX; + /* 0x088 */ f32 mBoxBookScaleX; + /* 0x08C */ f32 mBoxWolfScaleX; + /* 0x090 */ f32 mStageTitleScaleX; + /* 0x094 */ f32 mSubtitleScaleX; + /* 0x098 */ f32 mBossNameScaleX; + /* 0x09C */ f32 mBoxTalkScaleY; + /* 0x0A0 */ f32 mBoxNaviScaleY; + /* 0x0A4 */ f32 mBoxMidnaScaleY; + /* 0x0A8 */ f32 mBoxItemScaleY; + /* 0x0AC */ f32 mBoxStoneScaleY; + /* 0x0B0 */ f32 mBoxWoodScaleY; + /* 0x0B4 */ f32 mBoxBookScaleY; + /* 0x0B8 */ f32 mBoxWolfScaleY; + /* 0x0BC */ f32 mStageTitleScaleY; + /* 0x0C0 */ f32 mSubtitleScaleY; + /* 0x0C4 */ f32 mBossNameScaleY; + /* 0x0C8 */ f32 mBoxItemSizeX; + /* 0x0CC */ f32 mBoxItemSizeY; + /* 0x0D0 */ f32 mBoxItemPosX; + /* 0x0D4 */ f32 mBoxItemPosY; + /* 0x0D8 */ f32 mBoxItemTextSizeX; + /* 0x0DC */ f32 mBoxItemTextSizeY; + /* 0x0E0 */ f32 mBoxItemTextPosX; + /* 0x0E4 */ f32 mBoxItemTextPosY; + /* 0x0E8 */ JUtility::TColor mBoxStartBlack[10]; // talk, navi, midna, item, stone, wood, book, wolf, + /* 0x110 */ JUtility::TColor mBoxEndBlack[10]; + /* 0x138 */ JUtility::TColor mBoxStartWhite[10]; + /* 0x160 */ JUtility::TColor mBoxEndWhite[10]; + /* 0x188 */ JUtility::TColor mSelMsgInactiveCol; + /* 0x18C */ f32 mStageTitleCharPosX; + /* 0x190 */ f32 mBossNameCharPosX; + /* 0x194 */ f32 mStageTitleCharPosY; + /* 0x198 */ f32 mBossNameCharPosY; + /* 0x19C */ f32 mStageTitleCharSizeX; + /* 0x1A0 */ f32 mBossNameCharSizeX; + /* 0x1A4 */ f32 mStageTitleCharSizeY; + /* 0x1A8 */ f32 mBossNameCharSizeY; + /* 0x1AC */ f32 mStageTitleBasePosX; + /* 0x1B0 */ f32 mBossNameBasePosX; + /* 0x1B4 */ f32 mStageTitleBasePosY; + /* 0x1B8 */ f32 mBossNameBasePosY; + /* 0x1BC */ f32 mStageTitleBaseSizeX; + /* 0x1C0 */ f32 mBossNameBaseSizeX; + /* 0x1C4 */ f32 mStageTitleBaseSizeY; + /* 0x1C8 */ f32 mBossNameBaseSizeY; + /* 0x1CC */ f32 mStageTitleBaseAlpha; + /* 0x1D0 */ f32 mBossNameBaseAlpha; + /* 0x1D4 */ f32 mChoicePos[3][10]; // down, mid, top + /* 0x24C */ f32 mBoxPos[3][10]; // down, mid, top // talk, navi, midna, item, stone, wood, book, wolf, + /* 0x2C4 */ f32 mPortalIconScale; + /* 0x2C8 */ f32 mTextPosX; + /* 0x2CC */ f32 mTextPosY; + /* 0x2D0 */ f32 mPikariScale; + /* 0x2D4 */ JUtility::TColor mPikariMoyaR0; + /* 0x2D8 */ JUtility::TColor mPikariMoyaR1; + /* 0x2DC */ JUtility::TColor mPikariMoyabsR0; + /* 0x2E0 */ JUtility::TColor mPikariMoyabsR1; + /* 0x2E4 */ JUtility::TColor mPikariPikaR0; + /* 0x2E8 */ JUtility::TColor mPikariPikaR1; + /* 0x2EC */ f32 mPikariAnmSpeed; + /* 0x2F0 */ u16 mPikariHaloDelay_spirit; + /* 0x2F2 */ u8 mStageTitleDisplayType; + /* 0x2F4 */ u16 mMsgIndex; + /* 0x2F6 */ u16 mFlowIndex; + /* 0x2F8 */ u16 mSaveSeqMsgIndex; + /* 0x2FA */ u16 mSelWeightFrame; + /* 0x2FC */ u16 mBoxAppearBound; + /* 0x2FE */ u16 mBoxAppearFrame; + /* 0x300 */ u16 mWaitFrame; + /* 0x302 */ u16 mLightAppearFrame; + /* 0x304 */ u16 field_0x304; + /* 0x306 */ u16 mStageTitleFadeIn; + /* 0x308 */ u16 mStageTitleFadeOut; + /* 0x30A */ u16 mBossNameFadeIn; + /* 0x30C */ u16 mBossNameFadeOut; + /* 0x30E */ u16 mStageTitleDisplayTime; + /* 0x310 */ u16 mBossNameDisplayTime; + /* 0x312 */ u16 mBatchDisplayWeight_3; + /* 0x314 */ u16 mCharDisplayWeight_5; + /* 0x316 */ u16 mBatchDisplayWeight_8; + /* 0x318 */ u16 mBatchDisplayWeight_9; + /* 0x31A */ u16 mHaloDelayFrame; + /* 0x31C */ u16 mHaloDelayFrameSpirit; + /* 0x31E */ bool mSaveSeqMsgDebug; + /* 0x31F */ bool mMsgDebug; + /* 0x320 */ u8 field_0x320; + /* 0x320 */ bool mTextColorDebug; + /* 0x321 */ u8 mTextColorUpperR[9]; // Default, Red, Green, Blue, Yellow, L.Blue, Purple, Grey, Orange, + /* 0x32A */ u8 mTextColorUpperG[9]; + /* 0x333 */ u8 mTextColorUpperB[9]; + /* 0x33C */ u8 mTextColorLowerR[9]; // Default, Red, Green, Blue, Yellow, L.Blue, Purple, Grey, Orange, + /* 0x345 */ u8 mTextColorLowerG[9]; + /* 0x34E */ u8 mTextColorLowerB[9]; + /* 0x357 */ u8 mDisplaySpeed; + /* 0x358 */ u8 mDisplaySpeedSpirit; + /* 0x359 */ u8 mMessageDisplay; + /* 0x35C */ dMsgObject_HowlHIO_c mHowlHIO; +}; + #endif /* D_MSG_D_MSG_OBJECT_H */ diff --git a/include/d/msg/d_msg_out_font.h b/include/d/msg/d_msg_out_font.h index 815a1e0848..e11307c730 100644 --- a/include/d/msg/d_msg_out_font.h +++ b/include/d/msg/d_msg_out_font.h @@ -2,5 +2,63 @@ #define D_MSG_D_MSG_OUT_FONT_H #include "dolphin/types.h" +#include "JSystem/J2DGraph/J2DTextBox.h" +#include "JSystem/J2DGraph/J2DPicture.h" + +class COutFontSet_c { +public: + /* 80225BB8 */ COutFontSet_c(); + /* 80225C3C */ void initialize(); + /* 80225C70 */ void drawFont(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); + + /* 80225BF4 */ virtual ~COutFontSet_c(); + + u8 getType() { return mType; } + u32 getColor() { return mColor; } + f32 getPosX() { return mPosX; } + f32 getPosY() { return mPosY; } + f32 getSizeX() { return mSizeX; } + f32 getSizeY() { return mSizeY; } + J2DTextBox* getTextBoxPtr() { return mpTextBoxPtr; } + void setTextBoxPtr(J2DTextBox* p_textBox) { mpTextBoxPtr = p_textBox; } + void resetType() { mType = 0x47; } + +private: + /* 0x04 */ J2DTextBox* mpTextBoxPtr; + /* 0x08 */ f32 mPosX; + /* 0x0C */ f32 mPosY; + /* 0x10 */ f32 mSizeX; + /* 0x14 */ f32 mSizeY; + /* 0x18 */ u32 mColor; + /* 0x1C */ u8 mAlpha; + /* 0x1D */ u8 mType; +}; + +class COutFont_c { +public: + /* 80225C94 */ COutFont_c(u8); + /* 80226CF8 */ void initialize(); + /* 80228490 */ void setBlendAnime(J2DPicture*, s16); + /* 80228530 */ const char* getBtiName(int); + + /* 80225D60 */ virtual ~COutFont_c(); + /* 80225E7C */ virtual void setPane(J2DPicture*); + /* 80225EA8 */ virtual void createPane(); + /* 80226DB0 */ virtual void draw(J2DTextBox*, f32, f32, f32); + /* 80228448 */ virtual void reset(J2DTextBox*); + /* 80226D4C */ virtual void drawFont(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); + /* 80226DA8 */ virtual void setAlphaRatio(f32); + +private: + /* 0x004 */ COutFontSet_c* mpOfs[35]; + /* 0x090 */ J2DPicture* mpPane[70]; + /* 0x1A8 */ f32 mAlphaRatio; + /* 0x1AC */ f32 field_0x1ac; + /* 0x1B0 */ f32 field_0x1b0; + /* 0x1B4 */ s16 field_0x1b4[70]; + /* 0x240 */ bool field_0x240; + /* 0x241 */ u8 mRupeeColor; + /* 0x242 */ u8 field_0x242; +}; #endif /* D_MSG_D_MSG_OUT_FONT_H */ diff --git a/include/d/msg/d_msg_string.h b/include/d/msg/d_msg_string.h index c596bde84f..7c2d8eafe4 100644 --- a/include/d/msg/d_msg_string.h +++ b/include/d/msg/d_msg_string.h @@ -1,6 +1,26 @@ #ifndef D_MSG_D_MSG_STRING_H #define D_MSG_D_MSG_STRING_H -#include "dolphin/types.h" +#include "d/msg/d_msg_string_base.h" +#include "d/msg/d_msg_out_font.h" + +class dMsgString_c { +public: + + /* 80249C20 */ dMsgString_c(); + /* 80249CA0 */ dMsgString_c(u8); + /* 80249D28 */ ~dMsgString_c(); + + /* 80191B6C */ virtual void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); + /* 801E1D10 */ virtual void getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, + u8); + /* 80249DB4 */ virtual void resetStringLocal(J2DTextBox*); + /* 80249DE4 */ virtual void drawOutFontLocal(J2DTextBox*, f32); + /* 80249ED0 */ virtual void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); + +private: + /* 0x24 */ COutFont_c* mpOutFont; + /* 0x28 */ u8 field_0x28; +}; #endif /* D_MSG_D_MSG_STRING_H */ diff --git a/include/d/msg/d_msg_string_base.h b/include/d/msg/d_msg_string_base.h index 596f9156ea..0dcb053c29 100644 --- a/include/d/msg/d_msg_string_base.h +++ b/include/d/msg/d_msg_string_base.h @@ -1,6 +1,41 @@ #ifndef D_MSG_D_MSG_STRING_BASE_H #define D_MSG_D_MSG_STRING_BASE_H -#include "dolphin/types.h" +#include "d/msg/d_msg_object.h" + +struct jmessage_string_tControl; +struct jmessage_string_tReference; +struct jmessage_string_tSequenceProcessor; +struct jmessage_string_tRenderingProcessor; + +class dMsgStringBase_c { +public: + /* 802493B4 */ dMsgStringBase_c(); + /* 80249528 */ ~dMsgStringBase_c(); + /* 80249700 */ void getResource(); + /* 80249768 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); + /* 802498D8 */ void getStringPageLocal(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, + COutFont_c*, u8); + /* 80249A48 */ void getPageMax(int); + /* 80249A70 */ void getMessageLocal(u32, char*); + + /* 80249BB0 */ virtual void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); + /* 80249BD0 */ virtual void getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, + u8); + /* 80249BF8 */ virtual void getMessage(u32, char*); + /* 80249C18 */ virtual void resetStringLocal(J2DTextBox*); + /* 80249C1C */ virtual void drawOutFontLocal(J2DTextBox*, f32); + /* 80249BAC */ virtual void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); + +private: + /* 0x04 */ JMessage::TResourceContainer* mpResCont; + /* 0x08 */ jmessage_string_tControl* mpCtrl; + /* 0x0C */ jmessage_string_tReference* mpRefer; + /* 0x10 */ jmessage_string_tSequenceProcessor* mpSeqProc; + /* 0x14 */ jmessage_string_tRenderingProcessor* mpRenProc; + /* 0x18 */ JMessage::TParse* mpParse; + /* 0x1C */ void* field_0x1c; + /* 0x20 */ u16 field_0x20; +}; #endif /* D_MSG_D_MSG_STRING_BASE_H */ diff --git a/include/d/pane/d_pane_class_alpha.h b/include/d/pane/d_pane_class_alpha.h index a016a31110..5034f6c99d 100644 --- a/include/d/pane/d_pane_class_alpha.h +++ b/include/d/pane/d_pane_class_alpha.h @@ -39,6 +39,7 @@ public: J2DPane* getPanePtr() { return (J2DPane*)mWindow; } u8 getAlpha() { return getPanePtr()->getAlpha(); } s16 getAlphaTimer() { return mAlphaTimer; } + void alphaAnimeStart(s16 start) { mAlphaTimer = start; } /* 0x04 */ J2DWindow* mWindow; /* 0x08 */ JKRExpHeap* heap; diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index a154b9975d..5abca2df63 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -53,6 +53,28 @@ public: /* 0x10 */ void* mData; }; // Size: 0x14 +class dPa_followEcallBack : public dPa_levelEcallBack { +public: + /* 80049580 */ dPa_followEcallBack(u8, u8); + + /* 80050200 */ virtual ~dPa_followEcallBack(); + /* 800495BC */ virtual void execute(JPABaseEmitter*); + /* 800496B0 */ virtual void draw(JPABaseEmitter*); + /* 800496B4 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); + /* 80050284 */ virtual void cleanup(); + /* 8004974C */ virtual void end(); + + void remove() { end(); } + + /* 0x04 */ JPABaseEmitter* mpEmitter; + /* 0x08 */ cXyz* field_0x8; + /* 0x0C */ csXyz* field_0xc; + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; + /* 0x12 */ u8 field_0x12; + /* 0x13 */ u8 field_0x13; +}; + extern u8 data_80450EC4; class dPa_control_c { @@ -66,6 +88,8 @@ public: /* 8004B5AC */ void cleanup(); /* 8004FBFC */ emitter_c(); + JPABaseEmitter* getEmitter() { return mEmitter; } + private: /* 0x00 */ u32 mId; /* 0x04 */ u16 mNameId; @@ -83,7 +107,7 @@ public: /* 8004B874 */ void get(u32); /* 8004B8B4 */ void forceOnEventMove(u32); /* 8004B8E8 */ void allForceOnEventMove(); - /* 8004B918 */ emitter_c* getEmitter(u32); + /* 8004B918 */ JPABaseEmitter* getEmitter(u32); /* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*); /* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*); /* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*); @@ -136,7 +160,7 @@ public: dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8); void forceOnEventMove(u32 param_0) { field_0x210.forceOnEventMove(param_0); } - level_c::emitter_c* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); } + JPABaseEmitter* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); } u32 setNormal(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, const csXyz* param_4, const cXyz* param_5, u8 param_6, diff --git a/include/d/s/d_s_logo.h b/include/d/s/d_s_logo.h index 086b209115..0627e86dd1 100644 --- a/include/d/s/d_s_logo.h +++ b/include/d/s/d_s_logo.h @@ -3,6 +3,7 @@ #include "d/com/d_com_inf_game.h" #include "dolphin/types.h" +#include "SSystem/SComponent/c_lib.h" class dLog_HIO_c { public: @@ -119,7 +120,4 @@ static int phase_0(dScnLogo_c* logo); static int phase_1(dScnLogo_c* logo); static int phase_2(dScnLogo_c* logo); -template -T cLib_calcTimer(T* val); - #endif /* D_S_D_S_LOGO_H */ diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index 5cac4e2acc..17a72a4811 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -384,7 +384,7 @@ public: int isMagicFlag(u8 i_magic) const; u16 getMaxLife() { return mMaxLife; } - u16 getLife() { return mLife; } + u16 getLife() const { return mLife; } u16 getRupee() { return mRupee; } u16 getOil() { return mOil; } u16 getMaxOil() const { return mMaxOil; } @@ -515,6 +515,7 @@ public: s8 getRoomNo() { return mRoomNo; } char getWarpAcceptStage() { return mWarpAcceptStage; } void resetWarpAcceptStage() { mWarpAcceptStage = -1; } + void setWarpAcceptStage(s8 accept) { mWarpAcceptStage = accept; } private: /* 0x00 */ cXyz mPos; @@ -522,7 +523,7 @@ private: /* 0x0E */ char mName[8]; /* 0x16 */ u8 mSpawnId; /* 0x17 */ s8 mRoomNo; - /* 0x18 */ char mWarpAcceptStage; + /* 0x18 */ s8 mWarpAcceptStage; /* 0x19 */ u8 unk25[3]; }; // Size: 0x1C @@ -813,6 +814,7 @@ public: onDungeonItem(STAGE_BOSS_ENEMY); onDungeonItem(OOCCOO_NOTE); } + s32 isStageBossEnemy() const { return isDungeonItem(STAGE_BOSS_ENEMY); } s32 isDungeonItemWarp() const { return isDungeonItem(OOCCOO_NOTE); } void onStageLife() { onDungeonItem(STAGE_LIFE); } @@ -1085,6 +1087,7 @@ public: u8 getDataNum() const { return mDataNum; } void removeZone(int zoneNo) { mZone[zoneNo].reset(); } void setNoFile(u8 file) { mNoFile = file; } + u8 getNewFile() const { return mNewFile; } static const int MEMORY_SWITCH = 0x80; static const int DAN_SWITCH = 0x40; diff --git a/include/d/save/d_save_HIO.h b/include/d/save/d_save_HIO.h index ef4b049302..dfa7c8b147 100644 --- a/include/d/save/d_save_HIO.h +++ b/include/d/save/d_save_HIO.h @@ -201,8 +201,7 @@ public: /* 8025C6FC */ virtual ~dSvBit_HIO_c(); -private: - /* 0x004 */ u8 field_0x4; + /* 0x004 */ s8 field_0x4; /* 0x008 */ dSvBit_childSwitchHIO_c mSwitch; /* 0x210 */ dSvBit_childItemHIO_c mItem; /* 0x3D8 */ dSvBit_childTreasureHIO_c mTreasure; diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index 19091b9b21..d815ffd033 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -1021,6 +1021,12 @@ inline void GXPosition2s8(s8 x, s8 y) { GFX_FIFO(s8) = y; } +inline void GXPosition3s16(s16 x, s16 y, s16 z) { + GFX_FIFO(s16) = x; + GFX_FIFO(s16) = y; + GFX_FIFO(s16) = z; +} + inline void GXTexCoord2s8(s8 x, s8 y) { GFX_FIFO(s8) = x; GFX_FIFO(s8) = y; diff --git a/include/dolphin/os/OS.h b/include/dolphin/os/OS.h index b1ce58846a..50f6bfbebd 100644 --- a/include/dolphin/os/OS.h +++ b/include/dolphin/os/OS.h @@ -230,6 +230,8 @@ void OSInitCond(OSCond* cond); void OSWaitCond(OSCond* cond, OSMutex* mutex); void OSSignalCond(OSCond* cond); +void DCStoreRangeNoSync(void*, u32); + inline s16 __OSf32tos16(register f32 inF) { register s16 out; u32 tmp; diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index b6aa4196b6..47b238619f 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -12,14 +12,12 @@ struct JKRSolidHeap; class dEvt_info_c { public: dEvt_info_c(); - virtual ~dEvt_info_c(); + virtual ~dEvt_info_c() {} void setEventName(char*); char* getEventName(); void beforeProc(); void onCondition(u16); - void i_onCondition(u16 cond) { mCondition |= cond; } void offCondition(u16); - void i_offCondition(u16 cond) { mCondition &= ~cond; } bool checkCommandCatch(); BOOL checkCommandDoor(); BOOL checkCommandDemoAccrpt() { return mCommand == 2; } @@ -33,10 +31,20 @@ public: s16 getEventId() { return mEventId; } s16 getIdx() { return mIndex; } char* getArchiveName() { return mArchiveName; } - bool chkCondition(u16 condition) { return mCondition == condition; } + BOOL chkCondition(u16 condition) { return mCondition & condition; } + void i_onCondition(u16 cond) { mCondition |= cond; } + void i_offCondition(u16 cond) { mCondition &= ~cond; } bool checkCommandTalk() { return mCommand == 1; } bool checkCommandItem() { return mCommand == 4; } + BOOL i_checkCommandDoor() { return mCommand == 3; } + bool i_checkCommandDemoAccrpt() { return mCommand == 2; } + + void suspendProc(void* actor) { + if (field_0x10 != NULL) { + field_0x14(actor); + } + } /* 0x04 */ u16 mCommand; /* 0x06 */ u16 mCondition; @@ -44,24 +52,26 @@ public: /* 0x0A */ u8 mMapToolId; /* 0x0B */ s8 mIndex; /* 0x0C */ char* mArchiveName; - /* 0x10 */ void* field_0x10; - /* 0x14 */ void* field_0x14; + /* 0x10 */ u8 field_0x10; + /* 0x14 */ void (*field_0x14)(void*); }; // Size = 0x18 struct actor_place { - /* 807E2468 */ void operator=(actor_place const&); + /* 807E2468 */ //void operator=(actor_place const&); - cXyz mPosition; - csXyz mAngle; - s8 mRoomNo; + /* 0x00 */ cXyz mPosition; + /* 0x0C */ csXyz mAngle; + /* 0x12 */ s8 mRoomNo; + /* 0x13 */ u8 field_0x13; }; struct actor_attention_types { void setFlag(u32 flags) { mFlags |= flags; } - /* 0x00 */ u32 mDistance1; - /* 0x04 */ u32 mDistance2; - /* 0x08 */ u32 mDistance3; + /* 0x00 */ u8 field_0x0[4]; + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ u8 field_0x8[2]; + /* 0x0A */ u16 field_0xa; /* 0x0C */ cXyz mPosition; /* 0x18 */ u32 mFlags; }; // Size = 0x1C @@ -77,7 +87,7 @@ public: /* 0x0F0 */ JKRSolidHeap* mHeap; /* 0x0F4 */ dEvt_info_c mEvtInfo; /* 0x10C */ dKy_tevstr_c mTevStr; - /* 0x494 */ s16 mSetID; + /* 0x494 */ u16 mSetID; /* 0x496 */ u8 mGroup; /* 0x497 */ u8 mCullType; /* 0x498 */ u8 mDemoActorId; diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 3f57e4d41c..5d7c74484d 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -36,21 +36,49 @@ struct fopAcM_prm_class { /* 0x21 */ s8 mRoomNo; }; +struct fopAcM_search4ev_prm { + fopAcM_search4ev_prm() { clear(); } + void clear() { + mName[0] = 0; + mEventID = -1; + mProcName = 11; + mSubType = 0; + } + + /* 0x00 */ char mName[30]; + /* 0x1E */ s16 mEventID; + /* 0x20 */ s16 mProcName; + /* 0x22 */ s8 mSubType; +}; + +struct fopAcM_search_prm { + /* 0x00 */ u32 mParam0; + /* 0x04 */ u32 mParam1; + /* 0x08 */ s16 mProcName; + /* 0x0A */ s8 mSubType; +}; + +class dBgS_LinChk; class fopAcM_lc_c { public: + static dBgS_LinChk* getLineCheck() { return (dBgS_LinChk*)&mLineCheck; } static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*); static u8 mLineCheck[112]; }; +class dBgS_RoofChk; class fopAcM_rc_c { public: + static dBgS_RoofChk* getRoofCheck() { return (dBgS_RoofChk*)&mRoofCheck; } static bool roofCheck(const cXyz*); static u8 mRoofCheck[80]; static f32 mRoofY; }; +class dBgS_GndChk; class fopAcM_gc_c { public: + static dBgS_GndChk* getGroundCheck() { return (dBgS_GndChk*)&mGndCheck; } static bool gndCheck(const cXyz*); static u8 mGndCheck[84]; static f32 mGroundY; @@ -58,8 +86,10 @@ public: static f32 getGroundY() { return mGroundY; } }; +class dBgS_WtrChk; class fopAcM_wt_c { public: + static dBgS_WtrChk* getWaterCheck() { return (dBgS_WtrChk*)&mWaterCheck; } static bool waterCheck(const cXyz*); static u8 mWaterCheck[84 + 4 /* padding */]; static f32 mWaterY[1 + 1 /* padding */]; @@ -110,7 +140,7 @@ inline void fopAcM_SetParam(void* p_actor, u32 param) { fpcM_SetParam(p_actor, param); } -inline s16 fpcAcM_GetProfName(void* pActor) { +inline s16 fopAcM_GetProfName(const void* pActor) { return fpcM_GetProfName(pActor); } @@ -162,6 +192,10 @@ inline void fopAcM_OnCondition(fopAc_ac_c* p_actor, u32 flag) { p_actor->mCondition |= flag; } +inline void fopAcM_OffCondition(fopAc_ac_c* p_actor, u32 flag) { + p_actor->mCondition &= ~flag; +} + inline BOOL fopAcM_IsActor(void* actor) { return fopAc_IsActor(actor); } @@ -178,51 +212,127 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) { fopAcM_OffStatus(actor, 0x100000); } +inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* pActor) { + return pActor->mOrig.mRoomNo; +} + +inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) { + actor->mGravity = gravity; +} + +inline void fopAcM_SetMtx(fopAc_ac_c* actor, MtxP m) { + actor->mCullMtx = m; +} + +inline void fopAcM_SetSpeed(fopAc_ac_c* actor, f32 x, f32 y, f32 z) { + actor->mSpeed.set(x, y, z); +} + +inline void fopAcM_SetSpeedF(fopAc_ac_c* actor, f32 f) { + actor->mSpeedF = f; +} + +inline void fopAcM_SetStatus(fopAc_ac_c* actor, u32 status) { + actor->mStatus = status; +} + +inline fopAcM_prm_class* fopAcM_GetAppend(void* actor) { + return (fopAcM_prm_class*)fpcM_GetAppend(actor); +} + +inline BOOL fopAcM_IsExecuting(unsigned int id) { + return fpcM_IsExecuting(id); +} + void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData); -void fopAcM_setStageLayer(void*); -int fopAcM_setRoomLayer(void*, int); -s32 fopAcM_SearchByID(unsigned int id, fopAc_ac_c** actor); -s32 fopAcM_SearchByName(s16 procName, fopAc_ac_c** actor); -fopAcM_prm_class* fopAcM_CreateAppend(void); -fopAcM_prm_class* createAppend(u16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, - unsigned int); -void fopAcM_Log(const fopAc_ac_c*, const char*); -void fopAcM_delete(fopAc_ac_c*); -s32 fopAcM_delete(unsigned int); -s32 fopAcM_create(s16, u16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, createFunc); -s32 fopAcM_create(s16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8); -void* fopAcM_fastCreate(s16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, createFunc, - void*); -void* fopAcM_fastCreate(const char*, u32, const cXyz*, int, const csXyz*, const cXyz*, createFunc, - void*); -s32 fopAcM_createChild(s16, unsigned int, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, - createFunc); -s32 fopAcM_createChildFromOffset(s16, unsigned int, u32, const cXyz*, int, const csXyz*, - const cXyz*, s8, createFunc); -void fopAcM_DeleteHeap(fopAc_ac_c*); -s32 fopAcM_callCallback(fopAc_ac_c*, heapCallbackFunc, JKRHeap*); -bool fopAcM_entrySolidHeap_(fopAc_ac_c*, heapCallbackFunc, u32); -bool fopAcM_entrySolidHeap(fopAc_ac_c*, heapCallbackFunc, u32); -void fopAcM_SetMin(fopAc_ac_c*, f32, f32, f32); -void fopAcM_SetMax(fopAc_ac_c*, f32, f32, f32); -void fopAcM_setCullSizeBox(fopAc_ac_c*, f32, f32, f32, f32, f32, f32); -void fopAcM_setCullSizeSphere(fopAc_ac_c*, f32, f32, f32, f32); -void fopAcM_setCullSizeBox2(fopAc_ac_c*, J3DModelData*); -bool fopAcM_addAngleY(fopAc_ac_c*, s16, s16); -void fopAcM_calcSpeed(fopAc_ac_c*); -void fopAcM_posMove(fopAc_ac_c*, const cXyz*); -void fopAcM_posMoveF(fopAc_ac_c*, const cXyz*); -s16 fopAcM_searchActorAngleY(const fopAc_ac_c*, const fopAc_ac_c*); -s16 fopAcM_searchActorAngleX(const fopAc_ac_c*, const fopAc_ac_c*); + +void fopAcM_setStageLayer(void* p_proc); + +void fopAcM_setRoomLayer(void* p_proc, int roomNo); + +s32 fopAcM_SearchByID(unsigned int id, fopAc_ac_c** p_actor); + +s32 fopAcM_SearchByName(s16 procName, fopAc_ac_c** p_actor); + +fopAcM_prm_class* fopAcM_CreateAppend(); + +fopAcM_prm_class* createAppend(u16 enemyNo, u32 parameters, const cXyz* p_pos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, s8 subType, + unsigned int parentPId); + +void fopAcM_Log(fopAc_ac_c const* p_actor, char const* str); + +void fopAcM_delete(fopAc_ac_c* p_actor); + +s32 fopAcM_delete(unsigned int actorID); + +s32 fopAcM_create(s16 procName, u16 enemyNo, u32 parameter, const cXyz* p_pos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, s8 subType, createFunc p_createFunc); + +s32 fopAcM_create(s16 procName, u32 parameter, const cXyz* p_pos, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, s8 subType); + +void* fopAcM_fastCreate(s16 procName, u32 parameter, const cXyz* p_pos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, s8 subType, createFunc p_createFunc, + void* p_createFuncData); + +void* fopAcM_fastCreate(const char* p_actorName, u32 parameter, const cXyz* pActorPos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, createFunc p_createFunc, + void* p_createFuncData); + +s32 fopAcM_createChild(s16 procName, unsigned int parentPId, u32 parameters, const cXyz* p_pos, + int roomNo, const csXyz* p_angle, const cXyz* p_scale, s8 subType, + createFunc p_createFunc); + +s32 fopAcM_createChildFromOffset(s16 procName, unsigned int parentProcID, u32 actorParams, + const cXyz* p_pos, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, s8 subType, createFunc p_createFunc); + +void fopAcM_DeleteHeap(fopAc_ac_c* p_actor); + +s32 fopAcM_callCallback(fopAc_ac_c* p_actor, heapCallbackFunc p_callbackFunc, JKRHeap* p_heap); + +bool fopAcM_entrySolidHeap_(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size); + +bool fopAcM_entrySolidHeap(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size); + +void fopAcM_SetMin(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ); + +void fopAcM_SetMax(fopAc_ac_c* p_actor, f32 maxX, f32 maxY, f32 maxZ); + +void fopAcM_setCullSizeBox(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, + f32 maxZ); + +void fopAcM_setCullSizeSphere(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ, f32 radius); + +void fopAcM_setCullSizeBox2(fopAc_ac_c* p_actor, J3DModelData* p_modelData); + +bool fopAcM_addAngleY(fopAc_ac_c* p_actor, s16 target, s16 step); + +void fopAcM_calcSpeed(fopAc_ac_c* p_actor); + +void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos); + +void fopAcM_posMoveF(fopAc_ac_c* p_actor, const cXyz* p_movePos); + +s16 fopAcM_searchActorAngleY(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB); + +s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB); + s32 fopAcM_seenActorAngleY(const fopAc_ac_c*, const fopAc_ac_c*); -f32 fopAcM_searchActorDistance(const fopAc_ac_c*, const fopAc_ac_c*); -f32 fopAcM_searchActorDistance2(const fopAc_ac_c*, const fopAc_ac_c*); -f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c*, const fopAc_ac_c*); -f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c*, const fopAc_ac_c*); + +f32 fopAcM_searchActorDistance(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB); + +f32 fopAcM_searchActorDistance2(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB); + +f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB); + +f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB); + s32 fopAcM_rollPlayerCrash(const fopAc_ac_c*, f32, u32, f32, f32, int, f32); s32 fopAcM_checkCullingBox(f32[3][4], f32, f32, f32, f32, f32, f32); s32 fopAcM_cullingCheck(const fopAc_ac_c*); -s32 event_second_actor(u16); +void* event_second_actor(u16); s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); s32 fopAcM_orderTalkItemBtnEvent(u16, fopAc_ac_c*, fopAc_ac_c*, u16, u16); s32 fopAcM_orderSpeakEvent(fopAc_ac_c*, u16, u16); @@ -237,50 +347,86 @@ s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16); s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16); s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16); s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); -s32 fopAcM_getTalkEventPartner(const fopAc_ac_c*); -s32 fopAcM_getItemEventPartner(const fopAc_ac_c*); -s32 fopAcM_getEventPartner(const fopAc_ac_c*); -s32 fopAcM_createItemForPresentDemo(const cXyz*, int, u8, int, int, const csXyz*, const cXyz*); -s32 fopAcM_createItemForTrBoxDemo(const cXyz*, int, int, int, const csXyz*, const cXyz*); -// s32 fopAcM_getItemNoFromTableNo(u8); -s32 fopAcM_createItemFromEnemyID(u8, const cXyz*, int, int, const csXyz*, const cXyz*, f32*, f32*); -s32 fopAcM_createItemFromTable(const cXyz*, int, int, int, const csXyz*, int, const cXyz*, f32*, - f32*, bool); -s32 fopAcM_createDemoItem(const cXyz*, int, int, const csXyz*, int, const cXyz*, u8); -s32 fopAcM_createItemForBoss(const cXyz*, int, int, const csXyz*, const cXyz*, f32, f32, int); -s32 fopAcM_createItemForMidBoss(const cXyz*, int, int, const csXyz*, const cXyz*, int, int); -void* fopAcM_createItemForDirectGet(const cXyz*, int, int, const csXyz*, const cXyz*, f32, f32); -void* fopAcM_createItemForSimpleDemo(const cXyz*, int, int, const csXyz*, const cXyz*, f32, f32); -s32 fopAcM_createItem(const cXyz*, int, int, int, const csXyz*, const cXyz*, int); -void* fopAcM_fastCreateItem2(const cXyz*, int, int, int, int, const csXyz*, const cXyz*); -void* fopAcM_fastCreateItem(const cXyz*, int, int, const csXyz*, const cXyz*, f32*, f32*, int, int, - createFunc); +void* fopAcM_getTalkEventPartner(const fopAc_ac_c*); +void* fopAcM_getItemEventPartner(const fopAc_ac_c*); +void* fopAcM_getEventPartner(const fopAc_ac_c*); + +s32 fopAcM_createItemForPresentDemo(cXyz const* p_pos, int i_itemNo, u8 param_2, int i_itemBitNo, + int i_roomNo, csXyz const* p_angle, cXyz const* p_scale); + +s32 fopAcM_createItemForTrBoxDemo(cXyz const* p_pos, int i_itemNo, int i_itemBitNo, int i_roomNo, + csXyz const* p_angle, cXyz const* p_scale); + +u8 fopAcM_getItemNoFromTableNo(u8 i_tableNo); + +s32 fopAcM_createItemFromEnemyID(u8 i_enemyID, cXyz const* p_pos, int i_itemBitNo, int i_roomNo, + csXyz const* p_angle, cXyz const* p_scale, f32* speedF, + f32* speedY); + +s32 fopAcM_createItemFromTable(cXyz const* p_pos, int i_tableNo, int i_itemBitNo, int i_roomNo, + csXyz const* p_angle, int param_5, cXyz const* p_scale, + f32* speedF, f32* speedY, bool createDirect); + +s32 fopAcM_createDemoItem(const cXyz* p_pos, int itemNo, int itemBitNo, const csXyz* p_angle, + int roomNo, const cXyz* scale, u8 param_7); + +s32 fopAcM_createItemForBoss(const cXyz* p_pos, int param_2, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32 speedF, f32 speedY, int param_8); + +s32 fopAcM_createItemForMidBoss(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, int param_6, int param_7); + +void* fopAcM_createItemForDirectGet(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32 speedF, f32 speedY); + +void* fopAcM_createItemForSimpleDemo(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32 speedF, f32 speedY); + +s32 fopAcM_createItem(const cXyz* p_pos, int itemNo, int param_3, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, int param_7); + +void* fopAcM_fastCreateItem2(const cXyz* p_pos, int itemNo, int param_3, int roomNo, int param_5, + const csXyz* p_angle, const cXyz* p_scale); + +void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32* p_speedF, f32* p_speedY, int param_8, + int param_9, createFunc p_createFunc); + s32 fopAcM_createBokkuri(u16, const cXyz*, int, int, int, const cXyz*, int, int); s32 fopAcM_createWarpHole(const cXyz*, const csXyz*, int, u8, u8, u8); -s32 fopAcM_myRoomSearchEnemy(s8); + +void fopAcM_myRoomSearchEnemy(s8 roomNo); + s32 fopAcM_createDisappear(const fopAc_ac_c*, const cXyz*, u8, u8, u8); -s32 fopAcM_setCarryNow(fopAc_ac_c*, int); -s32 fopAcM_cancelCarryNow(fopAc_ac_c*); -f32 fopAcM_otoCheck(const fopAc_ac_c*, f32); +void fopAcM_setCarryNow(fopAc_ac_c*, int); +void fopAcM_cancelCarryNow(fopAc_ac_c*); +s32 fopAcM_otoCheck(const fopAc_ac_c*, f32); s32 fopAcM_otherBgCheck(const fopAc_ac_c*, const fopAc_ac_c*); s32 fopAcM_wayBgCheck(const fopAc_ac_c*, f32, f32); s32 fopAcM_plAngleCheck(const fopAc_ac_c*, s16); s32 fopAcM_effSmokeSet1(u32*, u32*, const cXyz*, const csXyz*, f32, const dKy_tevstr_c*, int); -s32 fopAcM_effHamonSet(u32*, const cXyz*, f32, f32); +void fopAcM_effHamonSet(u32*, const cXyz*, f32, f32); s32 fopAcM_riverStream(cXyz*, s16*, f32*, f32); s32 fopAcM_carryOffRevise(fopAc_ac_c*); // void vectle_calc(const DOUBLE_POS*, cXyz*); // void get_vectle_calc(const cXyz*, const cXyz*, cXyz*); void fopAcM_setEffectMtx(const fopAc_ac_c*, const J3DModelData*); -static const char* fopAcM_getProcNameString(const fopAc_ac_c*); -// s32 fopAcM_findObjectCB(const fopAc_ac_c*, void*); -s32 fopAcM_searchFromName(const char*, u32, u32); -s32 fopAcM_findObject4EventCB(fopAc_ac_c*, void*); -fopAc_ac_c* fopAcM_searchFromName4Event(const char*, s16); + +static const char* fopAcM_getProcNameString(const fopAc_ac_c* p_actor); + +static const fopAc_ac_c* fopAcM_findObjectCB(fopAc_ac_c const* p_actor, void* p_data); + +fopAc_ac_c* fopAcM_searchFromName(char const* name, u32 param0, u32 param1); + +fopAc_ac_c* fopAcM_findObject4EventCB(fopAc_ac_c* p_actor, void* p_data); + +fopAc_ac_c* fopAcM_searchFromName4Event(char const* name, s16 eventID); + s32 fopAcM_getWaterY(const cXyz*, f32*); -void fpoAcM_relativePos(const fopAc_ac_c*, const cXyz*, cXyz*); +void fpoAcM_relativePos(fopAc_ac_c const* actor, cXyz const* p_inPos, cXyz* p_outPos); s32 fopAcM_getWaterStream(const cXyz*, const cBgS_PolyInfo&, cXyz*, int*, int); s16 fopAcM_getPolygonAngle(const cBgS_PolyInfo&, s16); +s16 fopAcM_getPolygonAngle(cM3dGPla const* param_0, s16 param_1); extern "C" { void fopAcM_initManager__Fv(void); @@ -353,7 +499,6 @@ void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(void); void fopAcM_setRoomLayer__FPvi(void); void fopAcM_setStageLayer__FPv(void); void waterCheck__11fopAcM_wt_cFPC4cXyz(void); -void fopScnM_SearchByID(void); void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz(void); void fopAcM_SearchByName__FsPP10fopAc_ac_c(void); void fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(void); diff --git a/include/f_op/f_op_actor_tag.h b/include/f_op/f_op_actor_tag.h index fdd16d0cf6..f3430d7e0e 100644 --- a/include/f_op/f_op_actor_tag.h +++ b/include/f_op/f_op_actor_tag.h @@ -4,6 +4,10 @@ #include "SSystem/SComponent/c_tag.h" #include "dolphin/types.h" +u32 fopAcTg_ActorQTo(create_tag_class* pTag); +u32 fopAcTg_Init(create_tag_class* pTag, void* data); +u32 fopAcTg_ToActorQ(create_tag_class* c); + // f_op_actor_tag::g_fopAcTg_Queue extern node_list_class g_fopAcTg_Queue; diff --git a/include/f_op/f_op_draw_tag.h b/include/f_op/f_op_draw_tag.h index e1f510ca80..2a37bd7458 100644 --- a/include/f_op/f_op_draw_tag.h +++ b/include/f_op/f_op_draw_tag.h @@ -7,5 +7,7 @@ extern node_lists_tree_class g_fopDwTg_Queue; void fopDwTg_DrawQTo(create_tag_class* pTag); void fopDwTg_CreateQueue(); +bool fopDwTg_Init(create_tag_class* pCreateTagClass, void* pActor); +void fopDwTg_ToDrawQ(create_tag_class* pCreateTagClass, int priority); #endif \ No newline at end of file diff --git a/include/f_pc/f_pc_leaf.h b/include/f_pc/f_pc_leaf.h index 04be9bfe10..c81df8d181 100644 --- a/include/f_pc/f_pc_leaf.h +++ b/include/f_pc/f_pc_leaf.h @@ -22,10 +22,9 @@ typedef struct leafdraw_class { typedef struct leaf_process_profile_definition { /* 0x00 */ process_profile_definition mBase; - /* 0x1C */ leafdraw_method_class* mLfDrwMth; - /* 0x20 */ s16 mPriority; - /* 0x22 */ u8 unk22[2]; - /* 0x24 */ leafdraw_method_class* mMethods; + /* 0x28 */ int field_0x28; + /* 0x2C */ u8 field_0x2c; + /* 0x2D */ u8 field_0x2d; } leaf_process_profile_definition; s32 fpcLf_GetPriority(const leafdraw_class* pLeaf); diff --git a/include/f_pc/f_pc_manager.h b/include/f_pc/f_pc_manager.h index 6d5a7ac875..84d376093e 100644 --- a/include/f_pc/f_pc_manager.h +++ b/include/f_pc/f_pc_manager.h @@ -8,6 +8,7 @@ #include "f_pc/f_pc_create_iter.h" #include "f_pc/f_pc_node_req.h" #include "f_pc/f_pc_stdcreate_req.h" +#include "f_pc/f_pc_executor.h" typedef int (*FastCreateReqFunc)(void*); typedef void (*fpcM_ManagementFunc)(void); @@ -27,7 +28,7 @@ inline void fpcM_SetParam(void* p_actor, u32 param) { ((base_process_class*)p_actor)->mParameters = param; } -inline s16 fpcM_GetProfName(void* pActor) { +inline s16 fpcM_GetProfName(const void* pActor) { return ((base_process_class*)pActor)->mBsTypeId; } @@ -40,6 +41,26 @@ inline s32 fpcM_ChangeLayerID(void* proc, int layerID) { return fpcPi_Change(&((base_process_class*)proc)->mPi, layerID, 0xFFFD, 0xFFFD); } +inline s32 fpcM_IsJustType(int type1, int type2) { + return fpcBs_Is_JustOfType(type1, type2); +} + +inline bool fpcM_IsFirstCreating(void* proc) { + return ((base_process_class*)proc)->mInitState == 0; +} + +inline leaf_process_profile_definition* fpcM_GetProfile(void* proc) { + return (leaf_process_profile_definition*)((base_process_class*)proc)->mpProf; +} + +inline void* fpcM_GetAppend(const void* proc) { + return ((base_process_class*)proc)->mpUserData; +} + +inline BOOL fpcM_IsExecuting(unsigned int id) { + return fpcEx_IsExist(id); +} + void fpcM_Draw(void* pProc); s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc); s32 fpcM_Execute(void* pProc); diff --git a/include/f_pc/f_pc_node.h b/include/f_pc/f_pc_node.h index 0a6222ab6e..29b6379775 100644 --- a/include/f_pc/f_pc_node.h +++ b/include/f_pc/f_pc_node.h @@ -21,10 +21,6 @@ typedef struct process_node_class { typedef struct node_process_profile_definition { process_profile_definition mBase; - nodedraw_method_class* mNDrwMthCls; - s16 unk20; - u8 unk22[2]; - s32 unk24; } node_process_profile_definition; s32 fpcNd_DrawMethod(nodedraw_method_class* pNodeMethod, void* pData); diff --git a/include/f_pc/f_pc_profile.h b/include/f_pc/f_pc_profile.h index f1c74ee24d..a50104b126 100644 --- a/include/f_pc/f_pc_profile.h +++ b/include/f_pc/f_pc_profile.h @@ -6,6 +6,7 @@ #include "f_pc/f_pc_method.h" struct nodedraw_method_class; +struct leafdraw_method_class; typedef struct process_profile_definition { /* 0x00 */ s32 mLayerID; @@ -17,12 +18,16 @@ typedef struct process_profile_definition { /* 0x10 */ s32 mSize; /* 0x14 */ s32 mSizeOther; /* 0x18 */ s32 mParameters; + /* 0x1C */ leafdraw_method_class* mLfDrwMth; + /* 0x20 */ s16 mPriority; + /* 0x22 */ u8 unk22[2]; + /* 0x24 */ leafdraw_method_class* mMethods; } process_profile_definition; #define LAYER_DEFAULT (-2) struct leaf_process_profile_definition; -leaf_process_profile_definition* fpcPf_Get(s16 profileID); -extern leaf_process_profile_definition** g_fpcPf_ProfileList_p; +process_profile_definition* fpcPf_Get(s16 profileID); +extern process_profile_definition** g_fpcPf_ProfileList_p; #endif diff --git a/include/m_Do/m_Do_DVDError.h b/include/m_Do/m_Do_DVDError.h index f8bbcb3b37..f0ad7f0e4f 100644 --- a/include/m_Do/m_Do_DVDError.h +++ b/include/m_Do/m_Do_DVDError.h @@ -7,5 +7,6 @@ void mDoDvdErr_ThdCleanup(); static void mDoDvdErr_Watch(void*); static void AlarmHandler(OSAlarm*, OSContext*); +void mDoDvdErr_ThdInit(); #endif /* M_DO_M_DO_DVDERROR_H */ diff --git a/include/m_Do/m_Do_MemCard.h b/include/m_Do/m_Do_MemCard.h index f1513f7b1c..180e68c436 100644 --- a/include/m_Do/m_Do_MemCard.h +++ b/include/m_Do/m_Do_MemCard.h @@ -65,4 +65,8 @@ inline bool mDoMemCd_isCardCommNone() { return g_mDoMemCd_control.isCardCommNone(); } +inline void mDoMemCd_ThdInit() { + g_mDoMemCd_control.ThdInit(); +} + #endif /* M_DO_M_DO_MEMCARD_H */ diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 7868e7274d..d4eb4bd6a9 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -17,6 +17,15 @@ public: void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); } f32 getFrame() { return mFrameCtrl.getFrame(); } + f32 getEndFrame() { return mFrameCtrl.getEnd(); } + void setFrame(f32 frame) { mFrameCtrl.setFrame(frame); } + bool isStop() { + bool stopped = true; + if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) { + stopped = false; + } + return stopped; + } private: /* 0x0 */ J3DFrameCtrl mFrameCtrl; @@ -154,6 +163,7 @@ public: void setRatio(f32 ratio) { mRatio = ratio; } J3DAnmTransform* getAnmTransform() { return mAnmTransform; } + void setAnmTransform(J3DAnmTransform* anm) { mAnmTransform = anm; } private: /* 0x0 */ f32 mRatio; @@ -383,6 +393,14 @@ JKRExpHeap* mDoExt_getCommandHeap(); JKRExpHeap* mDoExt_getZeldaHeap(); JKRExpHeap* mDoExt_getJ2dHeap(); JKRExpHeap* mDoExt_getHostIOHeap(); +JKRExpHeap* mDoExt_getDbPrintHeap(); +JKRExpHeap* mDoExt_createDbPrintHeap(u32 param_0, JKRHeap* param_1); +JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* param_0); +JKRExpHeap* mDoExt_createCommandHeap(u32 param_0, JKRHeap* param_1); +JKRExpHeap* mDoExt_createArchiveHeap(u32 param_0, JKRHeap* param_1); +JKRExpHeap* mDoExt_createJ2dHeap(u32 param_0, JKRHeap* param_1); +JKRExpHeap* mDoExt_createZeldaHeap(u32 param_0, JKRHeap* param_1); +JKRExpHeap* mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1); JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32); JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32); JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32); @@ -397,10 +415,12 @@ void mDoExt_setAraCacheSize(u32 param_0); struct JUTFont; JUTFont* mDoExt_getMesgFont(); void mDoExt_getSubFont(); -void mDoExt_getRubyFont(); +JUTFont* mDoExt_getRubyFont(); +void mDoExt_removeSubFont(); extern JKRExpHeap* zeldaHeap; extern JKRExpHeap* gameHeap; extern JKRExpHeap* archiveHeap; +extern JKRExpHeap* commandHeap; #endif /* M_DO_M_DO_EXT_H */ diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 23c6566e11..5806b380ff 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -54,6 +54,12 @@ public: static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); } static f32 getWidthF() { return 608.0f; } static f32 getHeightF() { return 448.0f; } + static int getMinY() { return 0; } + static int getMinX() { return 0; } + static int getMaxY() { return 448; } + static int getMaxX() { return 608; } + static ResTIMG* getFrameBufferTimg() { return mFrameBufferTimg; } + static void* getFrameBufferTex() { return mFrameBufferTex; } static void setFadeRate(f32 rate) { mFadeRate = rate; } static f32 getFadeRate() { return mFadeRate; } diff --git a/include/m_Do/m_Do_machine.h b/include/m_Do/m_Do_machine.h index 669ee1aecd..70bfe4ddd3 100644 --- a/include/m_Do/m_Do_machine.h +++ b/include/m_Do/m_Do_machine.h @@ -9,7 +9,7 @@ #include "m_Do/m_Do_main.h" void myHeapCheckRecursive(JKRHeap*); -u8 mDoMch_IsProgressiveMode(); +BOOL mDoMch_IsProgressiveMode(); bool exceptionReadPad(u32*, u32*); void exceptionRestart(); void myExceptionCallback(u16, OSContext*, u32, u32); diff --git a/include/m_Do/m_Do_machine_exception.h b/include/m_Do/m_Do_machine_exception.h index 22776bb2e4..1c98c7980e 100644 --- a/include/m_Do/m_Do_machine_exception.h +++ b/include/m_Do/m_Do_machine_exception.h @@ -3,11 +3,14 @@ #include "dolphin/types.h" +struct JUTConsole; + void print_f(char const*, ...); void print(char const*); void dispHeapInfo(); void dispGameInfo(); void dispDateInfo(); void dispConsoleToTerminal(); +void exception_addition(JUTConsole* pConsole); #endif /* M_DO_M_DO_MACHINE_EXCEPTION_H */ diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 1a238d69b3..e742c9f73c 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -14,11 +14,16 @@ void mDoMtx_ZXYrotM(Mtx, s16, s16, s16); void mDoMtx_ZrotS(Mtx, s16); void mDoMtx_YrotS(Mtx, s16); void mDoMtx_XrotS(Mtx, s16); +void mDoMtx_XrotM(Mtx mtx, s16 x); void mDoMtx_YrotM(Mtx, s16); void mDoMtx_MtxToRot(CMtxP, csXyz*); void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3); void mDoMtx_concatProjView(f32 const (*param_0)[4], f32 const (*param_1)[4], f32 (*param_2)[4]); +inline void mDoMtx_multVecSR(Mtx m, const Vec* src, Vec* dst) { + PSMTXMultVecSR(m, src, dst); +} + class mDoMtx_stack_c { public: /* 8000CCC8 */ bool push(); @@ -46,6 +51,9 @@ public: static void ZXYrotM(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotM(now, x, y, z); } static void YrotM(s16 y) { mDoMtx_YrotM(now, y); } static void YrotS(s16 y) { mDoMtx_YrotS(now, y); } + static void XrotM(s16 x) { mDoMtx_XrotM(now, x); } + static void inverse() { PSMTXInverse(now, now); } + static void concat(const Mtx m) { PSMTXConcat(now, m, now); } static Mtx now; static Mtx buffer[16]; diff --git a/include/msg/scrn/d_msg_scrn_base.h b/include/msg/scrn/d_msg_scrn_base.h index 143b9e6b4a..c4a6d36dea 100644 --- a/include/msg/scrn/d_msg_scrn_base.h +++ b/include/msg/scrn/d_msg_scrn_base.h @@ -1,6 +1,72 @@ #ifndef MSG_SCRN_D_MSG_SCRN_BASE_H #define MSG_SCRN_D_MSG_SCRN_BASE_H -#include "dolphin/types.h" +#include "d/msg/d_msg_out_font.h" +#include "d/com/d_com_inf_game.h" + +struct CharInfo_c; + +class dMsgScrnBase_c : public dDlst_base_c { +public: + /* 8023C0DC */ dMsgScrnBase_c(); + /* 8023C16C */ void init(); + /* 8023C32C */ void drawOutFont(f32, f32, f32); + /* 8023C360 */ void setString(char*, char*); + /* 8023C3EC */ void setRubyString(char*); + /* 8023C574 */ bool isTalkNow(); + + /* 8023C274 */ virtual void draw(); + /* 8023C124 */ virtual ~dMsgScrnBase_c(); + /* 80238C3C */ virtual void exec(); + /* 8023C234 */ virtual void multiDraw(); + /* 8023C300 */ virtual void drawSelf(); + /* 80238C44 */ virtual void setSelectString(char*, char*, char*); + /* 80238C40 */ virtual void setSelectRubyString(char*, char*, char*); + /* 80238C58 */ virtual void arwAnimeInit(); + /* 80238C54 */ virtual void arwAnimeMove(); + /* 80238C74 */ virtual void dotAnimeInit(); + /* 80238C70 */ virtual void dotAnimeMove(); + /* 80238C60 */ virtual bool isSelect(); + /* 80238C50 */ virtual void selectAnimeInit(u8, u8, f32, u8); + /* 80238C48 */ virtual bool selectAnimeMove(u8, u8, bool); + /* 80238C68 */ virtual bool selectAnimeEnd(); + /* 8023C458 */ virtual void fukiScale(f32); + /* 8023C480 */ virtual void fukiTrans(f32, f32); + /* 8023C4A4 */ virtual void fukiAlpha(f32); + /* 8023C4F4 */ virtual void fontAlpha(f32); + /* 80238C5C */ virtual void fukiPosCalc(u8); + + /* 0x04 */ J2DScreen* mpScreen; + /* 0x08 */ CPaneMgr* mpPmp_c; + /* 0x0C */ CPaneMgr* mpTm_c[7]; + /* 0x28 */ CPaneMgr* mpTmr_c[7]; + /* 0x44 */ COutFont_c* mpOutFont; + /* 0x48 */ dDlst_base_c* field_0x48; + /* 0x4C */ u32 field_0x4c; + /* 0x50 */ CharInfo_c* mCharInfoPtr; + /* 0x54 */ u32 field_0x54; + /* 0x58 */ J2DTextBox::TFontSize mFontSize; + /* 0x60 */ f32 mRubySize; + /* 0x64 */ f32 mTextBoxPosX; + /* 0x68 */ f32 mTextBoxPosY; + /* 0x6C */ f32 mTextBoxScaleX; + /* 0x70 */ f32 mTextBoxScaleY; + /* 0x74 */ f32 mTBoxWidth; + /* 0x78 */ f32 mTBoxHeight; + /* 0x7C */ f32 mLineSpace; + /* 0x80 */ f32 mCharSpace; + /* 0x84 */ f32 mRubyCharSpace; + /* 0x88 */ f32 mSelFontSize; + /* 0x8C */ f32 mSelRubySize; + /* 0x90 */ f32 mSelTextBoxPosX[3]; + /* 0x9C */ f32 mSelTextBoxPosY[3]; + /* 0xA8 */ f32 mSelTBoxWidth; + /* 0xAC */ f32 mSelCharSpace; + /* 0xB0 */ f32 mSelRubyCharSpace; + /* 0xB4 */ f32 mTextBoxPosOffsetY; + /* 0xB8 */ f32 field_0xb8; + /* 0xBC */ f32 mCharAlphaRate; + /* 0xC0 */ u16 mMsgID; +}; #endif /* MSG_SCRN_D_MSG_SCRN_BASE_H */ diff --git a/include/msg/scrn/d_msg_scrn_boss.h b/include/msg/scrn/d_msg_scrn_boss.h index 8f0460725b..bc1b6775ba 100644 --- a/include/msg/scrn/d_msg_scrn_boss.h +++ b/include/msg/scrn/d_msg_scrn_boss.h @@ -1,6 +1,23 @@ #ifndef MSG_SCRN_D_MSG_SCRN_BOSS_H #define MSG_SCRN_D_MSG_SCRN_BOSS_H -#include "dolphin/types.h" +#include "msg/scrn/d_msg_scrn_base.h" + +class dMsgScrnBoss_c : public dMsgScrnBase_c { +public: + /* 8023C5C8 */ dMsgScrnBoss_c(); + + /* 8023C928 */ virtual ~dMsgScrnBoss_c(); + /* 8023CA88 */ virtual void exec(); + /* 8023CB98 */ virtual void drawSelf(); + /* 8023CC7C */ virtual void fukiScale(f32); + /* 8023CC80 */ virtual void fukiTrans(f32, f32); + /* 8023CC84 */ virtual void fontAlpha(f32); + /* 8023CBF0 */ virtual void fukiAlpha(f32); + +private: + /* 0xC4 */ CPaneMgr* mpBaseParent; + /* 0xC8 */ CPaneMgr* mpFontParent; +}; #endif /* MSG_SCRN_D_MSG_SCRN_BOSS_H */ diff --git a/include/msg/scrn/d_msg_scrn_explain.h b/include/msg/scrn/d_msg_scrn_explain.h index 5fdf7b869e..aaee0f0a7c 100644 --- a/include/msg/scrn/d_msg_scrn_explain.h +++ b/include/msg/scrn/d_msg_scrn_explain.h @@ -1,6 +1,70 @@ #ifndef MSG_SCRN_D_MSG_SCRN_EXPLAIN_H #define MSG_SCRN_D_MSG_SCRN_EXPLAIN_H -#include "dolphin/types.h" +#include "msg/scrn/d_msg_scrn_base.h" +#include "JSystem/J2DGraph/J2DOrthoGraph.h" + +class dMsgScrnArrow_c; +class dMsgScrn3Select_c; + +class dMsgScrnExplain_c { +public: + /* 8023CC88 */ dMsgScrnExplain_c(STControl*, u8, bool, u8); + /* 8023D7D8 */ void move(); + /* 8023D918 */ void draw(J2DOrthoGraph*); + /* 8023DAD0 */ void wait_init(); + /* 8023DAD4 */ void wait_proc(); + /* 8023DAD8 */ void open_request_init(); + /* 8023DADC */ void open_request_proc(); + /* 8023DBE4 */ void open_init(); + /* 8023DC7C */ void open_proc(); + /* 8023DD90 */ void move_init(); + /* 8023DDB4 */ void move_proc(); + /* 8023DE8C */ void move_select_init(); + /* 8023E0F4 */ void move_select_proc(); + /* 8023E43C */ void close_init(); + /* 8023E448 */ void close_proc(); + /* 8023E558 */ bool openExplain(u32, u8, u8, u8, bool); + /* 8023E5CC */ void getAlphaRatio(); + /* 8023E640 */ void checkTriggerA(); + /* 8023E654 */ void checkTriggerB(); + + /* 8023D538 */ virtual ~dMsgScrnExplain_c(); + + u8 getStatus() { return mStatus; } + void setForceSelect() { mForceSelect = 1; } + void setKeyWaitTimer(s16 timer) { mKeyWaitTimer = timer; } + +private: + /* 0x04 */ dMsgString_c* mpString_c; + /* 0x08 */ CPaneMgr* mpTm_c[2]; + /* 0x10 */ CPaneMgr* field_0x10[2]; + /* 0x18 */ CPaneMgr* mpMg_c[2]; + /* 0x20 */ CPaneMgr* mpRoot_c[2]; + /* 0x28 */ CPaneMgr* mpArw_c; + /* 0x2C */ J2DScreen* mpScreen; + /* 0x30 */ J2DScreen* mpTxScreen; + /* 0x34 */ dMsgScrnArrow_c* mpArrow_c; + /* 0x38 */ dMsgScrn3Select_c* mpSelect_c; + /* 0x3C */ COutFont_c* mpOutFont; + /* 0x40 */ J2DPicture* mpBackTex; + /* 0x44 */ STControl* field_0x44; + /* 0x48 */ f32 field_0x48; + /* 0x4C */ f32 field_0x4c; + /* 0x50 */ f32 field_0x50; + /* 0x54 */ u32 field_0x54; + /* 0x58 */ u8 field_0x58; + /* 0x5A */ s16 field_0x5a; + /* 0x5C */ s16 field_0x5c; + /* 0x5E */ s16 mKeyWaitTimer; + /* 0x60 */ u8 mStatus; + /* 0x61 */ u8 mSelCursor; + /* 0x62 */ u8 field_0x62; + /* 0x63 */ u8 field_0x63; + /* 0x64 */ u8 field_0x64; + /* 0x65 */ u8 mForceSelect; + /* 0x66 */ u8 field_0x66; + /* 0x67 */ u8 field_0x67; +}; // Size: 0x68 #endif /* MSG_SCRN_D_MSG_SCRN_EXPLAIN_H */ diff --git a/include/rel/d/a/d_a_horse/d_a_horse.h b/include/rel/d/a/d_a_horse/d_a_horse.h index 9db68e95be..fc9d8433af 100644 --- a/include/rel/d/a/d_a_horse/d_a_horse.h +++ b/include/rel/d/a/d_a_horse/d_a_horse.h @@ -152,11 +152,16 @@ public: bool checkResetStateFlg0(daHorse_RFLG0 flag) { return mResetStateFlg0 & flag; } bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; } bool checkStateFlg0(daHorse_FLG0 flag) { return mStateFlg0 & flag; } + f32 getNormalMaxSpeedF() { return mNormalMaxSpeedF; } + void changeDemoMoveAngle(s16 angle) { mDemoMoveAngle = angle; } + void setDemoStickR(f32 stick) { mDemoStickR = stick; } + void i_changeDemoMode(u32 param_0, int param_1) { field_0x1740 = param_0; field_0x1728 = param_1; } + void i_changeOriginalDemo() { field_0x16b8 = 3; field_0x1728 = 0; } static u8 const m_footJointTable[8]; static f32 const m_callLimitDistance2; -private: +//private: /* 0x0568 */ u8 field_0x568[8]; /* 0x0570 */ J3DModel* field_0x570; /* 0x0574 */ void* field_0x574; @@ -190,7 +195,7 @@ private: /* 0x16BB */ u8 mRodeoPointCnt; /* 0x16BC */ u8 field_0x16bc[0x36]; /* 0x16F2 */ s16 mAimNeckAngleY; - /* 0x16F4 */ u8 field_0x16f4[0xA]; + /* 0x16F4 */ u8 field_0x16f4[0x8]; /* 0x16FC */ s16 mDemoMoveAngle; /* 0x16FE */ u8 field_0x16fe[4]; /* 0x1702 */ s16 field_0x1702; diff --git a/include/rel/d/a/d_a_scene_exit/d_a_scene_exit.h b/include/rel/d/a/d_a_scene_exit/d_a_scene_exit.h index e3f6c4cb18..8d92f22c07 100644 --- a/include/rel/d/a/d_a_scene_exit/d_a_scene_exit.h +++ b/include/rel/d/a/d_a_scene_exit/d_a_scene_exit.h @@ -2,5 +2,24 @@ #define D_A_SCENE_EXIT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daScex_c : public fopAc_ac_c { +public: + daScex_c() {} + /* 80485838 */ int checkWork(); + /* 80485A50 */ int execute(); + + u8 getArg1() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } + u8 getArg0() { return fopAcM_GetParam(this); } + u32 getSwNo() { return fopAcM_GetParam(this) >> 0x18; } + u16 getOffEventBit() { return mOrig.mAngle.z & 0xFFF; } + u16 getOnEventBit() { return mOrig.mAngle.x & 0xFFF; } + void setSceneChangeOK() { mSceneChangeOK = true; } + + /* 0x568 */ Mtx mMatrix; + /* 0x598 */ u8 field_0x598; + /* 0x599 */ bool mSceneChangeOK; +}; #endif /* D_A_SCENE_EXIT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h index ee58264a42..9e225e4156 100644 --- a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h +++ b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h @@ -27,14 +27,14 @@ public: /* 80031CF8 */ static void clrSaveFlag(); /* 80031D04 */ static void setSaveFlag(); - /* 80031D10 */ void chkSaveFlag(); + /* 80031D10 */ static bool chkSaveFlag(); /* 80031D24 */ void getPos(int); /* 80031D38 */ void savePos(int, cXyz); - /* 80031D64 */ void onSttsFlag(int, u8); - /* 80031D78 */ void offSttsFlag(int, u8); - /* 80031D8C */ void chkSttsFlag(int, u8); - /* 80031DAC */ void setRoomNo(int, s8); - /* 80031DB8 */ void getRoomNo(int); + /* 80031D64 */ static void onSttsFlag(int, u8); + /* 80031D78 */ static void offSttsFlag(int, u8); + /* 80031D8C */ static u8 chkSttsFlag(int, u8); + /* 80031DAC */ static void setRoomNo(int, s8); + /* 80031DB8 */ static s8 getRoomNo(int); /* 8046F6A4 */ void data(); /* 8046F6BC */ void getArcName(); /* 8046F6D4 */ void getBmdName(); @@ -184,6 +184,10 @@ public: s32 getType() { return mType; } static u8 const mData[2072]; + static u8 mPos[60]; + static u8 mSttsFlag[5]; + static s8 mRoomNo[5]; + static bool mSaveFlag; private: /* 0x568 */ u8 field_0x568[8]; diff --git a/include/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h b/include/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h index d4f27442ff..94531b4bcf 100644 --- a/include/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h +++ b/include/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h @@ -2,5 +2,29 @@ #define D_A_TAG_MAGNE_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +struct cBgS_PolyInfo; + +class daTagMagne_c : public fopAc_ac_c { +public: + /* 80031B50 */ static BOOL checkMagnetCode(cBgS_PolyInfo&); + /* 80031BF4 */ int checkMagneA(); + /* 80031C48 */ int checkMagneB(); + /* 80031C9C */ int checkMagneC(); + /* 805A5498 */ int Create(); + /* 805A54DC */ int create(); + /* 805A5578 */ int _delete(); + + u8 getSwNo1() { return fopAcM_GetParamBit(this, 0, 8); } + u8 getSwNo2() { return fopAcM_GetParamBit(this, 8, 8); } + u8 getSwNo3() { return fopAcM_GetParamBit(this, 16, 8); } + + static daTagMagne_c* mTagMagne; + + /* 0x568 */ u8 mSwNo1; + /* 0x569 */ u8 mSwNo2; + /* 0x56A */ u8 mSwNo3; +}; #endif /* D_A_TAG_MAGNE_H */ diff --git a/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp b/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp index 9e0ed40e50..7ae1372960 100644 --- a/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp +++ b/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp @@ -256,7 +256,7 @@ asm void J2DTextBoxEx::setFont(JUTFont* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DTextBoxEx::getFont() const { +asm JUTFont* J2DTextBoxEx::getFont() const { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBoxEx/getFont__12J2DTextBoxExCFv.s" } diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp index 73e6a7dbad..fad1d82be9 100644 --- a/libs/JSystem/JKernel/JKRAram.cpp +++ b/libs/JSystem/JKernel/JKRAram.cpp @@ -62,7 +62,6 @@ extern "C" void checkCompressed__9JKRDecompFPUc(); extern "C" void __dt__10JSUPtrListFv(); extern "C" void initiate__10JSUPtrListFv(); extern "C" void panic_f__12JUTExceptionFPCciPCce(); -extern "C" void DCStoreRangeNoSync(); extern "C" void ARQInit(); extern "C" void __register_global_object(); extern "C" void _savegpr_22(); diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index 10f570d76a..5f9c202d37 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -93,7 +93,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern bool data_804508B0; extern "C" void* __vt__7JKRHeap; // diff --git a/libs/JSystem/JMessage/processor.cpp b/libs/JSystem/JMessage/processor.cpp index 029f9585aa..03ed1f17ab 100644 --- a/libs/JSystem/JMessage/processor.cpp +++ b/libs/JSystem/JMessage/processor.cpp @@ -214,7 +214,8 @@ bool JMessage::TReference::do_word(u32 param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JMessage::TProcessor::~TProcessor() { +// asm JMessage::TProcessor::~TProcessor() { +extern "C" asm void __dt__Q28JMessage10TProcessorFv() { nofralloc #include "asm/JSystem/JMessage/processor/__dt__Q28JMessage10TProcessorFv.s" } @@ -457,7 +458,8 @@ asm JMessage::TSequenceProcessor::TSequenceProcessor(JMessage::TReference const* #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JMessage::TSequenceProcessor::~TSequenceProcessor() { +// asm JMessage::TSequenceProcessor::~TSequenceProcessor() { +extern "C" asm void __dt__Q28JMessage18TSequenceProcessorFv() { nofralloc #include "asm/JSystem/JMessage/processor/__dt__Q28JMessage18TSequenceProcessorFv.s" } @@ -741,7 +743,8 @@ asm JMessage::TRenderingProcessor::TRenderingProcessor(JMessage::TReference cons #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JMessage::TRenderingProcessor::~TRenderingProcessor() { +//asm JMessage::TRenderingProcessor::~TRenderingProcessor() { +extern "C" asm void __dt__Q28JMessage19TRenderingProcessorFv() { nofralloc #include "asm/JSystem/JMessage/processor/__dt__Q28JMessage19TRenderingProcessorFv.s" } diff --git a/libs/JSystem/JUtility/JUTCacheFont.cpp b/libs/JSystem/JUtility/JUTCacheFont.cpp index a511fd6fef..b1f2a23504 100644 --- a/libs/JSystem/JUtility/JUTCacheFont.cpp +++ b/libs/JSystem/JUtility/JUTCacheFont.cpp @@ -11,89 +11,10 @@ // Types: // -struct _GXTexMapID {}; - -struct ResFONT {}; - -struct JUtility { - struct TColor {}; -}; - -struct JUTFont { - struct TWidth {}; - - /* 802DED24 */ void initialize_state(); -}; - -struct JUTResFont { - /* 802DDFD8 */ void getResFont() const; - /* 802DDFE0 */ void getFontType() const; - /* 802DDFEC */ void getLeading() const; - /* 802DDFF8 */ void getWidth() const; - /* 802DE004 */ void getAscent() const; - /* 802DE010 */ void getDescent() const; - /* 802DE01C */ void getHeight() const; - /* 802DEF48 */ JUTResFont(); - /* 802DF000 */ ~JUTResFont(); - /* 802DF08C */ void deleteMemBlocks_ResFont(); - /* 802DF0B0 */ void initialize_state(); - /* 802DF584 */ void setGX(JUtility::TColor, JUtility::TColor); - /* 802DF48C */ void setGX(); - /* 802DF7C4 */ void drawChar_scale(f32, f32, f32, f32, int, bool); - /* 802DFC64 */ void getWidthEntry(int, JUTFont::TWidth*) const; - /* 802DFD0C */ void getCellWidth() const; - /* 802DFD58 */ void getCellHeight() const; - /* 802DFDA4 */ void isLeadByte(int) const; - - static void* const saoAboutEncoding_[3]; -}; - struct JUTException { /* 802E21FC */ void panic_f(char const*, int, char const*, ...); }; -struct JKRHeap {}; - -struct JUTCacheFont { - struct TGlyphCacheInfo {}; - - struct TCachePage {}; - - /* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*); - /* 802DD208 */ ~JUTCacheFont(); - /* 802DD29C */ void deleteMemBlocks_CacheFont(); - /* 802DD320 */ void initialize_state(); - /* 802DD35C */ void getMemorySize(ResFONT const*, u16*, u32*, u16*, u32*, u16*, u32*, u32*); - /* 802DD4EC */ void initiate(ResFONT const*, void*, u32, JKRHeap*); - /* 802DD54C */ void internal_initiate(ResFONT const*, void*, u32, JKRHeap*); - /* 802DD650 */ void allocArea(void*, u32, JKRHeap*); - /* 802DD804 */ void allocArray(JKRHeap*); - /* 802DD8EC */ void setBlock(); - /* 802DDB0C */ void determineBlankPage(); - /* 802DDBBC */ void getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo*, JUTCacheFont::TCachePage*, - int*, int*); - /* 802DDCE4 */ void loadImage(int, _GXTexMapID); - /* 802DDD98 */ void loadCache_char_subroutine(int*, bool); - /* 802DDEE0 */ void invalidiateAllCache(); - /* 802DDF68 */ void unlink(JUTCacheFont::TGlyphCacheInfo*); - /* 802DDFAC */ void prepend(JUTCacheFont::TGlyphCacheInfo*); -}; - -struct JKRExpandSwitch {}; - -struct JKRAramHeap { - struct EAllocMode {}; - - /* 802D2FBC */ void alloc(u32, JKRAramHeap::EAllocMode); -}; - -struct JKRAram { - /* 802D233C */ void mainRamToAram(u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*); - /* 802D25B4 */ void aramToMainRam(u32, u8*, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*); - - static u8 sAramObject[4]; -}; - // // Forward References: // @@ -129,7 +50,6 @@ extern "C" extern char const* const JUTCacheFont__stringBase0; // External References: // -SECTION_INIT void memcpy(); extern "C" void* __nw__FUlP7JKRHeapi(); extern "C" void* __nwa__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); @@ -150,11 +70,9 @@ extern "C" void getCellWidth__10JUTResFontCFv(); extern "C" void getCellHeight__10JUTResFontCFv(); extern "C" void isLeadByte__10JUTResFontCFi(); extern "C" void panic_f__12JUTExceptionFPCciPCce(); -extern "C" void JUTReportConsole(); -extern "C" void GXInitTexObj(); -extern "C" void GXInitTexObjLOD(); -extern "C" void GXLoadTexObj(); +extern "C" void JUTReportConsole(const char*); extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_21(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -164,6 +82,7 @@ extern "C" void _restgpr_21(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); +extern "C" void _restgpr_14(); extern "C" void* const saoAboutEncoding___10JUTResFont[3]; extern "C" u8 sAramObject__7JKRAram[4]; @@ -171,74 +90,63 @@ extern "C" u8 sAramObject__7JKRAram[4]; // Declarations: // -/* ############################################################################################## */ -/* 803CC540-803CC590 029660 004C+04 2/2 0/0 0/0 .data __vt__12JUTCacheFont */ -SECTION_DATA extern void* __vt__12JUTCacheFont[19 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12JUTCacheFontFv, - (void*)setGX__10JUTResFontFv, - (void*)setGX__10JUTResFontFQ28JUtility6TColorQ28JUtility6TColor, - (void*)drawChar_scale__10JUTResFontFffffib, - (void*)getLeading__10JUTResFontCFv, - (void*)getAscent__10JUTResFontCFv, - (void*)getDescent__10JUTResFontCFv, - (void*)getHeight__10JUTResFontCFv, - (void*)getWidth__10JUTResFontCFv, - (void*)getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth, - (void*)getCellWidth__10JUTResFontCFv, - (void*)getCellHeight__10JUTResFontCFv, - (void*)getFontType__10JUTResFontCFv, - (void*)getResFont__10JUTResFontCFv, - (void*)isLeadByte__10JUTResFontCFi, - (void*)loadImage__12JUTCacheFontFi11_GXTexMapID, - (void*)setBlock__12JUTCacheFontFv, - /* padding */ - NULL, -}; - /* 802DD188-802DD208 2D7AC8 0080+00 0/0 1/1 0/0 .text __ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTCacheFont::JUTCacheFont(ResFONT const* param_0, u32 param_1, JKRHeap* param_2) { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/__ct__12JUTCacheFontFPC7ResFONTUlP7JKRHeap.s" +JUTCacheFont::JUTCacheFont(ResFONT const* p_fontRes, u32 cacheSize, JKRHeap* p_heap) { + initialize_state(); + JUTResFont::initialize_state(); + JUTFont::initialize_state(); + initiate(p_fontRes, NULL, cacheSize, p_heap); } -#pragma pop /* 802DD208-802DD29C 2D7B48 0094+00 1/0 0/0 0/0 .text __dt__12JUTCacheFontFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTCacheFont::~JUTCacheFont() { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/__dt__12JUTCacheFontFv.s" +JUTCacheFont::~JUTCacheFont() { + if (isValid()) { + deleteMemBlocks_CacheFont(); + initialize_state(); + + deleteMemBlocks_ResFont(); + JUTResFont::initialize_state(); + + JUTFont::initialize_state(); + } } -#pragma pop /* 802DD29C-802DD320 2D7BDC 0084+00 3/3 0/0 0/0 .text deleteMemBlocks_CacheFont__12JUTCacheFontFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTCacheFont::deleteMemBlocks_CacheFont() { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/deleteMemBlocks_CacheFont__12JUTCacheFontFv.s" +void JUTCacheFont::deleteMemBlocks_CacheFont() { + if (field_0xb0 != 0) { + delete[] mCacheBuffer; + } + + delete field_0xac; + delete mInf1Ptr; + delete field_0x50; + delete field_0x7c; + delete field_0x80; + delete field_0x84; } -#pragma pop /* 802DD320-802DD35C 2D7C60 003C+00 3/3 0/0 0/0 .text initialize_state__12JUTCacheFontFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTCacheFont::initialize_state() { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/initialize_state__12JUTCacheFontFv.s" +void JUTCacheFont::initialize_state() { + field_0xb0 = 0; + mCacheBuffer = NULL; + + field_0xac = NULL; + mInf1Ptr = NULL; + field_0x7c = NULL; + field_0x80 = NULL; + field_0x84 = NULL; + field_0x50 = NULL; + + mPagingType = PAGE_TYPE_0; + mMaxSheetSize = 0; + + mCacheBuffer = NULL; + field_0x9c = NULL; + field_0xa0 = NULL; } -#pragma pop /* ############################################################################################## */ /* 8039D2F0-8039D2F0 029950 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -249,46 +157,148 @@ SECTION_DEAD static char const* const stringBase_8039D2F0 = "JUTCacheFont: Unkno /* 802DD35C-802DD4EC 2D7C9C 0190+00 1/1 0/0 0/0 .text * getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl */ +#ifdef NONMATCHING +struct BlockHeader { + u32 magic; + u32 size; +}; + +int JUTCacheFont::getMemorySize(ResFONT const* p_font, u16* o_widCount, u32* o_widSize, + u16* o_glyCount, u32* o_glySize, u16* o_mapCount, u32* o_mapSize, + u32* o_glyTexSize) { + if (p_font == NULL) { + return 0; + } + + u16 widBlockCount = 0; + u16 glyBlockCount = 0; + u16 mapBlockCount = 0; + u32 totalWidSize = 0; + u32 totalGlySize = 0; + u32 totalMapSize = 0; + u32 maxGlyTexSize = 0; + u32 glyTexSize; + + u8* fontInf = (u8*)&p_font + 0x20; + for (int i = 0; i < p_font->numBlocks; i++) { + switch (((BlockHeader*)fontInf)->magic) { + case 'INF1': + break; + case 'WID1': + totalWidSize += ((BlockHeader*)fontInf)->size; + widBlockCount++; + break; + case 'GLY1': + totalGlySize += ((BlockHeader*)fontInf)->size; + glyTexSize = ((ResFONT::GLY1*)fontInf)->textureSize; + glyBlockCount++; + if (glyTexSize > maxGlyTexSize) { + maxGlyTexSize = glyTexSize; + } + break; + case 'MAP1': + totalMapSize += ((BlockHeader*)fontInf)->size; + mapBlockCount++; + break; + default: + JUTReportConsole("JUTCacheFont: Unknown data block\n"); + break; + } + + fontInf += ((BlockHeader*)fontInf)->size; + } + + if (o_widCount != NULL) { + *o_widCount = widBlockCount; + } + + if (o_glyCount != NULL) { + *o_glyCount = glyBlockCount; + } + + if (o_mapCount != NULL) { + *o_mapCount = mapBlockCount; + } + + if (o_widSize != NULL) { + *o_widSize = totalWidSize; + } + + if (o_glySize != NULL) { + *o_glySize = totalGlySize; + } + + if (o_mapSize != NULL) { + *o_mapSize = totalMapSize; + } + + if (o_glyTexSize != NULL) { + *o_glyTexSize = maxGlyTexSize; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTCacheFont::getMemorySize(ResFONT const* param_0, u16* param_1, u32* param_2, +asm int JUTCacheFont::getMemorySize(ResFONT const* param_0, u16* param_1, u32* param_2, u16* param_3, u32* param_4, u16* param_5, u32* param_6, u32* param_7) { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl.s" } #pragma pop +#endif /* 802DD4EC-802DD54C 2D7E2C 0060+00 1/1 0/0 0/0 .text * initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTCacheFont::initiate(ResFONT const* param_0, void* param_1, u32 param_2, - JKRHeap* param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s" +int JUTCacheFont::initiate(ResFONT const* p_fontRes, void* param_1, u32 param_2, + JKRHeap* p_heap) { + if (!internal_initiate(p_fontRes, param_1, param_2, p_heap)) { + deleteMemBlocks_CacheFont(); + deleteMemBlocks_ResFont(); + JUTFont::initialize_state(); + mValid = false; + return 0; + } + + return 1; } -#pragma pop /* 802DD54C-802DD650 2D7E8C 0104+00 1/1 0/0 0/0 .text * internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTCacheFont::internal_initiate(ResFONT const* param_0, void* param_1, u32 param_2, +bool JUTCacheFont::internal_initiate(ResFONT const* p_fontRes, void* param_1, u32 param_2, JKRHeap* param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/internal_initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap.s" + deleteMemBlocks_CacheFont(); + initialize_state(); + deleteMemBlocks_ResFont(); + JUTResFont::initialize_state(); + JUTFont::initialize_state(); + + if (p_fontRes == NULL) { + return false; + } + + mResFont = p_fontRes; + mValid = true; + getMemorySize(p_fontRes, &mWid1BlockNum, &mTotalWidSize, &mGly1BlockNum, &mTotalGlySize, &mMap1BlockNum, &mTotalMapSize, &mMaxSheetSize); + + if (!allocArea(param_1, param_2, param_3)) { + return false; + } else if (!allocArray(param_3)) { + return false; + } + + setBlock(); + return true; } -#pragma pop /* 802DD650-802DD804 2D7F90 01B4+00 1/1 0/0 0/0 .text allocArea__12JUTCacheFontFPvUlP7JKRHeap */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTCacheFont::allocArea(void* param_0, u32 param_1, JKRHeap* param_2) { +asm bool JUTCacheFont::allocArea(void* param_0, u32 param_1, JKRHeap* param_2) { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/allocArea__12JUTCacheFontFPvUlP7JKRHeap.s" } @@ -298,7 +308,7 @@ asm void JUTCacheFont::allocArea(void* param_0, u32 param_1, JKRHeap* param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTCacheFont::allocArray(JKRHeap* param_0) { +asm bool JUTCacheFont::allocArray(JKRHeap* param_0) { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/allocArray__12JUTCacheFontFP7JKRHeap.s" } @@ -413,7 +423,7 @@ asm void JUTCacheFont::prepend(JUTCacheFont::TGlyphCacheInfo* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResFont::getResFont() const { +asm ResFONT* JUTResFont::getResFont() const { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getResFont__10JUTResFontCFv.s" } @@ -423,7 +433,7 @@ asm void JUTResFont::getResFont() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResFont::getFontType() const { +asm u16 JUTResFont::getFontType() const { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getFontType__10JUTResFontCFv.s" } @@ -433,7 +443,7 @@ asm void JUTResFont::getFontType() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResFont::getLeading() const { +asm u16 JUTResFont::getLeading() const { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getLeading__10JUTResFontCFv.s" } @@ -443,7 +453,7 @@ asm void JUTResFont::getLeading() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResFont::getWidth() const { +asm s32 JUTResFont::getWidth() const { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getWidth__10JUTResFontCFv.s" } @@ -453,7 +463,7 @@ asm void JUTResFont::getWidth() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResFont::getAscent() const { +asm u16 JUTResFont::getAscent() const { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getAscent__10JUTResFontCFv.s" } @@ -463,7 +473,7 @@ asm void JUTResFont::getAscent() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResFont::getDescent() const { +asm u16 JUTResFont::getDescent() const { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getDescent__10JUTResFontCFv.s" } @@ -473,7 +483,7 @@ asm void JUTResFont::getDescent() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResFont::getHeight() const { +asm s32 JUTResFont::getHeight() const { nofralloc #include "asm/JSystem/JUtility/JUTCacheFont/getHeight__10JUTResFontCFv.s" } diff --git a/libs/JSystem/JUtility/JUTConsole.cpp b/libs/JSystem/JUtility/JUTConsole.cpp index a8d8eab20e..02f6d398ae 100644 --- a/libs/JSystem/JUtility/JUTConsole.cpp +++ b/libs/JSystem/JUtility/JUTConsole.cpp @@ -5,31 +5,13 @@ #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JUtility/JUTDirectPrint.h" +#include "JSystem/JUtility/JUTVideo.h" +#include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "MSL_C/MSL_Common/Src/printf.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JUTVideo { - static u8 sManager[4]; -}; - -struct JUTDirectPrint { - /* 802E4288 */ void erase(int, int, int, int); - /* 802E46D8 */ void drawString(u16, u16, char*); - /* 802E4798 */ void setCharColor(JUtility::TColor); - - static u8 sDirectPrint[4 + 4 /* padding */]; -}; - -struct J2DOrthoGraph { - /* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32); - /* 802E97B4 */ void setPort(); -}; - // // Forward References: // @@ -106,47 +88,45 @@ JUTConsoleManager* JUTConsoleManager::sManager; /* 802E7354-802E73E4 2E1C94 0090+00 0/0 1/1 0/0 .text create__10JUTConsoleFUiUiP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTConsole* JUTConsole::create(unsigned int param_0, unsigned int param_1, JKRHeap* param_2) { - nofralloc -#include "asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiUiP7JKRHeap.s" +JUTConsole* JUTConsole::create(unsigned int param_0, unsigned int maxLines, JKRHeap* p_heap) { + JUTConsoleManager* pManager = JUTConsoleManager::sManager; + + void* buffer = JKRHeap::alloc(getObjectSizeFromBufferSize(param_0, maxLines), 0, p_heap); + u8* tmpBuf = (u8*)buffer; + + JUTConsole* newConsole = new (tmpBuf) JUTConsole(param_0, maxLines, true); + newConsole->mBuf = tmpBuf + sizeof(JUTConsole); + newConsole->clear(); + + pManager->appendConsole(newConsole); + return newConsole; } -#pragma pop /* 802E73E4-802E746C 2E1D24 0088+00 0/0 1/1 0/0 .text create__10JUTConsoleFUiPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTConsole* JUTConsole::create(unsigned int param_0, void* param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiPvUl.s" -} -#pragma pop +JUTConsole* JUTConsole::create(unsigned int param_0, void* buffer, u32 bufferSize) { + JUTConsoleManager* pManager = JUTConsoleManager::sManager; + u32 maxLines = getLineFromObjectSize(bufferSize, param_0); -/* ############################################################################################## */ -/* 803CC9A8-803CC9B8 029AC8 000C+04 2/2 0/0 0/0 .data __vt__10JUTConsole */ -SECTION_DATA extern void* __vt__10JUTConsole[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10JUTConsoleFv, - /* padding */ - NULL, -}; + JUTConsole* newConsole = new (buffer) JUTConsole(param_0, maxLines, false); + newConsole->mBuf = (u8*)buffer + sizeof(JUTConsole); + newConsole->clear(); + + pManager->appendConsole(newConsole); + return newConsole; +} /* 802E746C-802E755C 2E1DAC 00F0+00 2/2 0/0 0/0 .text __ct__10JUTConsoleFUiUib */ -JUTConsole::JUTConsole(unsigned int param_0, unsigned int param_1, bool param_2) { +JUTConsole::JUTConsole(unsigned int param_0, unsigned int maxLines, bool param_2) { field_0x2c = param_2; field_0x20 = param_0; - field_0x24 = param_1; + mMaxLines = maxLines; mPositionX = 30; mPositionY = 50; mHeight = 20; - if (mHeight > field_0x24) { - mHeight = field_0x24; + if (mHeight > mMaxLines) { + mHeight = mMaxLines; } mFont = NULL; @@ -168,13 +148,13 @@ JUTConsole::~JUTConsole() { /* 802E75CC-802E75DC 2E1F0C 0010+00 1/1 0/0 0/0 .text * getObjectSizeFromBufferSize__10JUTConsoleFUiUi */ -size_t JUTConsole::getObjectSizeFromBufferSize(unsigned int param_0, unsigned int param_1) { - return (param_0 + 2) * param_1 + sizeof(JUTConsole); +size_t JUTConsole::getObjectSizeFromBufferSize(unsigned int param_0, unsigned int maxLines) { + return (param_0 + 2) * maxLines + sizeof(JUTConsole); } /* 802E75DC-802E75EC 2E1F1C 0010+00 1/1 1/1 0/0 .text getLineFromObjectSize__10JUTConsoleFUlUi */ -size_t JUTConsole::getLineFromObjectSize(u32 param_0, unsigned int param_1) { - return (param_0 - sizeof(JUTConsole)) / (param_1 + 2); +size_t JUTConsole::getLineFromObjectSize(u32 bufferSize, unsigned int param_1) { + return (bufferSize - sizeof(JUTConsole)) / (param_1 + 2); } /* 802E75EC-802E7648 2E1F2C 005C+00 2/2 2/2 0/0 .text clear__10JUTConsoleFv */ @@ -184,7 +164,7 @@ void JUTConsole::clear() { field_0x38 = 0; field_0x3c = 0; - for (int i = 0; i < field_0x24; i++) { + for (int i = 0; i < mMaxLines; i++) { setLineAttr(i, 0); } setLineAttr(0, -1); @@ -230,6 +210,63 @@ SECTION_SDATA2 static f64 lit_2471 = 4503601774854144.0 /* cast s32 to float */; /* 802E7648-802E7BB8 2E1F88 0570+00 2/2 0/0 0/0 .text * doDraw__10JUTConsoleCFQ210JUTConsole12EConsoleType */ +#ifdef NONMATCHING +void JUTConsole::doDraw(JUTConsole::EConsoleType consoleType) const { + if (mVisible && (mFont != NULL || consoleType == CONSOLE_TYPE_2)) { + if (mHeight != 0) { + bool temp_r30 = consoleType == CONSOLE_TYPE_0; + f32 temp_f31 = 2.0f + mFontSizeY; + + if (consoleType != CONSOLE_TYPE_2) { + if (JUTVideo::getManager() == NULL) { + J2DOrthoGraph ortho(0.0f, 0.0f, 640.0f, 480.0f, -1.0f, 1.0f); + ortho.setPort(); + } else { + J2DOrthoGraph ortho(0.0f, 0.0f, JUTVideo::getManager()->getFbWidth(), JUTVideo::getManager()->getEfbHeight(), -1.0f, 1.0f); + ortho.setPort(); + } + + const JUtility::TColor* color; + if (temp_r30) { + color = &field_0x60; + } else { + color = &field_0x5c; + } + + J2DFillBox(mPositionX - 2, (f32)(mPositionY - temp_f31), 4.0f + (mFontSizeX * (f32)field_0x20), temp_f31 * (f32)mHeight, *color); + mFont->setGX(); + + if (temp_r30) { + if ((diffIndex(field_0x30, field_0x38) - mHeight) + 1 <= 1) { + mFont->setCharColor(JUtility::TColor(255, 255, 255, 255)); + } else if (field_0x30 == field_0x34) { + mFont->setCharColor(JUtility::TColor(255, 230, 230, 255)); + } else { + mFont->setCharColor(JUtility::TColor(230, 230, 255, 255)); + } + } else { + mFont->setCharColor(JUtility::TColor(230, 230, 230, 255)); + } + } else { + JUTDirectPrint::getManager()->erase(mPositionX - 3, mPositionY - 2, (field_0x20 * 6) + 6, (temp_f31 * mHeight) + 4); + JUTDirectPrint::getManager()->setCharColor(JUtility::TColor(255, 255, 255, 255)); + } + + for (int i = 0, j = field_0x30; i > mHeight && j != field_0x34; i++, j = nextIndex(j)) { + char* str = (char*)getLinePtr(j); + + if (str[-1] != 0) { + if (consoleType != CONSOLE_TYPE_2) { + mFont->drawString_scale(mPositionX, (mPositionY + i) * temp_f31, mFontSizeX, mFontSizeY, str, true); + } else { + JUTDirectPrint::getManager()->drawString(mPositionX, (mPositionY + i) * temp_f31, str); + } + } + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -238,6 +275,7 @@ asm void JUTConsole::doDraw(JUTConsole::EConsoleType param_0) const { #include "asm/JSystem/JUtility/JUTConsole/doDraw__10JUTConsoleCFQ210JUTConsole12EConsoleType.s" } #pragma pop +#endif /* 802E7BB8-802E7C38 2E24F8 0080+00 0/0 13/13 0/0 .text print_f__10JUTConsoleFPCce */ void JUTConsole::print_f(char const* fmt, ...) { @@ -283,31 +321,31 @@ asm void JUTConsole::dumpToTerminal(unsigned int param_0) { #pragma pop /* 802E80A8-802E8184 2E29E8 00DC+00 0/0 3/3 0/0 .text scroll__10JUTConsoleFi */ -void JUTConsole::scroll(int param_0) { - if (param_0 < 0) { +void JUTConsole::scroll(int scrollAmnt) { + if (scrollAmnt < 0) { int diff = diffIndex(field_0x34, field_0x30); - if (param_0 < -diff) { - param_0 = -diff; + if (scrollAmnt < -diff) { + scrollAmnt = -diff; } } else { - if (param_0 > 0) { + if (scrollAmnt > 0) { int diff = diffIndex(field_0x34, field_0x38); if (diff + 1 <= mHeight) { - param_0 = 0; + scrollAmnt = 0; } else { diff = diffIndex(field_0x30, field_0x38); - if (param_0 > (int)(diff - mHeight) + 1) { - param_0 = (int)(diff - mHeight) + 1; + if (scrollAmnt > (int)(diff - mHeight) + 1) { + scrollAmnt = (int)(diff - mHeight) + 1; } } } } - field_0x30 += param_0; + field_0x30 += scrollAmnt; if (field_0x30 < 0) { - field_0x30 += field_0x24; + field_0x30 += mMaxLines; } - if (field_0x30 >= field_0x24) { - field_0x30 -= field_0x24; + if (field_0x30 >= mMaxLines) { + field_0x30 -= mMaxLines; } } @@ -381,9 +419,9 @@ asm void JUTConsoleManager::draw() const { /* 802E8450-802E84C4 2E2D90 0074+00 0/0 5/5 0/0 .text drawDirect__17JUTConsoleManagerCFb */ -void JUTConsoleManager::drawDirect(bool param_0) const { +void JUTConsoleManager::drawDirect(bool waitRetrace) const { if (mDirectConsole != NULL) { - if (param_0) { + if (waitRetrace) { s32 interrupt_status = OSEnableInterrupts(); u32 retrace_count = VIGetRetraceCount(); u32 new_count; @@ -392,21 +430,21 @@ void JUTConsoleManager::drawDirect(bool param_0) const { } while (retrace_count == new_count); OSRestoreInterrupts(interrupt_status); } - mDirectConsole->doDraw(JUTConsole::UNK_TYPE2); + mDirectConsole->doDraw(JUTConsole::CONSOLE_TYPE_2); } } /* 802E84C4-802E8520 2E2E04 005C+00 0/0 2/2 0/0 .text * setDirectConsole__17JUTConsoleManagerFP10JUTConsole */ -void JUTConsoleManager::setDirectConsole(JUTConsole* pConsole) { +void JUTConsoleManager::setDirectConsole(JUTConsole* p_console) { if (mDirectConsole != NULL) { appendConsole(mDirectConsole); } - if (pConsole != NULL) { - removeConsole(pConsole); + if (p_console != NULL) { + removeConsole(p_console); } - mDirectConsole = pConsole; + mDirectConsole = p_console; } /* ############################################################################################## */ @@ -414,8 +452,8 @@ void JUTConsoleManager::setDirectConsole(JUTConsole* pConsole) { static JUTConsole* sReportConsole; /* 802E8520-802E8528 2E2E60 0008+00 1/1 1/1 0/0 .text JUTSetReportConsole */ -extern "C" void JUTSetReportConsole(JUTConsole* pConsole) { - sReportConsole = pConsole; +extern "C" void JUTSetReportConsole(JUTConsole* p_console) { + sReportConsole = p_console; } /* 802E8528-802E8530 -00001 0008+00 0/0 0/0 0/0 .text JUTGetReportConsole */ @@ -428,8 +466,8 @@ extern "C" JUTConsole* JUTGetReportConsole() { static JUTConsole* sWarningConsole; /* 802E8530-802E8538 2E2E70 0008+00 1/1 1/1 0/0 .text JUTSetWarningConsole */ -extern "C" void JUTSetWarningConsole(JUTConsole* pConsole) { - sWarningConsole = pConsole; +extern "C" void JUTSetWarningConsole(JUTConsole* p_console) { + sWarningConsole = p_console; } /* 802E8538-802E8540 -00001 0008+00 0/0 0/0 0/0 .text JUTGetWarningConsole */ @@ -443,7 +481,7 @@ extern "C" void JUTReportConsole_f_va(const char* fmt, va_list args) { if (JUTGetReportConsole() == NULL) { vsnprintf(buf, sizeof(buf), fmt, args); - } else if (JUTGetReportConsole()->getOutput() & 3) { + } else if (JUTGetReportConsole()->getOutput() & (JUTConsole::OUTPUT_CONSOLE | JUTConsole::OUTPUT_OSREPORT)) { vsnprintf(buf, sizeof(buf), fmt, args); JUTGetReportConsole()->print(buf); } diff --git a/libs/JSystem/JUtility/JUTResFont.cpp b/libs/JSystem/JUtility/JUTResFont.cpp index 21fd397036..5c34e8a0de 100644 --- a/libs/JSystem/JUtility/JUTResFont.cpp +++ b/libs/JSystem/JUtility/JUTResFont.cpp @@ -380,7 +380,7 @@ u16 JUTResFont::getCellWidth() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm u16 JUTResFont::getCellWidth() const { +asm int JUTResFont::getCellWidth() const { nofralloc #include "asm/JSystem/JUtility/JUTResFont/getCellWidth__10JUTResFontCFv.s" } diff --git a/libs/SSystem/SComponent/c_API_controller_pad.cpp b/libs/SSystem/SComponent/c_API_controller_pad.cpp index c9f628e600..2d9ea9592c 100644 --- a/libs/SSystem/SComponent/c_API_controller_pad.cpp +++ b/libs/SSystem/SComponent/c_API_controller_pad.cpp @@ -49,7 +49,7 @@ asm void cAPICPad_recalibrate() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cAPICPad_ANY_BUTTON(u32 param_0) { +asm u32 cAPICPad_ANY_BUTTON(u32 param_0) { nofralloc #include "asm/SSystem/SComponent/c_API_controller_pad/cAPICPad_ANY_BUTTON__FUl.s" } diff --git a/obj_files.mk b/obj_files.mk index f6f8c7e2f7..646c3401da 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -149,11 +149,11 @@ O_FILES := \ $(BUILD_DIR)/src/d/a/d_a_itembase.o \ $(BUILD_DIR)/src/d/a/d_a_no_chg_room.o \ $(BUILD_DIR)/src/d/a/d_a_npc.o \ - $(BUILD_DIR)/src/a/npc/d_a_npc_cd.o \ - $(BUILD_DIR)/src/a/npc/d_a_npc_cd2.o \ - $(BUILD_DIR)/src/a/obj/d_a_obj_item.o \ + $(BUILD_DIR)/src/d/a/d_a_npc_cd.o \ + $(BUILD_DIR)/src/d/a/d_a_npc_cd2.o \ + $(BUILD_DIR)/src/d/a/d_a_obj_item.o \ $(BUILD_DIR)/src/d/d_insect.o \ - $(BUILD_DIR)/src/a/obj/d_a_obj_ss_base.o \ + $(BUILD_DIR)/src/d/a/d_a_obj_ss_base.o \ $(BUILD_DIR)/src/d/a/d_a_player.o \ $(BUILD_DIR)/src/d/d_camera.o \ $(BUILD_DIR)/src/d/d_envse.o \ diff --git a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp index 513fc80247..af0f885222 100644 --- a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp +++ b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp @@ -122,18 +122,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - struct J2DAnmLoaderDataBase { /* 80308A6C */ void load(void const*); }; @@ -354,7 +342,6 @@ extern "C" extern void* __vt__16Z2SoundObjSimple[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mRoofCheck__11fopAcM_rc_c[80]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" f32 mRoofY__11fopAcM_rc_c; diff --git a/rel/d/a/d_a_crod/d_a_crod.cpp b/rel/d/a/d_a_crod/d_a_crod.cpp index cce15278d6..4b5dae8c3b 100644 --- a/rel/d/a/d_a_crod/d_a_crod.cpp +++ b/rel/d/a/d_a_crod/d_a_crod.cpp @@ -30,21 +30,6 @@ struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // @@ -135,7 +120,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 data_804A4218[4]; diff --git a/rel/d/a/d_a_horse/d_a_horse.cpp b/rel/d/a/d_a_horse/d_a_horse.cpp index 7bace47e08..daadca4217 100644 --- a/rel/d/a/d_a_horse/d_a_horse.cpp +++ b/rel/d/a/d_a_horse/d_a_horse.cpp @@ -21,11 +21,6 @@ struct mDoMtx_stack_c { static u8 now[48]; }; -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); -}; - struct mDoCPd_c { static u8 m_cpadInfo[256]; }; @@ -142,22 +137,6 @@ struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); -}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // @@ -511,7 +490,6 @@ extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_meter2_info[248]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseX__4cXyz[12]; diff --git a/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp b/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp index 6991d3a1d0..1144372e48 100644 --- a/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp +++ b/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp @@ -6,48 +6,8 @@ #include "rel/d/a/d_a_scene_exit/d_a_scene_exit.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daScex_c { - /* 80485838 */ void checkWork(); - /* 80485A50 */ void execute(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; +#include "d/com/d_com_inf_game.h" +#include "m_Do/m_Do_mtx.h" // // Forward References: @@ -69,31 +29,53 @@ extern "C" void isEventBit__11dSv_event_cCFUs(); extern "C" void onSwitch__10dSv_info_cFii(); extern "C" void isSwitch__10dSv_info_cCFii(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void PSMTXInverse(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // // Declarations: // -/* 80485838-80485974 000078 013C+00 1/1 0/0 0/0 .text checkWork__8daScex_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daScex_c::checkWork() { - nofralloc -#include "asm/rel/d/a/d_a_scene_exit/d_a_scene_exit/checkWork__8daScex_cFv.s" +inline bool fopAcM_isSwitch(const fopAc_ac_c* item, int sw) { + return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(item)); +} + +inline void fopAcM_onSwitch(const fopAc_ac_c* pActor, int sw) { + return dComIfGs_onSwitch(sw, fopAcM_GetHomeRoomNo(pActor)); +} + +inline BOOL dComIfGs_isEventBit(u16 id) { + return g_dComIfG_gameInfo.info.getEvent().isEventBit(id); +} + +/* 80485838-80485974 000078 013C+00 1/1 0/0 0/0 .text checkWork__8daScex_cFv */ +int daScex_c::checkWork() { + if (getArg1() == 0xFF || getArg1() == 0 || getArg1() == 3) { + if (fopAcM_isSwitch(this, getSwNo())) { + return 0; + } + } else if ((getArg1() == 1 || getArg1() == 2 || getArg1() == 4) && getSwNo() != 0xFF) { + if (!fopAcM_isSwitch(this, getSwNo())) { + return 0; + } + } + + u16 offBit = getOffEventBit(); + if (offBit != 0x0FFF && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[offBit])) { + return 0; + } + + u16 onBit = getOnEventBit(); + if (onBit != 0x0FFF && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[onBit])) { + return 0; + } + + return 1; } -#pragma pop /* ############################################################################################## */ /* 80485C98-80485C9C 000000 0004+00 2/2 0/0 0/0 .rodata @3758 */ @@ -105,6 +87,25 @@ SECTION_RODATA static f32 const lit_3759 = 150.0f; COMPILER_STRIP_GATE(0x80485C9C, &lit_3759); /* 80485974-80485A30 0001B4 00BC+00 1/0 0/0 0/0 .text daScex_Create__FP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +static int daScex_Create(fopAc_ac_c* ac) { + if (!fopAcM_CheckCondition(ac, 8)) { + new (ac) daScex_c(); + fopAcM_OnCondition(ac, 8); + } + daScex_c* scex = static_cast(ac); + + mDoMtx_stack_c::transS(scex->mCurrent.mPosition.x, scex->mCurrent.mPosition.y, scex->mCurrent.mPosition.z); + mDoMtx_stack_c::YrotM(scex->mCollisionRot.y); + PSMTXInverse(mDoMtx_stack_c::get(), scex->mMatrix); + scex->mScale.x *= 75.0f; + scex->mScale.z *= 75.0f; + scex->mScale.y *= 150.0f; + + return 4; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -113,6 +114,7 @@ static asm void daScex_Create(fopAc_ac_c* param_0) { #include "asm/rel/d/a/d_a_scene_exit/d_a_scene_exit/daScex_Create__FP10fopAc_ac_c.s" } #pragma pop +#endif /* 80485A30-80485A50 000270 0020+00 1/0 0/0 0/0 .text daScex_Execute__FP8daScex_c */ #pragma push @@ -152,14 +154,59 @@ COMPILER_STRIP_GATE(0x80485CA8, &lit_3842); #pragma pop /* 80485A50-80485C90 000290 0240+00 1/1 0/0 0/0 .text execute__8daScex_cFv */ +// regalloc +#ifdef NONMATCHING +int daScex_c::execute() { + Vec spC; + daPy_py_c* player = daPy_getPlayerActorClass(); + + if (checkWork()) { + PSMTXMultVec(mMatrix, &player->mCurrent.mPosition, &spC); + + if (spC.y >= 0.0f && spC.y <= mScale.y && fabsf(spC.x) <= mScale.x && fabsf(spC.z) <= mScale.z) { + switch (getArg1()) { + case 0xFF: + case 1: + player->onSceneChangeArea(getArg0(), ((fopAcM_GetParam(this) >> 0x10) & 0xFF), this); + break; + case 2: + case 0: + player->onSceneChangeAreaJump(getArg0(), ((fopAcM_GetParam(this) >> 0x10) & 0xFF), this); + break; + case 3: + case 4: + player->onSceneChangeAreaJump(getArg0(), ((fopAcM_GetParam(this) >> 0x10) & 0xFF), this); + break; + } + } + } + + if (mSceneChangeOK && player->checkSceneChangeAreaStart()) { + if ((getArg1() == 3 || getArg1() == 4) && field_0x598 == 0) { + mDoAud_seStart(Z2SE_FORCE_BACK, NULL, 0, 0); + player->voiceStart(Z2SE_WL_V_FALL_TO_RESTART); + field_0x598 = 1; + } + + if (getArg1() == 0xFF || getArg1() == 0 || getArg1() == 3) { + if (getSwNo() != 0xFF) { + fopAcM_onSwitch(this, getSwNo()); + } + } + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daScex_c::execute() { +asm int daScex_c::execute() { nofralloc #include "asm/rel/d/a/d_a_scene_exit/d_a_scene_exit/execute__8daScex_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80485CAC-80485CCC -00001 0020+00 1/0 0/0 0/0 .data l_daScex_Method */ diff --git a/rel/d/a/d_a_title/d_a_title_nonmatching.cpp b/rel/d/a/d_a_title/d_a_title_nonmatching.cpp new file mode 100644 index 0000000000..ec5b721686 --- /dev/null +++ b/rel/d/a/d_a_title/d_a_title_nonmatching.cpp @@ -0,0 +1,654 @@ +// +// Generated By: dol2asm +// Translation Unit: d_a_title +// + +#include "rel/d/a/d_a_title/d_a_title.h" +#include "JSystem/JStudio/JStudio/stb.h" +#include "dol2asm.h" +#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "f_op/f_op_overlap_mng.h" +#include "f_op/f_op_msg_mng.h" + +// +// Types: +// + +class dDlst_daTitle_c : public dDlst_base_c { +public: + /* 80D679C8 */ virtual void draw(); + /* 80D67B30 */ virtual ~dDlst_daTitle_c() {} + + /* 0x4 */ J2DScreen* Scr; +}; + +class daTitle_c : public fopAc_ac_c { +public: + //daTitle_c() {} + /* 80D66B54 */ int CreateHeap(); + /* 80D66CDC */ int create(); + /* 80D66E7C */ static int createHeapCallBack(fopAc_ac_c*); + /* 80D66E9C */ int Execute(); + /* 80D66F34 */ void KeyWaitAnm(); + /* 80D67010 */ void loadWait_init(); + /* 80D6701C */ void loadWait_proc(); + /* 80D672E0 */ void logoDispWaitInit(); + /* 80D672EC */ void logoDispWait(); + /* 80D67350 */ void logoDispAnmInit(); + /* 80D6737C */ void logoDispAnm(); + /* 80D674A8 */ void keyWaitInit(); + /* 80D674B4 */ void keyWait(); + /* 80D67544 */ void nextScene_init(); + /* 80D67550 */ void nextScene_proc(); + /* 80D675EC */ void fastLogoDispInit(); + /* 80D676AC */ void fastLogoDisp(); + /* 80D676F4 */ int getDemoPrm(); + /* 80D67768 */ int Draw(); + /* 80D6786C */ int Delete(); + +private: + /* 0x568 */ request_of_phase_process_class mPhaseReq; + /* 0x570 */ JKRHeap* mpHeap; + /* 0x574 */ J3DModel* mpModel; + /* 0x578 */ mDoExt_bckAnm mBck; + /* 0x594 */ mDoExt_bpkAnm mBpk; + /* 0x5AC */ mDoExt_brkAnm mBrk; + /* 0x5C4 */ mDoExt_btkAnm mBtk; + /* 0x5DC */ JKRExpHeap* m2DHeap; + /* 0x5E0 */ mDoDvdThd_mountArchive_c* mpMount; + /* 0x5E4 */ dDlst_daTitle_c mTitle; + /* 0x5EC */ JUTFont* mpFont; + /* 0x5F0 */ u8 field_0x5f0[8]; + /* 0x5F8 */ u8 field_0x5f8; + /* 0x5F9 */ u8 field_0x5f9; + /* 0x5FA */ u8 field_0x5fa; + /* 0x5FB */ u8 mProcID; + /* 0x5FC */ u8 field_0x5fc; + /* 0x600 */ CPaneMgrAlpha* field_0x600; + /* 0x604 */ u8 field_0x604; +}; // Size: 0x608 + +typedef void (daTitle_c::*procFunc)(); + +class daTit_HIO_c { +public: + /* 80D66B0C */ daTit_HIO_c(); + + /* 80D67A08 */ virtual ~daTit_HIO_c(); + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 mPSScaleX; + /* 0x0C */ f32 mPSScaleY; + /* 0x10 */ f32 mPSPosX; + /* 0x14 */ f32 mPSPosY; + /* 0x18 */ u8 mAppear; + /* 0x19 */ u8 mArrow; + /* 0x1A */ u8 field_0x1a; +}; + +struct dDemo_object_c { + /* 80039088 */ void getActor(u8); +}; + +struct dDemo_c { + static u8 m_object[4]; +}; + +// +// Forward References: +// + +extern "C" void __ct__11daTit_HIO_cFv(); +extern "C" void CreateHeap__9daTitle_cFv(); +extern "C" void create__9daTitle_cFv(); +extern "C" void createHeapCallBack__9daTitle_cFP10fopAc_ac_c(); +extern "C" void Execute__9daTitle_cFv(); +extern "C" void KeyWaitAnm__9daTitle_cFv(); +extern "C" void loadWait_init__9daTitle_cFv(); +extern "C" void loadWait_proc__9daTitle_cFv(); +extern "C" void logoDispWaitInit__9daTitle_cFv(); +extern "C" void logoDispWait__9daTitle_cFv(); +extern "C" void logoDispAnmInit__9daTitle_cFv(); +extern "C" void logoDispAnm__9daTitle_cFv(); +extern "C" void keyWaitInit__9daTitle_cFv(); +extern "C" void keyWait__9daTitle_cFv(); +extern "C" void nextScene_init__9daTitle_cFv(); +extern "C" void nextScene_proc__9daTitle_cFv(); +extern "C" void fastLogoDispInit__9daTitle_cFv(); +extern "C" void fastLogoDisp__9daTitle_cFv(); +extern "C" void getDemoPrm__9daTitle_cFv(); +extern "C" void Draw__9daTitle_cFv(); +extern "C" void Delete__9daTitle_cFv(); +extern "C" static void daTitle_Draw__FP9daTitle_c(); +extern "C" static void daTitle_Execute__FP9daTitle_c(); +extern "C" static void daTitle_Delete__FP9daTitle_c(); +extern "C" static void daTitle_Create__FP10fopAc_ac_c(); +extern "C" void draw__15dDlst_daTitle_cFv(); +extern "C" void draw__12dDlst_base_cFv(); +extern "C" void __dt__11daTit_HIO_cFv(); +extern "C" void __sinit_d_a_title_cpp(); +extern "C" void __dt__15dDlst_daTitle_cFv(); +extern "C" void __dt__12J3DFrameCtrlFv(); +extern "C" extern char const* const d_a_title__stringBase0; + +// +// External References: +// + +extern "C" void play__14mDoExt_baseAnmFv(); +extern "C" void init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss(); +extern "C" void entry__13mDoExt_bpkAnmFP16J3DMaterialTablef(); +extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); +extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); +extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); +extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); +extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); +extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); +extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); +extern "C" void mDoExt_getGameHeap__Fv(); +extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); +extern "C" void mDoExt_getMesgFont__Fv(); +extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); +extern "C" void create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap(); +extern "C" void __ct__10fopAc_ac_cFv(); +extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); +extern "C" void fopOvlpM_IsPeek__Fv(); +extern "C" void fopScnM_SearchByID__FUi(); +extern "C" void fopScnM_ChangeReq__FP11scene_classssUs(); +extern "C" void fopMsgM_messageGet__FPcUl(); +extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); +extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); +extern "C" void getActor__14dDemo_object_cFUc(); +extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); +extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); +extern "C" void __ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap(); +extern "C" void alphaAnime__13CPaneMgrAlphaFsUcUcUc(); +extern "C" void alphaAnimeLoop__13CPaneMgrAlphaFsUcUcUc(); +extern "C" void +getData__Q47JStudio3stb4data22TParse_TParagraph_dataCFPQ57JStudio3stb4data22TParse_TParagraph_data5TData(); +extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); +extern "C" void becomeCurrentHeap__7JKRHeapFv(); +extern "C" void destroy__7JKRHeapFv(); +extern "C" void* __nw__FUl(); +extern "C" void __dl__FPv(); +extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); +extern "C" void __ct__9J2DScreenFv(); +extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); +extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); +extern "C" void getStringPtr__10J2DTextBoxCFv(); +extern "C" void setString__10J2DTextBoxFsPCce(); +extern "C" void init__12J3DFrameCtrlFs(); +extern "C" void __ptmf_scall(); +extern "C" void _savegpr_26(); +extern "C" void _savegpr_29(); +extern "C" void _restgpr_26(); +extern "C" void _restgpr_29(); +extern "C" extern void* g_fopAc_Method[8]; +extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; +extern "C" f32 mViewOffsetY__17dMenu_Collect3D_c[1 + 1 /* padding */]; +extern "C" u8 mFader__13mDoGph_gInf_c[4]; +extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; +extern "C" u8 mProcID__20dStage_roomControl_c[4]; +extern "C" u8 m_object__7dDemo_c[4]; +extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; +extern "C" void __register_global_object(); + +// +// Declarations: +// + +/* 80D67D8C-80D67DA8 000014 001C+00 4/4 0/0 0/0 .bss g_daTitHIO */ +static daTit_HIO_c g_daTitHIO; + +/* ############################################################################################## */ +/* 80D67BD4-80D67BE0 000000 000C+00 2/2 0/0 0/0 .rodata @3772 */ +SECTION_RODATA static u8 const lit_3772[12] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +COMPILER_STRIP_GATE(0x80D67BD4, &lit_3772); + +/* 80D67BE0-80D67BE8 00000C 0006+02 3/3 0/0 0/0 .rodata l_arcName */ +SECTION_RODATA static char const l_arcName[6] = "Title"; +COMPILER_STRIP_GATE(0x80D67BE0, &l_arcName); + +/* 80D67C40-80D67C4C 000000 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, +}; + +/* 80D67C4C-80D67C60 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ +#pragma push +#pragma force_active on +SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { + 0x02000201, + /* padding */ + 0x40080000, + 0x00000000, + 0x3FE00000, + 0x00000000, +}; +#pragma pop + +SECTION_DATA static procFunc daTitleProc[6] = { + &daTitle_c::loadWait_proc, &daTitle_c::logoDispWait, &daTitle_c::logoDispAnm, + &daTitle_c::keyWait, &daTitle_c::nextScene_proc, &daTitle_c::fastLogoDisp, +}; + +/* 80D67CF0-80D67D10 -00001 0020+00 1/0 0/0 0/0 .data l_daTitle_Method */ +SECTION_DATA static void* l_daTitle_Method[8] = { + (void*)daTitle_Create__FP10fopAc_ac_c, + (void*)daTitle_Delete__FP9daTitle_c, + (void*)daTitle_Execute__FP9daTitle_c, + (void*)NULL, + (void*)daTitle_Draw__FP9daTitle_c, + (void*)NULL, + (void*)NULL, + (void*)NULL, +}; + +/* 80D67D10-80D67D40 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TITLE */ +SECTION_DATA extern void* g_profile_TITLE[12] = { + (void*)0xFFFFFFFD, (void*)0x0007FFFD, + (void*)0x02E10000, (void*)&g_fpcLf_Method, + (void*)0x00000608, (void*)NULL, + (void*)NULL, (void*)&g_fopAc_Method, + (void*)0x000A0000, (void*)&l_daTitle_Method, + (void*)0x00044000, (void*)0x000E0000, +}; + +/* 80D66B0C-80D66B54 0000EC 0048+00 1/1 0/0 0/0 .text __ct__11daTit_HIO_cFv */ +daTit_HIO_c::daTit_HIO_c() { + mPSScaleX = 1.0f; + mPSScaleY = 1.0f; + mPSPosX = 303.0f; + mPSPosY = 347.0f; + mAppear = 15; + mArrow = 60; + field_0x1a = 15; +} + +/* 80D66B54-80D66CDC 000134 0188+00 1/1 0/0 0/0 .text CreateHeap__9daTitle_cFv */ +int daTitle_c::CreateHeap() { + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 10); + mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000285); + + if (mpModel == NULL) { + return 0; + } + + void* res = dComIfG_getObjectRes(l_arcName, 7); + mBck.init((J3DAnmTransform*)res, 1, 0, 2.0f, 0, -1, false); + + res = dComIfG_getObjectRes(l_arcName, 13); + mBpk.init(modelData, (J3DAnmColor*)res, 1, 0, 2.0f, 0, -1); + + res = dComIfG_getObjectRes(l_arcName, 16); + mBrk.init(modelData, (J3DAnmTevRegKey*)res, 1, 0, 2.0f, 0, -1); + + res = dComIfG_getObjectRes(l_arcName, 19); + mBtk.init(modelData, (J3DAnmTextureSRTKey*)res, 1, 0, 2.0f, 0, -1); + + return 1; +} + +/* 80D66CDC-80D66E7C 0002BC 01A0+00 1/1 0/0 0/0 .text create__9daTitle_cFv */ +int daTitle_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTitle_c(); + fopAcM_OnCondition(this, 8); + } + + int load = dComIfG_resLoad(&mPhaseReq, l_arcName); + if (load != 4) { + return load; + } + + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x4000)) { + return 5; + } + + mpMount = mDoDvdThd_mountArchive_c::create("/res/Layout/Title2D.arc", 0, NULL); + field_0x5f8 = 0; + field_0x5f9 = 0; + + m2DHeap = JKRExpHeap::create(0x8000, mDoExt_getGameHeap(), false); + loadWait_init(); + g_daTitHIO.field_0x4 = -1; + + return load; +} + +/* 80D66E7C-80D66E9C 00045C 0020+00 1/1 0/0 0/0 .text createHeapCallBack__9daTitle_cFP10fopAc_ac_c + */ +int daTitle_c::createHeapCallBack(fopAc_ac_c* title) { + return ((daTitle_c*)title)->CreateHeap(); +} + +/* 80D66E9C-80D66F34 00047C 0098+00 1/1 0/0 0/0 .text Execute__9daTitle_cFv */ +int daTitle_c::Execute() { + if (fopOvlpM_IsPeek()) { + return 1; + } + + dMenu_Collect3D_c::mViewOffsetY = 0.0f; + + if (mDoRst::isReset()) { + return 1; + } + + (this->*daTitleProc[mProcID])(); + KeyWaitAnm(); + return 1; +} + +/* 80D66F34-80D67010 000514 00DC+00 1/1 0/0 0/0 .text KeyWaitAnm__9daTitle_cFv */ +void daTitle_c::KeyWaitAnm() { + if (field_0x5f9 != 0) { + if (field_0x604 == 0) { + if (field_0x5fa != 0) { + field_0x600->alphaAnime(g_daTitHIO.mArrow, 0, 255, 0); + } else { + field_0x600->alphaAnimeLoop(g_daTitHIO.mArrow, 255, 128, 0); + } + + if (field_0x600->getAlpha() == 255) { + if (field_0x5fa != 0) { + field_0x5fa = 0; + } + field_0x604 = g_daTitHIO.field_0x1a; + } + } + + if (field_0x604 != 0) { + field_0x604--; + } + } +} + +/* 80D67010-80D6701C 0005F0 000C+00 1/1 0/0 0/0 .text loadWait_init__9daTitle_cFv */ +void daTitle_c::loadWait_init() { + mProcID = 0; +} + +/* 80D6701C-80D672E0 0005FC 02C4+00 1/0 0/0 0/0 .text loadWait_proc__9daTitle_cFv */ +void daTitle_c::loadWait_proc() { + if (mpMount->sync()) { + JKRHeap* heap = mDoExt_setCurrentHeap(m2DHeap); + mpHeap = heap; + + mpFont = mDoExt_getMesgFont(); + mTitle.Scr = new J2DScreen(); + + mTitle.Scr->setPriority("zelda_press_start.blo", 0x100000, mpMount->getArchive()); + + J2DTextBox* text[7]; + text[0] = (J2DTextBox*)mTitle.Scr->search('t_s_00'); + text[1] = (J2DTextBox*)mTitle.Scr->search('t_s_01'); + text[2] = (J2DTextBox*)mTitle.Scr->search('t_s_02'); + text[3] = (J2DTextBox*)mTitle.Scr->search('t_s_03'); + text[4] = (J2DTextBox*)mTitle.Scr->search('t_s_04'); + text[5] = (J2DTextBox*)mTitle.Scr->search('t_s_05'); + text[6] = (J2DTextBox*)mTitle.Scr->search('t_o'); + + for (int i = 0; i < 7; i++) { + text[i]->setFont(mpFont); + text[i]->setString(0x80, ""); + fopMsgM_messageGet(text[i]->getStringPtr(), 100); + } + + field_0x600 = new CPaneMgrAlpha(mTitle.Scr, 'n_all', 2, NULL); + field_0x600->setAlpha(0); + J2DPane* pane = mTitle.Scr->search('n_all'); + pane->translate(g_daTitHIO.mPSPosX, g_daTitHIO.mPSPosY); + pane->scale(g_daTitHIO.mPSScaleX, g_daTitHIO.mPSScaleY); + mpHeap->becomeCurrentHeap(); + logoDispWaitInit(); + } +} + +/* 80D672E0-80D672EC 0008C0 000C+00 1/1 0/0 0/0 .text logoDispWaitInit__9daTitle_cFv */ +void daTitle_c::logoDispWaitInit() { + mProcID = 1; +} + +/* 80D672EC-80D67350 0008CC 0064+00 1/0 0/0 0/0 .text logoDispWait__9daTitle_cFv */ +void daTitle_c::logoDispWait() { + if (mDoCPd_c::getTrigA(PAD_1) || mDoCPd_c::getTrigStart(PAD_1)) { + fastLogoDispInit(); + } else if (getDemoPrm() == 1) { + logoDispAnmInit(); + } +} + +/* 80D67350-80D6737C 000930 002C+00 1/1 0/0 0/0 .text logoDispAnmInit__9daTitle_cFv */ +void daTitle_c::logoDispAnmInit() { + mBck.setPlaySpeed(1.0f); + mBpk.setPlaySpeed(1.0f); + mBrk.setPlaySpeed(1.0f); + mBtk.setPlaySpeed(1.0f); + field_0x5f8 = 1; + mProcID = 2; +} + +/* 80D6737C-80D674A8 00095C 012C+00 1/0 0/0 0/0 .text logoDispAnm__9daTitle_cFv */ +void daTitle_c::logoDispAnm() { + mBck.play(); + mBpk.play(); + mBrk.play(); + mBtk.play(); + + if (mBrk.isStop() && mBtk.isStop() && mBck.isStop() && mBpk.isStop()) { + field_0x600->alphaAnimeStart(0); + field_0x604 = 0; + field_0x5f9 = 1; + field_0x5fa = 1; + keyWaitInit(); + } +} + +/* 80D674A8-80D674B4 000A88 000C+00 2/2 0/0 0/0 .text keyWaitInit__9daTitle_cFv */ +void daTitle_c::keyWaitInit() { + mProcID = 3; +} + +/* 80D674B4-80D67544 000A94 0090+00 1/0 0/0 0/0 .text keyWait__9daTitle_cFv */ +void daTitle_c::keyWait() { + if (mDoCPd_c::getTrigA(PAD_1) || mDoCPd_c::getTrigStart(PAD_1)) { + mDoAud_seStart(Z2SE_TITLE_ENTER, NULL, 0, 0); + nextScene_init(); + } +} + +/* 80D67544-80D67550 000B24 000C+00 1/1 0/0 0/0 .text nextScene_init__9daTitle_cFv */ +void daTitle_c::nextScene_init() { + mProcID = 4; +} + +/* 80D67550-80D675EC 000B30 009C+00 1/0 0/0 0/0 .text nextScene_proc__9daTitle_cFv */ +// setFadeColor store order issue +#ifdef NONMATCHING +void daTitle_c::nextScene_proc() { + if (!fopOvlpM_IsPeek() && !mDoRst::isReset()) { + scene_class* playScene = fopScnM_SearchByID(dStage_roomControl_c::getProcID()); + fopScnM_ChangeReq(playScene, 13, 0, 5); + mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); + } +} +#else +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void daTitle_c::nextScene_proc() { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/nextScene_proc__9daTitle_cFv.s" +} +#pragma pop +#endif + +/* 80D675EC-80D676AC 000BCC 00C0+00 1/1 0/0 0/0 .text fastLogoDispInit__9daTitle_cFv */ +void daTitle_c::fastLogoDispInit() { + mBck.setFrame(mBck.getEndFrame() - 1.0f); + mBpk.setFrame(mBpk.getEndFrame() - 1.0f); + mBrk.setFrame(mBrk.getEndFrame() - 1.0f); + mBtk.setFrame(mBtk.getEndFrame() - 1.0f); + + field_0x600->alphaAnimeStart(0); + field_0x604 = 0; + field_0x5fc = 30; + mProcID = 5; +} + +/* 80D676AC-80D676F4 000C8C 0048+00 1/0 0/0 0/0 .text fastLogoDisp__9daTitle_cFv */ +void daTitle_c::fastLogoDisp() { + if (field_0x5fc != 0) { + field_0x5fc--; + return; + } + + field_0x5f9 = 1; + field_0x5fa = 1; + field_0x5f8 = 1; + keyWaitInit(); +} + +/* 80D676F4-80D67768 000CD4 0074+00 1/1 0/0 0/0 .text getDemoPrm__9daTitle_cFv */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm int daTitle_c::getDemoPrm() { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/getDemoPrm__9daTitle_cFv.s" +} +#pragma pop + +/* 80D67768-80D6786C 000D48 0104+00 1/1 0/0 0/0 .text Draw__9daTitle_cFv */ +int daTitle_c::Draw() { + J3DModelData* modelData = mpModel->getModelData(); + PSMTXTrans(mpModel->getBaseTRMtx(), 0.0f, 0.0f, -430.0f); + mpModel->getBaseScale()->x = -1.0f; + + mBck.entry(modelData); + mBpk.entry(modelData); + mBrk.entry(modelData); + mBtk.entry(modelData); + + dComIfGd_setListItem3D(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + + if (field_0x5f8) { + dComIfGd_set2DOpaTop(&mTitle); + } + + return 1; +} + +/* 80D6786C-80D67948 000E4C 00DC+00 1/1 0/0 0/0 .text Delete__9daTitle_cFv */ +int daTitle_c::Delete() { + dComIfG_resDelete(&mPhaseReq, l_arcName); + delete mTitle.Scr; + delete field_0x600; + + mpMount->getArchive()->removeResourceAll(); + mpMount->getArchive()->unmount(); + delete mpMount; + + if (m2DHeap != NULL) { + m2DHeap->destroy(); + } + + return 1; +} + +/* 80D67948-80D67968 000F28 0020+00 1/0 0/0 0/0 .text daTitle_Draw__FP9daTitle_c */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void daTitle_Draw(daTitle_c* param_0) { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/daTitle_Draw__FP9daTitle_c.s" +} +#pragma pop + +/* 80D67968-80D67988 000F48 0020+00 1/0 0/0 0/0 .text daTitle_Execute__FP9daTitle_c */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void daTitle_Execute(daTitle_c* param_0) { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/daTitle_Execute__FP9daTitle_c.s" +} +#pragma pop + +/* 80D67988-80D679A8 000F68 0020+00 1/0 0/0 0/0 .text daTitle_Delete__FP9daTitle_c */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void daTitle_Delete(daTitle_c* param_0) { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/daTitle_Delete__FP9daTitle_c.s" +} +#pragma pop + +/* 80D679A8-80D679C8 000F88 0020+00 1/0 0/0 0/0 .text daTitle_Create__FP10fopAc_ac_c */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void daTitle_Create(fopAc_ac_c* param_0) { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/daTitle_Create__FP10fopAc_ac_c.s" +} +#pragma pop + +/* 80D679C8-80D67A04 000FA8 003C+00 1/0 0/0 0/0 .text draw__15dDlst_daTitle_cFv */ +void dDlst_daTitle_c::draw() { + J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort(); + Scr->draw(0.0f, 0.0f, ctx); +} + +/* 80D67A04-80D67A08 000FE4 0004+00 1/0 0/0 0/0 .text draw__12dDlst_base_cFv */ +void dDlst_base_c::draw() { + /* empty function */ +} + +/* 80D67A08-80D67A50 000FE8 0048+00 2/1 0/0 0/0 .text __dt__11daTit_HIO_cFv */ +daTit_HIO_c::~daTit_HIO_c() {} + +/* 80D67A50-80D67B30 001030 00E0+00 0/0 1/0 0/0 .text __sinit_d_a_title_cpp */ +/* #pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __sinit_d_a_title_cpp() { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/__sinit_d_a_title_cpp.s" +} +#pragma pop + +#pragma push +#pragma force_active on +REGISTER_CTORS(0x80D67A50, __sinit_d_a_title_cpp); +#pragma pop */ + +/* 80D67B30-80D67B78 001110 0048+00 1/0 0/0 0/0 .text __dt__15dDlst_daTitle_cFv */ +/* #pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm dDlst_daTitle_c::~dDlst_daTitle_c() { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/__dt__15dDlst_daTitle_cFv.s" +} +#pragma pop */ + +/* 80D67B78-80D67BC0 001158 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ +/* #pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +//asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { + nofralloc +#include "asm/rel/d/a/d_a_title/d_a_title/__dt__12J3DFrameCtrlFv.s" +} +#pragma pop */ + +/* 80D67C10-80D67C10 00003C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp index 40a29a625f..3d245fc501 100644 --- a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp +++ b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp @@ -29,25 +29,6 @@ struct mDoGph_gInf_c { /* 807DFAB4 */ void fadeIn(f32, _GXColor&); }; -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); - /* 807E1CB0 */ mDoExt_3DlineMat1_c(); -}; - struct mDoCPd_c { static u8 m_cpadInfo[256]; }; @@ -136,28 +117,6 @@ struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct Z2SeqMgr { - /* 802AF010 */ void bgmStart(u32, u32, s32); - /* 802AF408 */ void bgmStop(u32, s32); - /* 802AF49C */ void subBgmStart(u32); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802AFEDC */ void bgmStreamStop(u32); -}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // @@ -480,11 +439,10 @@ extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_blackColor; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; +//extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 struct_80450C98[4]; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -4453,7 +4411,8 @@ static asm void daE_WB_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_3DlineMat1_c::mDoExt_3DlineMat1_c() { +// asm mDoExt_3DlineMat1_c::mDoExt_3DlineMat1_c() { +extern "C" asm void __ct__19mDoExt_3DlineMat1_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__ct__19mDoExt_3DlineMat1_cFv.s" } @@ -4740,7 +4699,8 @@ static asm void dComIfGs_onEventBit(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void Z2GetAudioMgr() { +// static asm void Z2GetAudioMgr() { +extern "C" asm void Z2GetAudioMgr__Fv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/Z2GetAudioMgr__Fv.s" } @@ -4791,7 +4751,8 @@ static asm void daPy_getPlayerActorClass() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void actor_place::operator=(actor_place const& param_0) { +//asm void actor_place::operator=(actor_place const& param_0) { +extern "C" asm void __as__11actor_placeFRC11actor_place() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__as__11actor_placeFRC11actor_place.s" } diff --git a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp index 943f340f6b..a026a29d13 100644 --- a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp +++ b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp @@ -65,7 +65,7 @@ static int daKytag05_Create(fopAc_ac_c* ac) { tag->field_0x568 = 100.0f * tag->mScale.x; if (!tag->field_0x56c) { - *(char*)((char*)&tag->mAttentionInfo.mDistance2 + 3) = 0x21; + tag->mAttentionInfo.field_0x4[3] = 0x21; tag->mAttentionInfo.setFlag(0x80); } return 4; diff --git a/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp b/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp index 18ba6149d6..70028dfb5b 100644 --- a/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp +++ b/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp @@ -6,63 +6,52 @@ #include "rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "m_Do/m_Do_mtx.h" +#include "SSystem/SComponent/c_math.h" +#include "JSystem/JMath/JMath.h" // // Types: // -struct request_of_phase_process_class {}; - -struct npc_tr_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; +class npc_tr_class : public fopAc_ac_c { +public: + /* 0x568 */ u8 field_0x568[0x5AC - 0x568]; + /* 0x5AC */ request_of_phase_process_class mPhaseReq; + /* 0x5B4 */ u8 field_0x5b4; + /* 0x5B8 */ J3DModel* field_0x5b8; + /* 0x5BC */ s16 field_0x5bc; + /* 0x5BE */ s16 field_0x5be; + /* 0x5C0 */ s16 field_0x5c0; + /* 0x5C4 */ cXyz field_0x5c4; + /* 0x5D0 */ u8 field_0x5d0[0x8]; + /* 0x5D8 */ f32 field_0x5d8; + /* 0x5DC */ s16 field_0x5dc[4]; + /* 0x5E4 */ f32 field_0x5e4; + /* 0x5E8 */ f32 field_0x5e8; + /* 0x5EC */ s16 field_0x5ec; + /* 0x5EE */ s16 field_0x5ee; + /* 0x5F0 */ s16 field_0x5f0; + /* 0x5F2 */ s16 field_0x5f2[3]; + /* 0x5F8 */ f32 field_0x5f8; + /* 0x5FC */ f32 field_0x5fc; + /* 0x600 */ u8 field_0x600; }; -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daNPC_TR_HIO_c { +class daNPC_TR_HIO_c { +public: /* 80B25A0C */ daNPC_TR_HIO_c(); - /* 80B264E4 */ ~daNPC_TR_HIO_c(); + /* 80B264E4 */ virtual ~daNPC_TR_HIO_c(); + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; }; -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - // // Forward References: // @@ -107,22 +96,12 @@ extern "C" void cLib_addCalc2__FPffff(); extern "C" void cLib_addCalcAngleS2__FPssss(); extern "C" void MtxPosition__FP4cXyzP4cXyz(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_28(); extern "C" void _restgpr_28(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -189,6 +168,17 @@ SECTION_DATA extern void* __vt__14daNPC_TR_HIO_c[3] = { }; /* 80B25A0C-80B25A54 0000EC 0048+00 1/1 0/0 0/0 .text __ct__14daNPC_TR_HIO_cFv */ +// matches with literals +#ifdef NONMATCHING +daNPC_TR_HIO_c::daNPC_TR_HIO_c() { + field_0x4 = -1; + field_0x8 = 0.8f; + field_0xc = 15.0f; + field_0x10 = 0.3f; + field_0x14 = 0.6f; + field_0x18 = 250.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -197,26 +187,48 @@ asm daNPC_TR_HIO_c::daNPC_TR_HIO_c() { #include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__ct__14daNPC_TR_HIO_cFv.s" } #pragma pop +#endif /* 80B25A54-80B25B78 000134 0124+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */ +#ifdef NONMATCHING +static int nodeCallBack(J3DJoint* p_joint, int param_1) { + if (param_1 == 0) { + int jointNo = p_joint->getJntNo(); + J3DModel* sysModel = j3dSys.mModel; + npc_tr_class* npc_tr = (npc_tr_class*)sysModel->mUserArea; + + PSMTXCopy(sysModel->i_getAnmMtx(jointNo), *calc_mtx); + + if (jointNo == 1) { + mDoMtx_YrotM(*calc_mtx, npc_tr->field_0x5f2[0] + (s16)(npc_tr->field_0x5f8 * 0.3f)); + } else if (jointNo >= 1 && jointNo <= 3) { + mDoMtx_YrotM(*calc_mtx, npc_tr->field_0x5f2[jointNo - 1] + (s16)(npc_tr->field_0x5f8)); + } + + PSMTXCopy(*calc_mtx, sysModel->i_getAnmMtx(jointNo)); + PSMTXCopy(*calc_mtx, j3dSys.mCurrentMtx); + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void nodeCallBack(J3DJoint* param_0, int param_1) { +static asm int nodeCallBack(J3DJoint* param_0, int param_1) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/nodeCallBack__FP8J3DJointi.s" } #pragma pop +#endif /* 80B25B78-80B25BDC 000258 0064+00 1/0 0/0 0/0 .text daNPC_TR_Draw__FP12npc_tr_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNPC_TR_Draw(npc_tr_class* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Draw__FP12npc_tr_class.s" +static int daNPC_TR_Draw(npc_tr_class* npc_tr) { + g_env_light.settingTevStruct(0, &npc_tr->mCurrent.mPosition, &npc_tr->mTevStr); + g_env_light.setLightTevColorType_MAJI(npc_tr->field_0x5b8->mModelData, &npc_tr->mTevStr); + mDoExt_modelUpdateDL(npc_tr->field_0x5b8); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80B26590-80B26594 000014 0004+00 0/0 0/0 0/0 .rodata @3849 */ @@ -360,15 +372,83 @@ COMPILER_STRIP_GATE(0x80B265E4, &lit_3947); #pragma pop /* 80B26678-80B2667C 000008 0004+00 2/2 0/0 0/0 .bss None */ -static u8 data_80B26678[4]; +static u8 data_80B26678; /* 80B2667C-80B26688 00000C 000C+00 1/1 0/0 0/0 .bss @3763 */ -static u8 lit_3763[12]; +//static u8 lit_3763[12]; /* 80B26688-80B266A4 000018 001C+00 5/5 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[28]; +static daNPC_TR_HIO_c l_HIO; /* 80B25BDC-80B25FE0 0002BC 0404+00 1/1 0/0 0/0 .text npc_tr_move__FP12npc_tr_class */ +#ifdef NONMATCHING +static void npc_tr_move(npc_tr_class* npc_tr) { + f32 var_f31; + s16 var_r29; + + switch (npc_tr->field_0x5c0) { + case 0: + if (npc_tr->field_0x5dc[0] == 0) { + for (int i = 0; i < 100; i++) { + npc_tr->field_0x5c4.x = npc_tr->mOrig.mPosition.x + cM_rndFX(1000.0f); + npc_tr->field_0x5c4.y = npc_tr->mOrig.mPosition.y + cM_rndFX(200.0f); + npc_tr->field_0x5c4.z = npc_tr->mOrig.mPosition.z + cM_rndFX(1000.0f); + + cXyz distance = npc_tr->field_0x5c4 - npc_tr->mCurrent.mPosition; + distance.y = 0.0f; + + if (distance.abs() > 500.0f) { + npc_tr->field_0x5c0 = 1; + npc_tr->field_0x5dc[0] = (s16)(cM_rndF(30.0f) + 30.0f); + break; + } + } + } + npc_tr->field_0x5e8 = 0.1f; + var_r29 = 0; + var_f31 = 0.05f; + break; + case 1: + if (npc_tr->field_0x5dc[0] == 0) { + npc_tr->field_0x5c0 = 0; + npc_tr->field_0x5dc[0] = (s16)(cM_rndF(30.0f) + 30.0f); + } + npc_tr->field_0x5e8 = l_HIO.field_0x10; + var_r29 = 0x400; + var_f31 = 0.5f; + break; + } + + if (npc_tr->field_0x5dc[1] != 0) { + var_f31 = 0.5f; + npc_tr->field_0x5e8 = l_HIO.field_0x14; + var_r29 = 0x600; + } else if (npc_tr->field_0x5d8 < l_HIO.field_0x18) { + npc_tr->field_0x5dc[1] = (s16)(cM_rndF(20.0f) + 20.0f); + + if (npc_tr->field_0x5c0 == 1) { + npc_tr->field_0x5c0 = 0; + } + } + + cXyz distance = npc_tr->field_0x5c4 - npc_tr->mCurrent.mPosition; + s16 angle = npc_tr->mCurrent.mAngle.y; + cLib_addCalcAngleS2(&npc_tr->mCurrent.mAngle.y, cM_atan2s(distance.x, distance.z), 4, var_r29); + + f32 var_f2 = JMAFastSqrt((distance.x * distance.x) + (distance.z * distance.z)); + cLib_addCalcAngleS2(&npc_tr->mCurrent.mAngle.x, -cM_atan2s(distance.y, var_f2), 4, var_r29); + + f32 var_f1_2 = (f32)(angle - npc_tr->mCurrent.mAngle.y) * 5.0f; + if (var_f1_2 > 4000.0f) { + var_f1_2 = 4000.0f; + } else if (var_f1_2 < -4000.0f) { + var_f1_2 = -4000.0f; + } + + cLib_addCalc2(&npc_tr->field_0x5f8, var_f1_2, 0.5f, 1000.0f); + cLib_addCalc2(&npc_tr->mSpeedF, npc_tr->field_0x5e4 * l_HIO.field_0xc, 1.0f, var_f31); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -377,6 +457,7 @@ static asm void npc_tr_move(npc_tr_class* param_0) { #include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/npc_tr_move__FP12npc_tr_class.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80B265EC-80B265F8 000070 000C+00 0/1 0/0 0/0 .rodata @3953 */ @@ -428,14 +509,27 @@ static asm void action(npc_tr_class* param_0) { /* 80B261D8-80B262D0 0008B8 00F8+00 2/1 0/0 0/0 .text daNPC_TR_Execute__FP12npc_tr_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNPC_TR_Execute(npc_tr_class* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Execute__FP12npc_tr_class.s" +static int daNPC_TR_Execute(npc_tr_class* npc_tr) { + npc_tr->field_0x5bc++; + npc_tr->field_0x5d8 = fopAcM_searchActorDistance(npc_tr, (fopAc_ac_c*)dComIfGp_getPlayer(0)); + + for (int i = 0; i < 4; i++) { + if (npc_tr->field_0x5dc[i] != 0) { + npc_tr->field_0x5dc[i]--; + } + } + action(npc_tr); + + mDoMtx_stack_c::transS(npc_tr->mCurrent.mPosition.x, npc_tr->mCurrent.mPosition.y, npc_tr->mCurrent.mPosition.z); + mDoMtx_stack_c::YrotM(npc_tr->mCollisionRot.y + npc_tr->field_0x5f0); + mDoMtx_stack_c::XrotM(npc_tr->mCollisionRot.x); + + f32 scale = npc_tr->mScale.x * l_HIO.field_0x8; + mDoMtx_stack_c::scaleM(scale, scale, scale); + PSMTXCopy(mDoMtx_stack_c::get(), npc_tr->field_0x5b8->mBaseTransformMtx); + + return 1; } -#pragma pop /* 80B262D0-80B262D8 0009B0 0008+00 1/0 0/0 0/0 .text daNPC_TR_IsDelete__FP12npc_tr_class */ @@ -443,67 +537,79 @@ static bool daNPC_TR_IsDelete(npc_tr_class* param_0) { return true; } -/* ############################################################################################## */ -/* 80B26608-80B26608 00008C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B26608 = "NPC_TR"; -#pragma pop - /* 80B262D8-80B2632C 0009B8 0054+00 1/0 0/0 0/0 .text daNPC_TR_Delete__FP12npc_tr_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNPC_TR_Delete(npc_tr_class* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Delete__FP12npc_tr_class.s" +static int daNPC_TR_Delete(npc_tr_class* npc_tr) { + dComIfG_resDelete(&npc_tr->mPhaseReq, "NPC_TR"); + + if (npc_tr->field_0x600) { + data_80B26678 = 0; + } + + return 1; } -#pragma pop /* 80B2632C-80B263E4 000A0C 00B8+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void useHeapInit(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/useHeapInit__FP10fopAc_ac_c.s" +static int useHeapInit(fopAc_ac_c* actor) { + npc_tr_class* npc_tr = (npc_tr_class*)actor; + + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("NPC_TR", 3); + npc_tr->field_0x5b8 = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + + if (npc_tr->field_0x5b8 == NULL) { + return 0; + } + + npc_tr->field_0x5b8->setUserArea((u32)actor); + + for (u16 i = 0; i < npc_tr->field_0x5b8->getModelData()->getJointNum(); i++) { + npc_tr->field_0x5b8->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack); + } + + return 1; } -#pragma pop /* 80B263E4-80B264E4 000AC4 0100+00 1/0 0/0 0/0 .text daNPC_TR_Create__FP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +static int daNPC_TR_Create(fopAc_ac_c* ac) { + if (!fopAcM_CheckCondition(ac, 8)) { + new (ac) npc_tr_class(); + fopAcM_OnCondition(ac, 8); + } + npc_tr_class* npc_tr = (npc_tr_class*)ac; + + int load = dComIfG_resLoad(&npc_tr->mPhaseReq, "NPC_TR"); + if (load == 4) { + npc_tr->field_0x5b4 = fopAcM_GetParam(npc_tr); + + if (!fopAcM_entrySolidHeap(npc_tr, useHeapInit, 0x4B000)) { + return 5; + } + + if (!data_80B26678) { + npc_tr->field_0x600 = 1; + data_80B26678 = 1; + l_HIO.field_0x4 = -1; + } + + npc_tr->mCullMtx = npc_tr->field_0x5b8->getBaseTRMtx(); + npc_tr->mScale.x = cM_rndFX(0.1f) + 0.8f; + daNPC_TR_Execute(npc_tr); + } + + return load; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daNPC_TR_Create(fopAc_ac_c* param_0) { +static asm int daNPC_TR_Create(fopAc_ac_c* param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/daNPC_TR_Create__FP10fopAc_ac_c.s" } #pragma pop +#endif /* 80B264E4-80B2652C 000BC4 0048+00 2/1 0/0 0/0 .text __dt__14daNPC_TR_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daNPC_TR_HIO_c::~daNPC_TR_HIO_c() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__dt__14daNPC_TR_HIO_cFv.s" -} -#pragma pop - -/* 80B2652C-80B26568 000C0C 003C+00 0/0 1/0 0/0 .text __sinit_d_a_npc_tr_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_npc_tr_cpp() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr/__sinit_d_a_npc_tr_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80B2652C, __sinit_d_a_npc_tr_cpp); -#pragma pop - -/* 80B26608-80B26608 00008C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +daNPC_TR_HIO_c::~daNPC_TR_HIO_c() {} diff --git a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp index 276bb6c1d8..ff2bdad41b 100644 --- a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp +++ b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp @@ -74,30 +74,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct Z2SoundObjBase { - /* 802BDFF8 */ void deleteObject(); - /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // @@ -453,7 +429,6 @@ extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mTsubo__13dPa_control_c[64]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseX__4cXyz[12]; extern "C" u8 sincosTable___5JMath[65536]; diff --git a/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp b/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp index 767a65e864..77a61a1df6 100644 --- a/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp +++ b/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp @@ -7,22 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daTagMagne_c { - /* 805A5498 */ void Create(); - /* 805A54DC */ void create(); - /* 805A5578 */ void _delete(); - - static u8 mTagMagne[4]; -}; - // // Forward References: // @@ -40,7 +24,6 @@ extern "C" extern void* g_profile_Tag_Magne[12]; extern "C" void __ct__10fopAc_ac_cFv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 mTagMagne__12daTagMagne_c[4]; // @@ -48,34 +31,42 @@ extern "C" u8 mTagMagne__12daTagMagne_c[4]; // /* 805A5498-805A54DC 000078 0044+00 1/1 0/0 0/0 .text Create__12daTagMagne_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMagne_c::Create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/Create__12daTagMagne_cFv.s" +int daTagMagne_c::Create() { + if (mTagMagne != NULL) { + return 0; + } + + mTagMagne = this; + mSwNo1 = getSwNo1(); + mSwNo2 = getSwNo2(); + mSwNo3 = getSwNo3(); + + return 1; } -#pragma pop /* 805A54DC-805A5578 0000BC 009C+00 1/1 0/0 0/0 .text create__12daTagMagne_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMagne_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/func_805A54DC.s" +int daTagMagne_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagMagne_c(); + fopAcM_OnCondition(this, 8); + } + + if (mTagMagne != NULL && mTagMagne->mCurrent.mRoomNo != mCurrent.mRoomNo) { + return 0; + } + + if (!Create()) { + return 5; + } + + return 4; } -#pragma pop /* 805A5578-805A558C 000158 0014+00 1/1 0/0 0/0 .text _delete__12daTagMagne_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMagne_c::_delete() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/_delete__12daTagMagne_cFv.s" +int daTagMagne_c::_delete() { + mTagMagne = NULL; + return 1; } -#pragma pop /* 805A558C-805A55AC 00016C 0020+00 1/0 0/0 0/0 .text daTagMagne_Delete__FP12daTagMagne_c */ diff --git a/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp b/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp index 90b6bfe367..ad1d430fa2 100644 --- a/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp +++ b/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp @@ -818,818 +818,807 @@ extern "C" extern void* g_profile_WarpBug[12]; /* ############################################################################################## */ /* 80456C84-804578E8 -00001 0C64+00 1/1 0/0 0/0 .data g_fpcPfLst_ProfileList */ -SECTION_DATA static void* g_fpcPfLst_ProfileList[793] = { - (void*)&g_profile_OVERLAP0, - (void*)&g_profile_OVERLAP1, - (void*)&g_profile_OVERLAP3, - (void*)&g_profile_OVERLAP6, - (void*)&g_profile_OVERLAP7, - (void*)&g_profile_OVERLAP8, - (void*)&g_profile_OVERLAP9, - (void*)&g_profile_OVERLAP10, - (void*)&g_profile_OVERLAP11, - (void*)&g_profile_LOGO_SCENE, - (void*)&g_profile_MENU_SCENE, - (void*)&g_profile_PLAY_SCENE, - (void*)&g_profile_OPENING_SCENE, - (void*)&g_profile_NAME_SCENE, - (void*)&g_profile_NAMEEX_SCENE, - (void*)&g_profile_WARNING_SCENE, - (void*)&g_profile_WARNING2_SCENE, - (void*)&g_profile_OVERLAP2, - (void*)&g_profile_ROOM_SCENE, - (void*)&g_profile_KANKYO, - (void*)&g_profile_ALLDIE, - (void*)&g_profile_ENVSE, - (void*)&g_profile_Obj_Swpush, - (void*)&g_profile_Obj_Swpush2, - (void*)&g_profile_Obj_Swpush5, - (void*)&g_profile_Tag_Gstart, - (void*)&g_profile_NO_CHG_ROOM, - (void*)&g_profile_Obj_Lv6ElevtA, - (void*)&g_profile_OBJ_SO, - (void*)&g_profile_Obj_Movebox, - (void*)&g_profile_Obj_SwTurn, - (void*)&g_profile_Obj_Lv6SwTurn, - (void*)&g_profile_OBJ_SEKIZOA, - (void*)&g_profile_OBJ_GRA, - (void*)&g_profile_TAG_GRA, - (void*)&g_profile_TAG_YAMI, - (void*)&g_profile_Obj_Ladder, - (void*)&g_profile_OBJ_BEF, - (void*)&g_profile_OBJ_FMOBJ, - (void*)&g_profile_OBJ_LBOX, - (void*)&g_profile_OBJ_WEB0, - (void*)&g_profile_OBJ_WEB1, - (void*)&g_profile_OBJ_CB, - (void*)&g_profile_OBJ_MAKI, - (void*)&g_profile_OBJ_BRG, - (void*)&g_profile_OBJ_GB, - (void*)&g_profile_OBJ_GM, - (void*)&g_profile_OBJ_TOBY, - (void*)&g_profile_OBJ_TP, - (void*)&g_profile_TREESH, - (void*)&g_profile_Obj_ZDoor, - (void*)&g_profile_Obj_Pillar, - (void*)&g_profile_Obj_Cdoor, - (void*)&g_profile_GRDWATER, - (void*)&g_profile_Obj_RotBridge, - (void*)&g_profile_Obj_MagLift, - (void*)&g_profile_Obj_MagLiftRot, - (void*)&g_profile_Obj_Lv1Cdl00, - (void*)&g_profile_Obj_Lv1Cdl01, - (void*)&g_profile_Obj_TvCdlst, - (void*)&g_profile_Obj_HsTarget, - (void*)&g_profile_Obj_HeavySw, - (void*)&g_profile_Obj_GoGate, - (void*)&g_profile_Obj_TaFence, - (void*)&g_profile_Obj_Saidan, - (void*)&g_profile_Obj_SpinLift, - (void*)&g_profile_Obj_BmWindow, - (void*)&g_profile_Obj_RfHole, - (void*)&g_profile_Obj_WaterPillar, - (void*)&g_profile_Obj_SyRock, - (void*)&g_profile_Obj_BsGate, - (void*)&g_profile_Obj_AmiShutter, - (void*)&g_profile_Obj_WtGate, - (void*)&g_profile_Obj_Lv2Candle, - (void*)&g_profile_Obj_TogeTrap, - (void*)&g_profile_Obj_RotTrap, - (void*)&g_profile_Obj_SwallShutter, - (void*)&g_profile_Obj_IceWall, - (void*)&g_profile_Obj_Lv5SwIce, - (void*)&g_profile_Obj_Lv5FBoard, - (void*)&g_profile_Obj_Turara, - (void*)&g_profile_Obj_TwGate, - (void*)&g_profile_Obj_Digholl, - (void*)&g_profile_Obj_Digpl, - (void*)&g_profile_Obj_TestCube, - (void*)&g_profile_Obj_Kshutter, - (void*)&g_profile_NPC_COACH, - (void*)&g_profile_NPC_THEB, - (void*)&g_profile_COACH_FIRE, - (void*)&g_profile_COACH2D, - (void*)&g_profile_BALLOON2D, - (void*)&g_profile_SKIP2D, - (void*)&g_profile_Obj_MvStair, - (void*)&g_profile_Obj_Cowdoor, - (void*)&g_profile_Obj_Swpropeller, - (void*)&g_profile_Obj_BoomShutter, - (void*)&g_profile_NPC_KS, - (void*)&g_profile_Obj_Hfuta, - (void*)&g_profile_Obj_BkDoor, - (void*)&g_profile_Obj_Cboard, - (void*)&g_profile_Obj_MGate, - (void*)&g_profile_Obj_Ikada, - (void*)&g_profile_Obj_Ice_l, - (void*)&g_profile_Obj_Ice_s, - (void*)&g_profile_Obj_E_CREATE, - (void*)&g_profile_Obj_Bhbridge, - (void*)&g_profile_Obj_Kaisou, - (void*)&g_profile_Obj_HHASHI, - (void*)&g_profile_Obj_BHASHI, - (void*)&g_profile_OCTHASHI, - (void*)&g_profile_Obj_THASHI, - (void*)&g_profile_Obj_CRVGATE, - (void*)&g_profile_Obj_CRVFENCE, - (void*)&g_profile_Obj_CRVHAHEN, - (void*)&g_profile_Obj_CRVSTEEL, - (void*)&g_profile_Obj_CRVLH_UP, - (void*)&g_profile_Obj_CRVLH_DW, - (void*)&g_profile_Obj_RIVERROCK, - (void*)&g_profile_Obj_DUST, - (void*)&g_profile_Obj_ITA, - (void*)&g_profile_Obj_Window, - (void*)&g_profile_Obj_MetalBox, - (void*)&g_profile_Obj_BBox, - (void*)&g_profile_OBJ_MSIMA, - (void*)&g_profile_OBJ_MYOGAN, - (void*)&g_profile_B_ZANTS, - (void*)&g_profile_Obj_ChainBlock, - (void*)&g_profile_Obj_ChainWall, - (void*)&g_profile_Obj_KkrGate, - (void*)&g_profile_Obj_RiderGate, - (void*)&g_profile_Obj_Onsen, - (void*)&g_profile_Obj_Chest, - (void*)&g_profile_Obj_Bemos, - (void*)&g_profile_Obj_RopeBridge, - (void*)&g_profile_Obj_WellCover, - (void*)&g_profile_Obj_GraveStone, - (void*)&g_profile_Obj_ZraRock, - (void*)&g_profile_Obj_GraRock, - (void*)&g_profile_Obj_GrzRock, - (void*)&g_profile_GRA_WALL, - (void*)&g_profile_OBJ_ONSEN_FIRE, - (void*)&g_profile_Obj_Lv6bemos, - (void*)&g_profile_Obj_Lv6bemos2, - (void*)&g_profile_Obj_BarDesk, - (void*)&g_profile_Obj_DigSnow, - (void*)&g_profile_Obj_Ytaihou, - (void*)&g_profile_Obj_Elevator, - (void*)&g_profile_Obj_Lv6TogeRoll, - (void*)&g_profile_Obj_Lv6TogeTrap, - (void*)&g_profile_Obj_Lv6Tenbin, - (void*)&g_profile_Obj_Lv6SwGate, - (void*)&g_profile_Obj_Lv6Lblock, - (void*)&g_profile_Obj_Lv6ChgGate, - (void*)&g_profile_Obj_Lv6FuriTrap, - (void*)&g_profile_Obj_Lv6SzGate, - (void*)&g_profile_Obj_Lv4EdShutter, - (void*)&g_profile_Obj_Lv4Gate, - (void*)&g_profile_Obj_Lv4PoGate, - (void*)&g_profile_Obj_Lv4SlideWall, - (void*)&g_profile_Obj_Lv4HsTarget, - (void*)&g_profile_Obj_Lv7PropY, - (void*)&g_profile_Obj_Lv7BsGate, - (void*)&g_profile_Obj_Lv8OptiLift, - (void*)&g_profile_Obj_Lv8KekkaiTrap, - (void*)&g_profile_Obj_Lv8Lift, - (void*)&g_profile_Obj_Lv8UdFloor, - (void*)&g_profile_Obj_Lv9SwShutter, - (void*)&g_profile_Obj_TobyHouse, - (void*)&g_profile_Obj_poCandle, - (void*)&g_profile_Obj_Lv4DigSand, - (void*)&g_profile_Obj_FallObj, - (void*)&g_profile_Obj_SmgDoor, - (void*)&g_profile_Obj_SwLight, - (void*)&g_profile_Obj_Avalanche, - (void*)&g_profile_Obj_MirrorScrew, - (void*)&g_profile_Obj_MirrorSand, - (void*)&g_profile_Obj_MirrorTable, - (void*)&g_profile_Obj_MirrorChain, - (void*)&g_profile_Obj_Mirror6Pole, - (void*)&g_profile_Obj_SwSpinner, - (void*)&g_profile_Obj_TDoor, - (void*)&g_profile_Obj_Lv7Bridge, - (void*)&g_profile_Obj_zrTurara, - (void*)&g_profile_Obj_TakaraDai, - (void*)&g_profile_Obj_Table, - (void*)&g_profile_Obj_CatDoor, - (void*)&g_profile_Obj_Gake, - (void*)&g_profile_CSTAF, - (void*)&g_profile_Obj_Lv4RailWall, - (void*)&g_profile_Obj_Lv4Sand, - (void*)&g_profile_Obj_PushDoor, - (void*)&g_profile_PushDoor, - (void*)&g_profile_Obj_GanonWall2, - (void*)&g_profile_Obj_Lv4Bridge, - (void*)&g_profile_Obj_Lv4Floor, - (void*)&g_profile_Tag_Spinner, - (void*)&g_profile_Obj_SwHang, - (void*)&g_profile_Obj_RotStair, - (void*)&g_profile_Obj_MagneArm, - (void*)&g_profile_Obj_KWheel00, - (void*)&g_profile_Obj_KWheel01, - (void*)&g_profile_Obj_Ychndlr, - (void*)&g_profile_Obj_PRElvtr, - (void*)&g_profile_Obj_MHasu, - (void*)&g_profile_Obj_YIblltray, - (void*)&g_profile_Obj_Lv6EGate, - (void*)&g_profile_Obj_PDtile, - (void*)&g_profile_Obj_PDwall, - (void*)&g_profile_Obj_Lv4PRwall, - (void*)&g_profile_Obj_KLift00, - (void*)&g_profile_B_OH, - (void*)&g_profile_Obj_Lv4Chan, - (void*)&g_profile_Obj_Lv3R10Saka, - (void*)&g_profile_Obj_Lv3Water, - (void*)&g_profile_Obj_Lv3Water2, - (void*)&g_profile_OBJ_LV3WATERB, - (void*)&g_profile_Obj_HBombkoya, - (void*)&g_profile_Obj_SZbridge, - (void*)&g_profile_Obj_KakarikoBrg, - (void*)&g_profile_Obj_OrdinBrg, - (void*)&g_profile_Obj_BurnBox, - (void*)&g_profile_Obj_KJgjs, - (void*)&g_profile_OBJ_IHASI, - (void*)&g_profile_Obj_IceBlock, - (void*)&g_profile_Obj_VolcanicBall, - (void*)&g_profile_Obj_VolcanicBomb, - (void*)&g_profile_Obj_VolcGnd, - (void*)&g_profile_Obj_KKanban, - (void*)&g_profile_E_PH, - (void*)&g_profile_NPC_ZRA, - (void*)&g_profile_Obj_Chandelier, - (void*)&g_profile_Obj_Stopper2, - (void*)&g_profile_DOOR20, - (void*)&g_profile_Tag_Hinit, - (void*)&g_profile_Tag_Hjump, - (void*)&g_profile_Tag_AJnot, - (void*)&g_profile_Tag_Hstop, - (void*)&g_profile_CANOE, - (void*)&g_profile_HORSE, - (void*)&g_profile_E_WB, - (void*)&g_profile_OBJ_ITO, - (void*)&g_profile_OBJ_SW, - (void*)&g_profile_SPINNER, - (void*)&g_profile_B_OB, - (void*)&g_profile_KAGO, - (void*)&g_profile_E_YC, - (void*)&g_profile_B_DS, - (void*)&g_profile_B_DR, - (void*)&g_profile_B_ZANTZ, - (void*)&g_profile_B_ZANT, - (void*)&g_profile_B_ZANTM, - (void*)&g_profile_TBOX, - (void*)&g_profile_TBOX2, - (void*)&g_profile_ALINK, - (void*)&g_profile_BOOMERANG, - (void*)&g_profile_MIDNA, - (void*)&g_profile_NPC_TK, - (void*)&g_profile_NPC_WORM, - (void*)&g_profile_PPolamp, - (void*)&g_profile_BkyRock, - (void*)&g_profile_HITOBJ, - (void*)&g_profile_EP, - (void*)&g_profile_COW, - (void*)&g_profile_PERU, - (void*)&g_profile_NI, - (void*)&g_profile_NPC_TKJ2, - (void*)&g_profile_SQ, - (void*)&g_profile_NPC_SQ, - (void*)&g_profile_DO, - (void*)&g_profile_NPC_NE, - (void*)&g_profile_NPC_TR, - (void*)&g_profile_NPC_LF, - (void*)&g_profile_OBJ_FOOD, - (void*)&g_profile_OBJ_KI, - (void*)&g_profile_OBJ_KITA, - (void*)&g_profile_OBJ_KEY, - (void*)&g_profile_OBJ_KEYHOLE, - (void*)&g_profile_Obj_Lv5Key, - (void*)&g_profile_OBJ_LP, - (void*)&g_profile_OBJ_TATIGI, - (void*)&g_profile_OBJ_ROCK, - (void*)&g_profile_OBJ_WFLAG, - (void*)&g_profile_OBJ_KAGE, - (void*)&g_profile_OBJ_KANBAN2, - (void*)&g_profile_OBJ_BALLOON, - (void*)&g_profile_OBJ_SUISYA, - (void*)&g_profile_OBJ_OILTUBO, - (void*)&g_profile_OBJ_ROTEN, - (void*)&g_profile_OBJ_SSDRINK, - (void*)&g_profile_OBJ_SSITEM, - (void*)&g_profile_TAG_SSDRINK, - (void*)&g_profile_TAG_BTLITM, - (void*)&g_profile_TAG_LV5SOUP, - (void*)&g_profile_TAG_MNLIGHT, - (void*)&g_profile_TAG_SHOPCAM, - (void*)&g_profile_TAG_SHOPITM, - (void*)&g_profile_OBJ_NDOOR, - (void*)&g_profile_OBJ_UDOOR, - (void*)&g_profile_OBJ_USAKU, - (void*)&g_profile_Obj_SM_DOOR, - (void*)&g_profile_OBJ_BED, - (void*)&g_profile_OBJ_BOUMATO, - (void*)&g_profile_OBJ_ITAMATO, - (void*)&g_profile_OBJ_NOUGU, - (void*)&g_profile_OBJ_STICK, - (void*)&g_profile_OBJ_MIE, - (void*)&g_profile_OBJ_SEKIDOOR, - (void*)&g_profile_OBJ_SEKIZO, - (void*)&g_profile_OBJ_SMTILE, - (void*)&g_profile_NPC_FISH, - (void*)&g_profile_MG_FISH, - (void*)&g_profile_FSHOP, - (void*)&g_profile_NPC_DU, - (void*)&g_profile_DISAPPEAR, - (void*)&g_profile_Obj_Mato, - (void*)&g_profile_Obj_Flag, - (void*)&g_profile_Obj_Flag2, - (void*)&g_profile_Obj_Flag3, - (void*)&g_profile_Obj_GOMIKABE, - (void*)&g_profile_Obj_Yousei, - (void*)&g_profile_Obj_Kabuto, - (void*)&g_profile_Obj_Cho, - (void*)&g_profile_Obj_Kuw, - (void*)&g_profile_Obj_Nan, - (void*)&g_profile_Obj_Dan, - (void*)&g_profile_Obj_Kam, - (void*)&g_profile_Obj_Ten, - (void*)&g_profile_Obj_Ari, - (void*)&g_profile_Obj_Kag, - (void*)&g_profile_Obj_Batta, - (void*)&g_profile_Obj_Tombo, - (void*)&g_profile_Obj_Kat, - (void*)&g_profile_Obj_H_Saku, - (void*)&g_profile_Obj_Yobikusa, - (void*)&g_profile_Obj_KazeNeko, - (void*)&g_profile_Obj_KznkArm, - (void*)&g_profile_Obj_NamePlate, - (void*)&g_profile_Obj_OnCloth, - (void*)&g_profile_Obj_LndRope, - (void*)&g_profile_Obj_ItaRope, - (void*)&g_profile_Obj_Sakuita, - (void*)&g_profile_Obj_Laundry, - (void*)&g_profile_WarpBug, - (void*)&g_profile_Izumi_Gate, - (void*)&g_profile_Obj_Fchain, - (void*)&g_profile_Obj_Wchain, - (void*)&g_profile_Tag_Attp, - (void*)&g_profile_Obj_Tornado, - (void*)&g_profile_Obj_Tornado2, - (void*)&g_profile_Obj_FirePillar, - (void*)&g_profile_Obj_FirePillar2, - (void*)&g_profile_Obj_InoBone, - (void*)&g_profile_Obj_Stopper, - (void*)&g_profile_Obj_MHole, - (void*)&g_profile_Tag_Magne, - (void*)&g_profile_Obj_BossWarp, - (void*)&g_profile_Obj_WoodPendulum, - (void*)&g_profile_Obj_WdStick, - (void*)&g_profile_Obj_StairBlock, - (void*)&g_profile_Obj_Geyser, - (void*)&g_profile_Tag_KtOnFire, - (void*)&g_profile_Obj_FireWood, - (void*)&g_profile_Obj_FireWood2, - (void*)&g_profile_Obj_GpTaru, - (void*)&g_profile_Obj_OnsenTaru, - (void*)&g_profile_Obj_KiPot, - (void*)&g_profile_TBOX_SW, - (void*)&g_profile_Obj_SwChain, - (void*)&g_profile_Obj_WoodenSword, - (void*)&g_profile_Obj_StoneMark, - (void*)&g_profile_Obj_Lv3Candle, - (void*)&g_profile_Tag_Lv4Candle, - (void*)&g_profile_Tag_Lv4CandleDm, - (void*)&g_profile_Obj_DamCps, - (void*)&g_profile_Obj_Smoke, - (void*)&g_profile_Obj_WaterFall, - (void*)&g_profile_Obj_ZoraCloth, - (void*)&g_profile_Obj_poFire, - (void*)&g_profile_Tag_poFire, - (void*)&g_profile_Obj_glowSphere, - (void*)&g_profile_Tag_LightBall, - (void*)&g_profile_SwLBall, - (void*)&g_profile_SwBall, - (void*)&g_profile_Obj_WaterEff, - (void*)&g_profile_Tag_RiverBack, - (void*)&g_profile_Tag_KagoFall, - (void*)&g_profile_Tag_Lv2PrChk, - (void*)&g_profile_Obj_Lv4Gear, - (void*)&g_profile_Obj_MasterSword, - (void*)&g_profile_Obj_WoodStatue, - (void*)&g_profile_Obj_Fan, - (void*)&g_profile_Obj_IceLeaf, - (void*)&g_profile_Obj_zrTuraraRc, - (void*)&g_profile_Tag_RetRoom, - (void*)&g_profile_Obj_WindStone, - (void*)&g_profile_Tag_WaraHowl, - (void*)&g_profile_Obj_SCannon, - (void*)&g_profile_Obj_SmWStone, - (void*)&g_profile_Obj_SCannonCrs, - (void*)&g_profile_Tag_SnowEff, - (void*)&g_profile_Tag_CstaSw, - (void*)&g_profile_Tag_Lv6CstaSw, - (void*)&g_profile_Obj_awaPlar, - (void*)&g_profile_Obj_poTbox, - (void*)&g_profile_Obj_TimeFire, - (void*)&g_profile_Obj_TMoon, - (void*)&g_profile_Obj_GanonWall, - (void*)&g_profile_Obj_Prop, - (void*)&g_profile_CSTATUE, - (void*)&g_profile_Obj_SwBallA, - (void*)&g_profile_Obj_SwBallB, - (void*)&g_profile_Obj_SnowSoup, - (void*)&g_profile_Obj_Nagaisu, - (void*)&g_profile_Obj_RCircle, - (void*)&g_profile_Obj_Picture, - (void*)&g_profile_Tag_SetBall, - (void*)&g_profile_Tag_SmkEmt, - (void*)&g_profile_SwTime, - (void*)&g_profile_Obj_HFtr, - (void*)&g_profile_Obj_HBarrel, - (void*)&g_profile_Obj_Crystal, - (void*)&g_profile_Obj_SCannonTen, - (void*)&g_profile_Obj_SwBallC, - (void*)&g_profile_SCENE_EXIT2, - (void*)&g_profile_Obj_Hata, - (void*)&g_profile_Obj_ToaruMaki, - (void*)&g_profile_Tag_AttackItem, - (void*)&g_profile_Tag_RmbitSw, - (void*)&g_profile_Obj_Sword, - (void*)&g_profile_Tag_Spring, - (void*)&g_profile_Tag_Statue, - (void*)&g_profile_E_AI, - (void*)&g_profile_E_GS, - (void*)&g_profile_E_GOB, - (void*)&g_profile_E_DD, - (void*)&g_profile_E_DN, - (void*)&g_profile_E_S1, - (void*)&g_profile_E_MF, - (void*)&g_profile_E_SG, - (void*)&g_profile_E_BS, - (void*)&g_profile_E_SF, - (void*)&g_profile_E_SH, - (void*)&g_profile_E_DF, - (void*)&g_profile_E_GM, - (void*)&g_profile_E_MD, - (void*)&g_profile_E_SM, - (void*)&g_profile_E_SM2, - (void*)&g_profile_E_ST, - (void*)&g_profile_E_ST_LINE, - (void*)&g_profile_E_SB, - (void*)&g_profile_E_TH, - (void*)&g_profile_E_CR, - (void*)&g_profile_E_CR_EGG, - (void*)&g_profile_E_DB, - (void*)&g_profile_E_DB_LEAF, - (void*)&g_profile_E_GA, - (void*)&g_profile_E_GB, - (void*)&g_profile_E_HB, - (void*)&g_profile_E_HB_LEAF, - (void*)&g_profile_E_HZELDA, - (void*)&g_profile_E_YD, - (void*)&g_profile_E_YH, - (void*)&g_profile_E_YD_LEAF, - (void*)&g_profile_E_HM, - (void*)&g_profile_E_TK, - (void*)&g_profile_E_TK2, - (void*)&g_profile_E_TK_BALL, - (void*)&g_profile_E_RB, - (void*)&g_profile_E_RD, - (void*)&g_profile_E_RDB, - (void*)&g_profile_E_RDY, - (void*)&g_profile_E_FM, - (void*)&g_profile_E_FS, - (void*)&g_profile_E_PM, - (void*)&g_profile_E_PO, - (void*)&g_profile_E_MB, - (void*)&g_profile_E_MK, - (void*)&g_profile_E_MM, - (void*)&g_profile_E_FZ, - (void*)&g_profile_E_ZS, - (void*)&g_profile_E_KK, - (void*)&g_profile_E_HP, - (void*)&g_profile_E_ZH, - (void*)&g_profile_E_ZM, - (void*)&g_profile_E_PZ, - (void*)&g_profile_E_FB, - (void*)&g_profile_E_FK, - (void*)&g_profile_E_MS, - (void*)&g_profile_E_NEST, - (void*)&g_profile_E_NZ, - (void*)&g_profile_E_BA, - (void*)&g_profile_E_BU, - (void*)&g_profile_E_BUG, - (void*)&g_profile_E_BEE, - (void*)&g_profile_E_IS, - (void*)&g_profile_E_KG, - (void*)&g_profile_E_KR, - (void*)&g_profile_E_SW, - (void*)&g_profile_E_GE, - (void*)&g_profile_Tag_WatchGe, - (void*)&g_profile_E_YM, - (void*)&g_profile_E_YM_TAG, - (void*)&g_profile_E_YMB, - (void*)&g_profile_Tag_FWall, - (void*)&g_profile_Tag_WaterFall, - (void*)&g_profile_E_YK, - (void*)&g_profile_E_YR, - (void*)&g_profile_E_YG, - (void*)&g_profile_E_HZ, - (void*)&g_profile_E_WS, - (void*)&g_profile_E_OC, - (void*)&g_profile_E_OT, - (void*)&g_profile_E_DT, - (void*)&g_profile_E_BG, - (void*)&g_profile_E_OctBg, - (void*)&g_profile_DR, - (void*)&g_profile_L7lowDr, - (void*)&g_profile_L7ODR, - (void*)&g_profile_E_TT, - (void*)&g_profile_E_DK, - (void*)&g_profile_E_VT, - (void*)&g_profile_E_WW, - (void*)&g_profile_E_GI, - (void*)&g_profile_B_BH, - (void*)&g_profile_B_BQ, - (void*)&g_profile_B_GM, - (void*)&g_profile_B_GND, - (void*)&g_profile_B_GO, - (void*)&g_profile_B_OH2, - (void*)&g_profile_B_YO, - (void*)&g_profile_B_YOI, - (void*)&g_profile_B_TN, - (void*)&g_profile_B_GG, - (void*)&g_profile_B_DRE, - (void*)&g_profile_B_MGN, - (void*)&g_profile_E_WAP, - (void*)&g_profile_ITEM, - (void*)&g_profile_Obj_SmallKey, - (void*)&g_profile_Obj_Kantera, - (void*)&g_profile_Obj_LifeContainer, - (void*)&g_profile_Obj_Shield, - (void*)&g_profile_Demo_Item, - (void*)&g_profile_ShopItem, - (void*)&g_profile_Obj_Drop, - (void*)&g_profile_OBJ_RW, - (void*)&g_profile_NBOMB, - (void*)&g_profile_TAG_CSW, - (void*)&g_profile_TAG_QS, - (void*)&g_profile_HOZELDA, - (void*)&g_profile_SWC00, - (void*)&g_profile_KNOB20, - (void*)&g_profile_DBDOOR, - (void*)&g_profile_BOSS_DOOR, - (void*)&g_profile_L1BOSS_DOOR, - (void*)&g_profile_L1MBOSS_DOOR, - (void*)&g_profile_L5BOSS_DOOR, - (void*)&g_profile_DSHUTTER, - (void*)&g_profile_SPIRAL_DOOR, - (void*)&g_profile_Tag_ChgRestart, - (void*)&g_profile_Tag_Restart, - (void*)&g_profile_ANDSW, - (void*)&g_profile_ANDSW2, - (void*)&g_profile_MYNA, - (void*)&g_profile_NPC_GND, - (void*)&g_profile_NPC_GRA, - (void*)&g_profile_NPC_GRC, - (void*)&g_profile_NPC_GRD, - (void*)&g_profile_NPC_GRM, - (void*)&g_profile_NPC_GRMC, - (void*)&g_profile_NPC_GRO, - (void*)&g_profile_NPC_GRR, - (void*)&g_profile_NPC_GRS, - (void*)&g_profile_NPC_GRZ, - (void*)&g_profile_NPC_YAMID, - (void*)&g_profile_NPC_YAMIT, - (void*)&g_profile_NPC_YAMIS, - (void*)&g_profile_NPC_BLUENS, - (void*)&g_profile_NPC_KAKASHI, - (void*)&g_profile_NPC_KDK, - (void*)&g_profile_NPC_ARU, - (void*)&g_profile_NPC_BANS, - (void*)&g_profile_NPC_BESU, - (void*)&g_profile_NPC_BOU, - (void*)&g_profile_NPC_BOU_S, - (void*)&g_profile_NPC_CLERKA, - (void*)&g_profile_NPC_CLERKB, - (void*)&g_profile_NPC_CLERKT, - (void*)&g_profile_NPC_WRESTLER, - (void*)&g_profile_Tag_Arena, - (void*)&g_profile_Tag_Instruction, - (void*)&g_profile_NPC_DOC, - (void*)&g_profile_NPC_GWOLF, - (void*)&g_profile_NPC_LEN, - (void*)&g_profile_NPC_LUD, - (void*)&g_profile_NPC_FAIRY_SEIREI, - (void*)&g_profile_NPC_FAIRY, - (void*)&g_profile_NPC_HANJO, - (void*)&g_profile_NPC_HENNA, - (void*)&g_profile_NPC_HENNA0, - (void*)&g_profile_NPC_HOZ, - (void*)&g_profile_NPC_JAGAR, - (void*)&g_profile_NPC_KKRI, - (void*)&g_profile_NPC_KN, - (void*)&g_profile_KN_BULLET, - (void*)&g_profile_NPC_KNJ, - (void*)&g_profile_NPC_KOLIN, - (void*)&g_profile_NPC_KOLINB, - (void*)&g_profile_NPC_KYURY, - (void*)&g_profile_NPC_MARO, - (void*)&g_profile_NPC_MIDP, - (void*)&g_profile_NPC_MOI, - (void*)&g_profile_NPC_RACA, - (void*)&g_profile_NPC_SARU, - (void*)&g_profile_NPC_SEIB, - (void*)&g_profile_NPC_SEIC, - (void*)&g_profile_NPC_SEID, - (void*)&g_profile_NPC_SEIRA, - (void*)&g_profile_NPC_SERA2, - (void*)&g_profile_NPC_SEIREI, - (void*)&g_profile_NPC_SHAMAN, - (void*)&g_profile_NPC_SMARO, - (void*)&g_profile_NPC_SOLA, - (void*)&g_profile_NPC_TARO, - (void*)&g_profile_NPC_PACHI_BESU, - (void*)&g_profile_NPC_PACHI_TARO, - (void*)&g_profile_NPC_PACHI_MARO, - (void*)&g_profile_TAG_PATI, - (void*)&g_profile_NPC_THE, - (void*)&g_profile_NPC_TKJ, - (void*)&g_profile_NPC_TKS, - (void*)&g_profile_NPC_TKC, - (void*)&g_profile_OBJ_TKS, - (void*)&g_profile_NPC_TOBY, - (void*)&g_profile_NPC_URI, - (void*)&g_profile_NPC_YELIA, - (void*)&g_profile_NPC_YKM, - (void*)&g_profile_NPC_YKW, - (void*)&g_profile_NPC_ZANB, - (void*)&g_profile_NPC_ZANT, - (void*)&g_profile_NPC_ZELDA, - (void*)&g_profile_NPC_ZELR, - (void*)&g_profile_NPC_ZELRO, - (void*)&g_profile_OBJ_ZRAFREEZE, - (void*)&g_profile_NPC_ZRC, - (void*)&g_profile_NPC_ZRZ, - (void*)&g_profile_ZRA_MARK, - (void*)&g_profile_MYNA2, - (void*)&g_profile_TAG_MYNA2, - (void*)&g_profile_NPC_CD3, - (void*)&g_profile_Tag_Schedule, - (void*)&g_profile_Tag_Escape, - (void*)&g_profile_NPC_CHAT, - (void*)&g_profile_NPC_SOLDIERa, - (void*)&g_profile_NPC_SOLDIERb, - (void*)&g_profile_PASSER_MNG, - (void*)&g_profile_NPC_PASSER, - (void*)&g_profile_NPC_PASSER2, - (void*)&g_profile_NPC_POST, - (void*)&g_profile_NPC_POUYA, - (void*)&g_profile_FORMATION_MNG, - (void*)&g_profile_NPC_FGUARD, - (void*)&g_profile_GUARD_MNG, - (void*)&g_profile_TAG_GUARD, - (void*)&g_profile_NPC_GUARD, - (void*)&g_profile_NPC_ASH, - (void*)&g_profile_NPC_ASHB, - (void*)&g_profile_NPC_SHAD, - (void*)&g_profile_NPC_RAFREL, - (void*)&g_profile_NPC_MOIR, - (void*)&g_profile_NPC_IMPAL, - (void*)&g_profile_NPC_SHOE, - (void*)&g_profile_NPC_DOORBOY, - (void*)&g_profile_NPC_PRAYER, - (void*)&g_profile_NPC_KASIHANA, - (void*)&g_profile_NPC_KASIKYU, - (void*)&g_profile_NPC_KASIMICH, - (void*)&g_profile_NPC_DRSOL, - (void*)&g_profile_NPC_CHIN, - (void*)&g_profile_NPC_INS, - (void*)&g_profile_NPC_SHOP0, - (void*)&g_profile_NPC_MK, - (void*)&g_profile_NPC_P2, - (void*)&g_profile_KYTAG00, - (void*)&g_profile_KYTAG01, - (void*)&g_profile_KYTAG02, - (void*)&g_profile_KYTAG03, - (void*)&g_profile_KYTAG04, - (void*)&g_profile_KYTAG05, - (void*)&g_profile_KYTAG06, - (void*)&g_profile_KYTAG07, - (void*)&g_profile_KYTAG08, - (void*)&g_profile_KYTAG09, - (void*)&g_profile_KYTAG10, - (void*)&g_profile_KYTAG11, - (void*)&g_profile_KYTAG12, - (void*)&g_profile_KYTAG13, - (void*)&g_profile_KYTAG14, - (void*)&g_profile_KYTAG15, - (void*)&g_profile_KYTAG16, - (void*)&g_profile_KYTAG17, - (void*)&g_profile_Ykgr, - (void*)&g_profile_TALK, - (void*)&g_profile_Obj_Crope, - (void*)&g_profile_Obj_Bombf, - (void*)&g_profile_Obj_BkLeaf, - (void*)&g_profile_Tag_Mhint, - (void*)&g_profile_Tag_Mmsg, - (void*)&g_profile_Tag_Mwait, - (void*)&g_profile_Tag_Mstop, - (void*)&g_profile_Tag_Stream, - (void*)&g_profile_Tag_Sppath, - (void*)&g_profile_Tag_Wljump, - (void*)&g_profile_Tag_TWGate, - (void*)&g_profile_Tag_Lv6Gate, - (void*)&g_profile_Tag_Lv7Gate, - (void*)&g_profile_Tag_Lv8Gate, - (void*)&g_profile_Tag_TheBHint, - (void*)&g_profile_Tag_Assist, - (void*)&g_profile_DEMO00, - (void*)&g_profile_TAG_CAMERA, - (void*)&g_profile_TAG_CHKPOINT, - (void*)&g_profile_TAG_EVENT, - (void*)&g_profile_TAG_EVT, - (void*)&g_profile_TAG_TELOP, - (void*)&g_profile_TAG_HOWL, - (void*)&g_profile_TAG_MSG, - (void*)&g_profile_TAG_LANTERN, - (void*)&g_profile_Tag_Mist, - (void*)&g_profile_DMIDNA, - (void*)&g_profile_KY_THUNDER, - (void*)&g_profile_VRBOX, - (void*)&g_profile_VRBOX2, - (void*)&g_profile_BG, - (void*)&g_profile_SET_BG_OBJ, - (void*)&g_profile_BG_OBJ, - (void*)&g_profile_MIRROR, - (void*)&g_profile_MOVIE_PLAYER, - (void*)&g_profile_TITLE, - (void*)&g_profile_FR, - (void*)&g_profile_ECONT, - (void*)&g_profile_MG_ROD, - (void*)&g_profile_E_ARROW, - (void*)&g_profile_BULLET, - (void*)&g_profile_SWHIT0, - (void*)&g_profile_E_TH_BALL, - (void*)&g_profile_TAG_EVTAREA, - (void*)&g_profile_TAG_EVTMSG, - (void*)&g_profile_TAG_KMSG, - (void*)&g_profile_TAG_PUSH, - (void*)&g_profile_E_MK_BO, - (void*)&g_profile_E_MM_MT, - (void*)&g_profile_OBJ_KBOX, - (void*)&g_profile_OBJ_FW, - (void*)&g_profile_B_GOS, - (void*)&g_profile_OBJ_YSTONE, - (void*)&g_profile_MANT, - (void*)&g_profile_CROD, - (void*)&g_profile_OBJ_PLEAF, - (void*)&g_profile_OBJ_KBACKET, - (void*)&g_profile_OBJ_YBAG, - (void*)&g_profile_OBJ_PUMPKIN, - (void*)&g_profile_OBJ_AUTOMATA, - (void*)&g_profile_OBJ_GADGET, - (void*)&g_profile_OBJ_KAGO, - (void*)&g_profile_Obj_Carry, - (void*)&g_profile_Obj_Stone, - (void*)&g_profile_OBJ_HB, - (void*)&g_profile_NPC_INKO, - (void*)&g_profile_BD, - (void*)&g_profile_Obj_Eff, - (void*)&g_profile_WPILLAR, - (void*)&g_profile_WMARK, - (void*)&g_profile_E_BI, - (void*)&g_profile_E_BI_LEAF, - (void*)&g_profile_START_AND_GOAL, - (void*)&g_profile_NPC_DF, - (void*)&g_profile_ARROW, - (void*)&g_profile_PATH_LINE, - (void*)&g_profile_TAG_ALLMATO, - (void*)&g_profile_Obj_Timer, - (void*)&g_profile_SCENE_EXIT, - (void*)&g_profile_CAMERA, - (void*)&g_profile_CAMERA2, - (void*)&g_profile_SUSPEND, - (void*)&g_profile_GRASS, - (void*)&g_profile_KYEFF, - (void*)&g_profile_KYEFF2, - (void*)&g_profile_MSG_OBJECT, - (void*)&g_profile_MENUWINDOW, - (void*)&g_profile_TIMER, - (void*)&g_profile_METER2, - (void*)&g_profile_GAMEOVER, - (void*)NULL, +SECTION_DATA static process_profile_definition* g_fpcPfLst_ProfileList[793] = { + (process_profile_definition*)&g_profile_OVERLAP0, + (process_profile_definition*)&g_profile_OVERLAP1, + (process_profile_definition*)&g_profile_OVERLAP3, + (process_profile_definition*)&g_profile_OVERLAP6, + (process_profile_definition*)&g_profile_OVERLAP7, + (process_profile_definition*)&g_profile_OVERLAP8, + (process_profile_definition*)&g_profile_OVERLAP9, + (process_profile_definition*)&g_profile_OVERLAP10, + (process_profile_definition*)&g_profile_OVERLAP11, + (process_profile_definition*)&g_profile_LOGO_SCENE, + (process_profile_definition*)&g_profile_MENU_SCENE, + (process_profile_definition*)&g_profile_PLAY_SCENE, + (process_profile_definition*)&g_profile_OPENING_SCENE, + (process_profile_definition*)&g_profile_NAME_SCENE, + (process_profile_definition*)&g_profile_NAMEEX_SCENE, + (process_profile_definition*)&g_profile_WARNING_SCENE, + (process_profile_definition*)&g_profile_WARNING2_SCENE, + (process_profile_definition*)&g_profile_OVERLAP2, + (process_profile_definition*)&g_profile_ROOM_SCENE, + (process_profile_definition*)&g_profile_KANKYO, + (process_profile_definition*)&g_profile_ALLDIE, + (process_profile_definition*)&g_profile_ENVSE, + (process_profile_definition*)&g_profile_Obj_Swpush, + (process_profile_definition*)&g_profile_Obj_Swpush2, + (process_profile_definition*)&g_profile_Obj_Swpush5, + (process_profile_definition*)&g_profile_Tag_Gstart, + (process_profile_definition*)&g_profile_NO_CHG_ROOM, + (process_profile_definition*)&g_profile_Obj_Lv6ElevtA, + (process_profile_definition*)&g_profile_OBJ_SO, + (process_profile_definition*)&g_profile_Obj_Movebox, + (process_profile_definition*)&g_profile_Obj_SwTurn, + (process_profile_definition*)&g_profile_Obj_Lv6SwTurn, + (process_profile_definition*)&g_profile_OBJ_SEKIZOA, + (process_profile_definition*)&g_profile_OBJ_GRA, + (process_profile_definition*)&g_profile_TAG_GRA, + (process_profile_definition*)&g_profile_TAG_YAMI, + (process_profile_definition*)&g_profile_Obj_Ladder, + (process_profile_definition*)&g_profile_OBJ_BEF, + (process_profile_definition*)&g_profile_OBJ_FMOBJ, + (process_profile_definition*)&g_profile_OBJ_LBOX, + (process_profile_definition*)&g_profile_OBJ_WEB0, + (process_profile_definition*)&g_profile_OBJ_WEB1, + (process_profile_definition*)&g_profile_OBJ_CB, + (process_profile_definition*)&g_profile_OBJ_MAKI, + (process_profile_definition*)&g_profile_OBJ_BRG, + (process_profile_definition*)&g_profile_OBJ_GB, + (process_profile_definition*)&g_profile_OBJ_GM, + (process_profile_definition*)&g_profile_OBJ_TOBY, + (process_profile_definition*)&g_profile_OBJ_TP, + (process_profile_definition*)&g_profile_TREESH, + (process_profile_definition*)&g_profile_Obj_ZDoor, + (process_profile_definition*)&g_profile_Obj_Pillar, + (process_profile_definition*)&g_profile_Obj_Cdoor, + (process_profile_definition*)&g_profile_GRDWATER, + (process_profile_definition*)&g_profile_Obj_RotBridge, + (process_profile_definition*)&g_profile_Obj_MagLift, + (process_profile_definition*)&g_profile_Obj_MagLiftRot, + (process_profile_definition*)&g_profile_Obj_Lv1Cdl00, + (process_profile_definition*)&g_profile_Obj_Lv1Cdl01, + (process_profile_definition*)&g_profile_Obj_TvCdlst, + (process_profile_definition*)&g_profile_Obj_HsTarget, + (process_profile_definition*)&g_profile_Obj_HeavySw, + (process_profile_definition*)&g_profile_Obj_GoGate, + (process_profile_definition*)&g_profile_Obj_TaFence, + (process_profile_definition*)&g_profile_Obj_Saidan, + (process_profile_definition*)&g_profile_Obj_SpinLift, + (process_profile_definition*)&g_profile_Obj_BmWindow, + (process_profile_definition*)&g_profile_Obj_RfHole, + (process_profile_definition*)&g_profile_Obj_WaterPillar, + (process_profile_definition*)&g_profile_Obj_SyRock, + (process_profile_definition*)&g_profile_Obj_BsGate, + (process_profile_definition*)&g_profile_Obj_AmiShutter, + (process_profile_definition*)&g_profile_Obj_WtGate, + (process_profile_definition*)&g_profile_Obj_Lv2Candle, + (process_profile_definition*)&g_profile_Obj_TogeTrap, + (process_profile_definition*)&g_profile_Obj_RotTrap, + (process_profile_definition*)&g_profile_Obj_SwallShutter, + (process_profile_definition*)&g_profile_Obj_IceWall, + (process_profile_definition*)&g_profile_Obj_Lv5SwIce, + (process_profile_definition*)&g_profile_Obj_Lv5FBoard, + (process_profile_definition*)&g_profile_Obj_Turara, + (process_profile_definition*)&g_profile_Obj_TwGate, + (process_profile_definition*)&g_profile_Obj_Digholl, + (process_profile_definition*)&g_profile_Obj_Digpl, + (process_profile_definition*)&g_profile_Obj_TestCube, + (process_profile_definition*)&g_profile_Obj_Kshutter, + (process_profile_definition*)&g_profile_NPC_COACH, + (process_profile_definition*)&g_profile_NPC_THEB, + (process_profile_definition*)&g_profile_COACH_FIRE, + (process_profile_definition*)&g_profile_COACH2D, + (process_profile_definition*)&g_profile_BALLOON2D, + (process_profile_definition*)&g_profile_SKIP2D, + (process_profile_definition*)&g_profile_Obj_MvStair, + (process_profile_definition*)&g_profile_Obj_Cowdoor, + (process_profile_definition*)&g_profile_Obj_Swpropeller, + (process_profile_definition*)&g_profile_Obj_BoomShutter, + (process_profile_definition*)&g_profile_NPC_KS, + (process_profile_definition*)&g_profile_Obj_Hfuta, + (process_profile_definition*)&g_profile_Obj_BkDoor, + (process_profile_definition*)&g_profile_Obj_Cboard, + (process_profile_definition*)&g_profile_Obj_MGate, + (process_profile_definition*)&g_profile_Obj_Ikada, + (process_profile_definition*)&g_profile_Obj_Ice_l, + (process_profile_definition*)&g_profile_Obj_Ice_s, + (process_profile_definition*)&g_profile_Obj_E_CREATE, + (process_profile_definition*)&g_profile_Obj_Bhbridge, + (process_profile_definition*)&g_profile_Obj_Kaisou, + (process_profile_definition*)&g_profile_Obj_HHASHI, + (process_profile_definition*)&g_profile_Obj_BHASHI, + (process_profile_definition*)&g_profile_OCTHASHI, + (process_profile_definition*)&g_profile_Obj_THASHI, + (process_profile_definition*)&g_profile_Obj_CRVGATE, + (process_profile_definition*)&g_profile_Obj_CRVFENCE, + (process_profile_definition*)&g_profile_Obj_CRVHAHEN, + (process_profile_definition*)&g_profile_Obj_CRVSTEEL, + (process_profile_definition*)&g_profile_Obj_CRVLH_UP, + (process_profile_definition*)&g_profile_Obj_CRVLH_DW, + (process_profile_definition*)&g_profile_Obj_RIVERROCK, + (process_profile_definition*)&g_profile_Obj_DUST, + (process_profile_definition*)&g_profile_Obj_ITA, + (process_profile_definition*)&g_profile_Obj_Window, + (process_profile_definition*)&g_profile_Obj_MetalBox, + (process_profile_definition*)&g_profile_Obj_BBox, + (process_profile_definition*)&g_profile_OBJ_MSIMA, + (process_profile_definition*)&g_profile_OBJ_MYOGAN, + (process_profile_definition*)&g_profile_B_ZANTS, + (process_profile_definition*)&g_profile_Obj_ChainBlock, + (process_profile_definition*)&g_profile_Obj_ChainWall, + (process_profile_definition*)&g_profile_Obj_KkrGate, + (process_profile_definition*)&g_profile_Obj_RiderGate, + (process_profile_definition*)&g_profile_Obj_Onsen, + (process_profile_definition*)&g_profile_Obj_Chest, + (process_profile_definition*)&g_profile_Obj_Bemos, + (process_profile_definition*)&g_profile_Obj_RopeBridge, + (process_profile_definition*)&g_profile_Obj_WellCover, + (process_profile_definition*)&g_profile_Obj_GraveStone, + (process_profile_definition*)&g_profile_Obj_ZraRock, + (process_profile_definition*)&g_profile_Obj_GraRock, + (process_profile_definition*)&g_profile_Obj_GrzRock, + (process_profile_definition*)&g_profile_GRA_WALL, + (process_profile_definition*)&g_profile_OBJ_ONSEN_FIRE, + (process_profile_definition*)&g_profile_Obj_Lv6bemos, + (process_profile_definition*)&g_profile_Obj_Lv6bemos2, + (process_profile_definition*)&g_profile_Obj_BarDesk, + (process_profile_definition*)&g_profile_Obj_DigSnow, + (process_profile_definition*)&g_profile_Obj_Ytaihou, + (process_profile_definition*)&g_profile_Obj_Elevator, + (process_profile_definition*)&g_profile_Obj_Lv6TogeRoll, + (process_profile_definition*)&g_profile_Obj_Lv6TogeTrap, + (process_profile_definition*)&g_profile_Obj_Lv6Tenbin, + (process_profile_definition*)&g_profile_Obj_Lv6SwGate, + (process_profile_definition*)&g_profile_Obj_Lv6Lblock, + (process_profile_definition*)&g_profile_Obj_Lv6ChgGate, + (process_profile_definition*)&g_profile_Obj_Lv6FuriTrap, + (process_profile_definition*)&g_profile_Obj_Lv6SzGate, + (process_profile_definition*)&g_profile_Obj_Lv4EdShutter, + (process_profile_definition*)&g_profile_Obj_Lv4Gate, + (process_profile_definition*)&g_profile_Obj_Lv4PoGate, + (process_profile_definition*)&g_profile_Obj_Lv4SlideWall, + (process_profile_definition*)&g_profile_Obj_Lv4HsTarget, + (process_profile_definition*)&g_profile_Obj_Lv7PropY, + (process_profile_definition*)&g_profile_Obj_Lv7BsGate, + (process_profile_definition*)&g_profile_Obj_Lv8OptiLift, + (process_profile_definition*)&g_profile_Obj_Lv8KekkaiTrap, + (process_profile_definition*)&g_profile_Obj_Lv8Lift, + (process_profile_definition*)&g_profile_Obj_Lv8UdFloor, + (process_profile_definition*)&g_profile_Obj_Lv9SwShutter, + (process_profile_definition*)&g_profile_Obj_TobyHouse, + (process_profile_definition*)&g_profile_Obj_poCandle, + (process_profile_definition*)&g_profile_Obj_Lv4DigSand, + (process_profile_definition*)&g_profile_Obj_FallObj, + (process_profile_definition*)&g_profile_Obj_SmgDoor, + (process_profile_definition*)&g_profile_Obj_SwLight, + (process_profile_definition*)&g_profile_Obj_Avalanche, + (process_profile_definition*)&g_profile_Obj_MirrorScrew, + (process_profile_definition*)&g_profile_Obj_MirrorSand, + (process_profile_definition*)&g_profile_Obj_MirrorTable, + (process_profile_definition*)&g_profile_Obj_MirrorChain, + (process_profile_definition*)&g_profile_Obj_Mirror6Pole, + (process_profile_definition*)&g_profile_Obj_SwSpinner, + (process_profile_definition*)&g_profile_Obj_TDoor, + (process_profile_definition*)&g_profile_Obj_Lv7Bridge, + (process_profile_definition*)&g_profile_Obj_zrTurara, + (process_profile_definition*)&g_profile_Obj_TakaraDai, + (process_profile_definition*)&g_profile_Obj_Table, + (process_profile_definition*)&g_profile_Obj_CatDoor, + (process_profile_definition*)&g_profile_Obj_Gake, + (process_profile_definition*)&g_profile_CSTAF, + (process_profile_definition*)&g_profile_Obj_Lv4RailWall, + (process_profile_definition*)&g_profile_Obj_Lv4Sand, + (process_profile_definition*)&g_profile_Obj_PushDoor, + (process_profile_definition*)&g_profile_PushDoor, + (process_profile_definition*)&g_profile_Obj_GanonWall2, + (process_profile_definition*)&g_profile_Obj_Lv4Bridge, + (process_profile_definition*)&g_profile_Obj_Lv4Floor, + (process_profile_definition*)&g_profile_Tag_Spinner, + (process_profile_definition*)&g_profile_Obj_SwHang, + (process_profile_definition*)&g_profile_Obj_RotStair, + (process_profile_definition*)&g_profile_Obj_MagneArm, + (process_profile_definition*)&g_profile_Obj_KWheel00, + (process_profile_definition*)&g_profile_Obj_KWheel01, + (process_profile_definition*)&g_profile_Obj_Ychndlr, + (process_profile_definition*)&g_profile_Obj_PRElvtr, + (process_profile_definition*)&g_profile_Obj_MHasu, + (process_profile_definition*)&g_profile_Obj_YIblltray, + (process_profile_definition*)&g_profile_Obj_Lv6EGate, + (process_profile_definition*)&g_profile_Obj_PDtile, + (process_profile_definition*)&g_profile_Obj_PDwall, + (process_profile_definition*)&g_profile_Obj_Lv4PRwall, + (process_profile_definition*)&g_profile_Obj_KLift00, + (process_profile_definition*)&g_profile_B_OH, + (process_profile_definition*)&g_profile_Obj_Lv4Chan, + (process_profile_definition*)&g_profile_Obj_Lv3R10Saka, + (process_profile_definition*)&g_profile_Obj_Lv3Water, + (process_profile_definition*)&g_profile_Obj_Lv3Water2, + (process_profile_definition*)&g_profile_OBJ_LV3WATERB, + (process_profile_definition*)&g_profile_Obj_HBombkoya, + (process_profile_definition*)&g_profile_Obj_SZbridge, + (process_profile_definition*)&g_profile_Obj_KakarikoBrg, + (process_profile_definition*)&g_profile_Obj_OrdinBrg, + (process_profile_definition*)&g_profile_Obj_BurnBox, + (process_profile_definition*)&g_profile_Obj_KJgjs, + (process_profile_definition*)&g_profile_OBJ_IHASI, + (process_profile_definition*)&g_profile_Obj_IceBlock, + (process_profile_definition*)&g_profile_Obj_VolcanicBall, + (process_profile_definition*)&g_profile_Obj_VolcanicBomb, + (process_profile_definition*)&g_profile_Obj_VolcGnd, + (process_profile_definition*)&g_profile_Obj_KKanban, + (process_profile_definition*)&g_profile_E_PH, + (process_profile_definition*)&g_profile_NPC_ZRA, + (process_profile_definition*)&g_profile_Obj_Chandelier, + (process_profile_definition*)&g_profile_Obj_Stopper2, + (process_profile_definition*)&g_profile_DOOR20, + (process_profile_definition*)&g_profile_Tag_Hinit, + (process_profile_definition*)&g_profile_Tag_Hjump, + (process_profile_definition*)&g_profile_Tag_AJnot, + (process_profile_definition*)&g_profile_Tag_Hstop, + (process_profile_definition*)&g_profile_CANOE, + (process_profile_definition*)&g_profile_HORSE, + (process_profile_definition*)&g_profile_E_WB, + (process_profile_definition*)&g_profile_OBJ_ITO, + (process_profile_definition*)&g_profile_OBJ_SW, + (process_profile_definition*)&g_profile_SPINNER, + (process_profile_definition*)&g_profile_B_OB, + (process_profile_definition*)&g_profile_KAGO, + (process_profile_definition*)&g_profile_E_YC, + (process_profile_definition*)&g_profile_B_DS, + (process_profile_definition*)&g_profile_B_DR, + (process_profile_definition*)&g_profile_B_ZANTZ, + (process_profile_definition*)&g_profile_B_ZANT, + (process_profile_definition*)&g_profile_B_ZANTM, + (process_profile_definition*)&g_profile_TBOX, + (process_profile_definition*)&g_profile_TBOX2, + (process_profile_definition*)&g_profile_ALINK, + (process_profile_definition*)&g_profile_BOOMERANG, + (process_profile_definition*)&g_profile_MIDNA, + (process_profile_definition*)&g_profile_NPC_TK, + (process_profile_definition*)&g_profile_NPC_WORM, + (process_profile_definition*)&g_profile_PPolamp, + (process_profile_definition*)&g_profile_BkyRock, + (process_profile_definition*)&g_profile_HITOBJ, + (process_profile_definition*)&g_profile_EP, + (process_profile_definition*)&g_profile_COW, + (process_profile_definition*)&g_profile_PERU, + (process_profile_definition*)&g_profile_NI, + (process_profile_definition*)&g_profile_NPC_TKJ2, + (process_profile_definition*)&g_profile_SQ, + (process_profile_definition*)&g_profile_NPC_SQ, + (process_profile_definition*)&g_profile_DO, + (process_profile_definition*)&g_profile_NPC_NE, + (process_profile_definition*)&g_profile_NPC_TR, + (process_profile_definition*)&g_profile_NPC_LF, + (process_profile_definition*)&g_profile_OBJ_FOOD, + (process_profile_definition*)&g_profile_OBJ_KI, + (process_profile_definition*)&g_profile_OBJ_KITA, + (process_profile_definition*)&g_profile_OBJ_KEY, + (process_profile_definition*)&g_profile_OBJ_KEYHOLE, + (process_profile_definition*)&g_profile_Obj_Lv5Key, + (process_profile_definition*)&g_profile_OBJ_LP, + (process_profile_definition*)&g_profile_OBJ_TATIGI, + (process_profile_definition*)&g_profile_OBJ_ROCK, + (process_profile_definition*)&g_profile_OBJ_WFLAG, + (process_profile_definition*)&g_profile_OBJ_KAGE, + (process_profile_definition*)&g_profile_OBJ_KANBAN2, + (process_profile_definition*)&g_profile_OBJ_BALLOON, + (process_profile_definition*)&g_profile_OBJ_SUISYA, + (process_profile_definition*)&g_profile_OBJ_OILTUBO, + (process_profile_definition*)&g_profile_OBJ_ROTEN, + (process_profile_definition*)&g_profile_OBJ_SSDRINK, + (process_profile_definition*)&g_profile_OBJ_SSITEM, + (process_profile_definition*)&g_profile_TAG_SSDRINK, + (process_profile_definition*)&g_profile_TAG_BTLITM, + (process_profile_definition*)&g_profile_TAG_LV5SOUP, + (process_profile_definition*)&g_profile_TAG_MNLIGHT, + (process_profile_definition*)&g_profile_TAG_SHOPCAM, + (process_profile_definition*)&g_profile_TAG_SHOPITM, + (process_profile_definition*)&g_profile_OBJ_NDOOR, + (process_profile_definition*)&g_profile_OBJ_UDOOR, + (process_profile_definition*)&g_profile_OBJ_USAKU, + (process_profile_definition*)&g_profile_Obj_SM_DOOR, + (process_profile_definition*)&g_profile_OBJ_BED, + (process_profile_definition*)&g_profile_OBJ_BOUMATO, + (process_profile_definition*)&g_profile_OBJ_ITAMATO, + (process_profile_definition*)&g_profile_OBJ_NOUGU, + (process_profile_definition*)&g_profile_OBJ_STICK, + (process_profile_definition*)&g_profile_OBJ_MIE, + (process_profile_definition*)&g_profile_OBJ_SEKIDOOR, + (process_profile_definition*)&g_profile_OBJ_SEKIZO, + (process_profile_definition*)&g_profile_OBJ_SMTILE, + (process_profile_definition*)&g_profile_NPC_FISH, + (process_profile_definition*)&g_profile_MG_FISH, + (process_profile_definition*)&g_profile_FSHOP, + (process_profile_definition*)&g_profile_NPC_DU, + (process_profile_definition*)&g_profile_DISAPPEAR, + (process_profile_definition*)&g_profile_Obj_Mato, + (process_profile_definition*)&g_profile_Obj_Flag, + (process_profile_definition*)&g_profile_Obj_Flag2, + (process_profile_definition*)&g_profile_Obj_Flag3, + (process_profile_definition*)&g_profile_Obj_GOMIKABE, + (process_profile_definition*)&g_profile_Obj_Yousei, + (process_profile_definition*)&g_profile_Obj_Kabuto, + (process_profile_definition*)&g_profile_Obj_Cho, + (process_profile_definition*)&g_profile_Obj_Kuw, + (process_profile_definition*)&g_profile_Obj_Nan, + (process_profile_definition*)&g_profile_Obj_Dan, + (process_profile_definition*)&g_profile_Obj_Kam, + (process_profile_definition*)&g_profile_Obj_Ten, + (process_profile_definition*)&g_profile_Obj_Ari, + (process_profile_definition*)&g_profile_Obj_Kag, + (process_profile_definition*)&g_profile_Obj_Batta, + (process_profile_definition*)&g_profile_Obj_Tombo, + (process_profile_definition*)&g_profile_Obj_Kat, + (process_profile_definition*)&g_profile_Obj_H_Saku, + (process_profile_definition*)&g_profile_Obj_Yobikusa, + (process_profile_definition*)&g_profile_Obj_KazeNeko, + (process_profile_definition*)&g_profile_Obj_KznkArm, + (process_profile_definition*)&g_profile_Obj_NamePlate, + (process_profile_definition*)&g_profile_Obj_OnCloth, + (process_profile_definition*)&g_profile_Obj_LndRope, + (process_profile_definition*)&g_profile_Obj_ItaRope, + (process_profile_definition*)&g_profile_Obj_Sakuita, + (process_profile_definition*)&g_profile_Obj_Laundry, + (process_profile_definition*)&g_profile_WarpBug, + (process_profile_definition*)&g_profile_Izumi_Gate, + (process_profile_definition*)&g_profile_Obj_Fchain, + (process_profile_definition*)&g_profile_Obj_Wchain, + (process_profile_definition*)&g_profile_Tag_Attp, + (process_profile_definition*)&g_profile_Obj_Tornado, + (process_profile_definition*)&g_profile_Obj_Tornado2, + (process_profile_definition*)&g_profile_Obj_FirePillar, + (process_profile_definition*)&g_profile_Obj_FirePillar2, + (process_profile_definition*)&g_profile_Obj_InoBone, + (process_profile_definition*)&g_profile_Obj_Stopper, + (process_profile_definition*)&g_profile_Obj_MHole, + (process_profile_definition*)&g_profile_Tag_Magne, + (process_profile_definition*)&g_profile_Obj_BossWarp, + (process_profile_definition*)&g_profile_Obj_WoodPendulum, + (process_profile_definition*)&g_profile_Obj_WdStick, + (process_profile_definition*)&g_profile_Obj_StairBlock, + (process_profile_definition*)&g_profile_Obj_Geyser, + (process_profile_definition*)&g_profile_Tag_KtOnFire, + (process_profile_definition*)&g_profile_Obj_FireWood, + (process_profile_definition*)&g_profile_Obj_FireWood2, + (process_profile_definition*)&g_profile_Obj_GpTaru, + (process_profile_definition*)&g_profile_Obj_OnsenTaru, + (process_profile_definition*)&g_profile_Obj_KiPot, + (process_profile_definition*)&g_profile_TBOX_SW, + (process_profile_definition*)&g_profile_Obj_SwChain, + (process_profile_definition*)&g_profile_Obj_WoodenSword, + (process_profile_definition*)&g_profile_Obj_StoneMark, + (process_profile_definition*)&g_profile_Obj_Lv3Candle, + (process_profile_definition*)&g_profile_Tag_Lv4Candle, + (process_profile_definition*)&g_profile_Tag_Lv4CandleDm, + (process_profile_definition*)&g_profile_Obj_DamCps, + (process_profile_definition*)&g_profile_Obj_Smoke, + (process_profile_definition*)&g_profile_Obj_WaterFall, + (process_profile_definition*)&g_profile_Obj_ZoraCloth, + (process_profile_definition*)&g_profile_Obj_poFire, + (process_profile_definition*)&g_profile_Tag_poFire, + (process_profile_definition*)&g_profile_Obj_glowSphere, + (process_profile_definition*)&g_profile_Tag_LightBall, + (process_profile_definition*)&g_profile_SwLBall, + (process_profile_definition*)&g_profile_SwBall, + (process_profile_definition*)&g_profile_Obj_WaterEff, + (process_profile_definition*)&g_profile_Tag_RiverBack, + (process_profile_definition*)&g_profile_Tag_KagoFall, + (process_profile_definition*)&g_profile_Tag_Lv2PrChk, + (process_profile_definition*)&g_profile_Obj_Lv4Gear, + (process_profile_definition*)&g_profile_Obj_MasterSword, + (process_profile_definition*)&g_profile_Obj_WoodStatue, + (process_profile_definition*)&g_profile_Obj_Fan, + (process_profile_definition*)&g_profile_Obj_IceLeaf, + (process_profile_definition*)&g_profile_Obj_zrTuraraRc, + (process_profile_definition*)&g_profile_Tag_RetRoom, + (process_profile_definition*)&g_profile_Obj_WindStone, + (process_profile_definition*)&g_profile_Tag_WaraHowl, + (process_profile_definition*)&g_profile_Obj_SCannon, + (process_profile_definition*)&g_profile_Obj_SmWStone, + (process_profile_definition*)&g_profile_Obj_SCannonCrs, + (process_profile_definition*)&g_profile_Tag_SnowEff, + (process_profile_definition*)&g_profile_Tag_CstaSw, + (process_profile_definition*)&g_profile_Tag_Lv6CstaSw, + (process_profile_definition*)&g_profile_Obj_awaPlar, + (process_profile_definition*)&g_profile_Obj_poTbox, + (process_profile_definition*)&g_profile_Obj_TimeFire, + (process_profile_definition*)&g_profile_Obj_TMoon, + (process_profile_definition*)&g_profile_Obj_GanonWall, + (process_profile_definition*)&g_profile_Obj_Prop, + (process_profile_definition*)&g_profile_CSTATUE, + (process_profile_definition*)&g_profile_Obj_SwBallA, + (process_profile_definition*)&g_profile_Obj_SwBallB, + (process_profile_definition*)&g_profile_Obj_SnowSoup, + (process_profile_definition*)&g_profile_Obj_Nagaisu, + (process_profile_definition*)&g_profile_Obj_RCircle, + (process_profile_definition*)&g_profile_Obj_Picture, + (process_profile_definition*)&g_profile_Tag_SetBall, + (process_profile_definition*)&g_profile_Tag_SmkEmt, + (process_profile_definition*)&g_profile_SwTime, + (process_profile_definition*)&g_profile_Obj_HFtr, + (process_profile_definition*)&g_profile_Obj_HBarrel, + (process_profile_definition*)&g_profile_Obj_Crystal, + (process_profile_definition*)&g_profile_Obj_SCannonTen, + (process_profile_definition*)&g_profile_Obj_SwBallC, + (process_profile_definition*)&g_profile_SCENE_EXIT2, + (process_profile_definition*)&g_profile_Obj_Hata, + (process_profile_definition*)&g_profile_Obj_ToaruMaki, + (process_profile_definition*)&g_profile_Tag_AttackItem, + (process_profile_definition*)&g_profile_Tag_RmbitSw, + (process_profile_definition*)&g_profile_Obj_Sword, + (process_profile_definition*)&g_profile_Tag_Spring, + (process_profile_definition*)&g_profile_Tag_Statue, + (process_profile_definition*)&g_profile_E_AI, + (process_profile_definition*)&g_profile_E_GS, + (process_profile_definition*)&g_profile_E_GOB, + (process_profile_definition*)&g_profile_E_DD, + (process_profile_definition*)&g_profile_E_DN, + (process_profile_definition*)&g_profile_E_S1, + (process_profile_definition*)&g_profile_E_MF, + (process_profile_definition*)&g_profile_E_SG, + (process_profile_definition*)&g_profile_E_BS, + (process_profile_definition*)&g_profile_E_SF, + (process_profile_definition*)&g_profile_E_SH, + (process_profile_definition*)&g_profile_E_DF, + (process_profile_definition*)&g_profile_E_GM, + (process_profile_definition*)&g_profile_E_MD, + (process_profile_definition*)&g_profile_E_SM, + (process_profile_definition*)&g_profile_E_SM2, + (process_profile_definition*)&g_profile_E_ST, + (process_profile_definition*)&g_profile_E_ST_LINE, + (process_profile_definition*)&g_profile_E_SB, + (process_profile_definition*)&g_profile_E_TH, + (process_profile_definition*)&g_profile_E_CR, + (process_profile_definition*)&g_profile_E_CR_EGG, + (process_profile_definition*)&g_profile_E_DB, + (process_profile_definition*)&g_profile_E_DB_LEAF, + (process_profile_definition*)&g_profile_E_GA, + (process_profile_definition*)&g_profile_E_GB, + (process_profile_definition*)&g_profile_E_HB, + (process_profile_definition*)&g_profile_E_HB_LEAF, + (process_profile_definition*)&g_profile_E_HZELDA, + (process_profile_definition*)&g_profile_E_YD, + (process_profile_definition*)&g_profile_E_YH, + (process_profile_definition*)&g_profile_E_YD_LEAF, + (process_profile_definition*)&g_profile_E_HM, + (process_profile_definition*)&g_profile_E_TK, + (process_profile_definition*)&g_profile_E_TK2, + (process_profile_definition*)&g_profile_E_TK_BALL, + (process_profile_definition*)&g_profile_E_RB, + (process_profile_definition*)&g_profile_E_RD, + (process_profile_definition*)&g_profile_E_RDB, + (process_profile_definition*)&g_profile_E_RDY, + (process_profile_definition*)&g_profile_E_FM, + (process_profile_definition*)&g_profile_E_FS, + (process_profile_definition*)&g_profile_E_PM, + (process_profile_definition*)&g_profile_E_PO, + (process_profile_definition*)&g_profile_E_MB, + (process_profile_definition*)&g_profile_E_MK, + (process_profile_definition*)&g_profile_E_MM, + (process_profile_definition*)&g_profile_E_FZ, + (process_profile_definition*)&g_profile_E_ZS, + (process_profile_definition*)&g_profile_E_KK, + (process_profile_definition*)&g_profile_E_HP, + (process_profile_definition*)&g_profile_E_ZH, + (process_profile_definition*)&g_profile_E_ZM, + (process_profile_definition*)&g_profile_E_PZ, + (process_profile_definition*)&g_profile_E_FB, + (process_profile_definition*)&g_profile_E_FK, + (process_profile_definition*)&g_profile_E_MS, + (process_profile_definition*)&g_profile_E_NEST, + (process_profile_definition*)&g_profile_E_NZ, + (process_profile_definition*)&g_profile_E_BA, + (process_profile_definition*)&g_profile_E_BU, + (process_profile_definition*)&g_profile_E_BUG, + (process_profile_definition*)&g_profile_E_BEE, + (process_profile_definition*)&g_profile_E_IS, + (process_profile_definition*)&g_profile_E_KG, + (process_profile_definition*)&g_profile_E_KR, + (process_profile_definition*)&g_profile_E_SW, + (process_profile_definition*)&g_profile_E_GE, + (process_profile_definition*)&g_profile_Tag_WatchGe, + (process_profile_definition*)&g_profile_E_YM, + (process_profile_definition*)&g_profile_E_YM_TAG, + (process_profile_definition*)&g_profile_E_YMB, + (process_profile_definition*)&g_profile_Tag_FWall, + (process_profile_definition*)&g_profile_Tag_WaterFall, + (process_profile_definition*)&g_profile_E_YK, + (process_profile_definition*)&g_profile_E_YR, + (process_profile_definition*)&g_profile_E_YG, + (process_profile_definition*)&g_profile_E_HZ, + (process_profile_definition*)&g_profile_E_WS, + (process_profile_definition*)&g_profile_E_OC, + (process_profile_definition*)&g_profile_E_OT, + (process_profile_definition*)&g_profile_E_DT, + (process_profile_definition*)&g_profile_E_BG, + (process_profile_definition*)&g_profile_E_OctBg, + (process_profile_definition*)&g_profile_DR, + (process_profile_definition*)&g_profile_L7lowDr, + (process_profile_definition*)&g_profile_L7ODR, + (process_profile_definition*)&g_profile_E_TT, + (process_profile_definition*)&g_profile_E_DK, + (process_profile_definition*)&g_profile_E_VT, + (process_profile_definition*)&g_profile_E_WW, + (process_profile_definition*)&g_profile_E_GI, + (process_profile_definition*)&g_profile_B_BH, + (process_profile_definition*)&g_profile_B_BQ, + (process_profile_definition*)&g_profile_B_GM, + (process_profile_definition*)&g_profile_B_GND, + (process_profile_definition*)&g_profile_B_GO, + (process_profile_definition*)&g_profile_B_OH2, + (process_profile_definition*)&g_profile_B_YO, + (process_profile_definition*)&g_profile_B_YOI, + (process_profile_definition*)&g_profile_B_TN, + (process_profile_definition*)&g_profile_B_GG, + (process_profile_definition*)&g_profile_B_DRE, + (process_profile_definition*)&g_profile_B_MGN, + (process_profile_definition*)&g_profile_E_WAP, + (process_profile_definition*)&g_profile_ITEM, + (process_profile_definition*)&g_profile_Obj_SmallKey, + (process_profile_definition*)&g_profile_Obj_Kantera, + (process_profile_definition*)&g_profile_Obj_LifeContainer, + (process_profile_definition*)&g_profile_Obj_Shield, + (process_profile_definition*)&g_profile_Demo_Item, + (process_profile_definition*)&g_profile_ShopItem, + (process_profile_definition*)&g_profile_Obj_Drop, + (process_profile_definition*)&g_profile_OBJ_RW, + (process_profile_definition*)&g_profile_NBOMB, + (process_profile_definition*)&g_profile_TAG_CSW, + (process_profile_definition*)&g_profile_TAG_QS, + (process_profile_definition*)&g_profile_HOZELDA, + (process_profile_definition*)&g_profile_SWC00, + (process_profile_definition*)&g_profile_KNOB20, + (process_profile_definition*)&g_profile_DBDOOR, + (process_profile_definition*)&g_profile_BOSS_DOOR, + (process_profile_definition*)&g_profile_L1BOSS_DOOR, + (process_profile_definition*)&g_profile_L1MBOSS_DOOR, + (process_profile_definition*)&g_profile_L5BOSS_DOOR, + (process_profile_definition*)&g_profile_DSHUTTER, + (process_profile_definition*)&g_profile_SPIRAL_DOOR, + (process_profile_definition*)&g_profile_Tag_ChgRestart, + (process_profile_definition*)&g_profile_Tag_Restart, + (process_profile_definition*)&g_profile_ANDSW, + (process_profile_definition*)&g_profile_ANDSW2, + (process_profile_definition*)&g_profile_MYNA, + (process_profile_definition*)&g_profile_NPC_GND, + (process_profile_definition*)&g_profile_NPC_GRA, + (process_profile_definition*)&g_profile_NPC_GRC, + (process_profile_definition*)&g_profile_NPC_GRD, + (process_profile_definition*)&g_profile_NPC_GRM, + (process_profile_definition*)&g_profile_NPC_GRMC, + (process_profile_definition*)&g_profile_NPC_GRO, + (process_profile_definition*)&g_profile_NPC_GRR, + (process_profile_definition*)&g_profile_NPC_GRS, + (process_profile_definition*)&g_profile_NPC_GRZ, + (process_profile_definition*)&g_profile_NPC_YAMID, + (process_profile_definition*)&g_profile_NPC_YAMIT, + (process_profile_definition*)&g_profile_NPC_YAMIS, + (process_profile_definition*)&g_profile_NPC_BLUENS, + (process_profile_definition*)&g_profile_NPC_KAKASHI, + (process_profile_definition*)&g_profile_NPC_KDK, + (process_profile_definition*)&g_profile_NPC_ARU, + (process_profile_definition*)&g_profile_NPC_BANS, + (process_profile_definition*)&g_profile_NPC_BESU, + (process_profile_definition*)&g_profile_NPC_BOU, + (process_profile_definition*)&g_profile_NPC_BOU_S, + (process_profile_definition*)&g_profile_NPC_CLERKA, + (process_profile_definition*)&g_profile_NPC_CLERKB, + (process_profile_definition*)&g_profile_NPC_CLERKT, + (process_profile_definition*)&g_profile_NPC_WRESTLER, + (process_profile_definition*)&g_profile_Tag_Arena, + (process_profile_definition*)&g_profile_Tag_Instruction, + (process_profile_definition*)&g_profile_NPC_DOC, + (process_profile_definition*)&g_profile_NPC_GWOLF, + (process_profile_definition*)&g_profile_NPC_LEN, + (process_profile_definition*)&g_profile_NPC_LUD, + (process_profile_definition*)&g_profile_NPC_FAIRY_SEIREI, + (process_profile_definition*)&g_profile_NPC_FAIRY, + (process_profile_definition*)&g_profile_NPC_HANJO, + (process_profile_definition*)&g_profile_NPC_HENNA, + (process_profile_definition*)&g_profile_NPC_HENNA0, + (process_profile_definition*)&g_profile_NPC_HOZ, + (process_profile_definition*)&g_profile_NPC_JAGAR, + (process_profile_definition*)&g_profile_NPC_KKRI, + (process_profile_definition*)&g_profile_NPC_KN, + (process_profile_definition*)&g_profile_KN_BULLET, + (process_profile_definition*)&g_profile_NPC_KNJ, + (process_profile_definition*)&g_profile_NPC_KOLIN, + (process_profile_definition*)&g_profile_NPC_KOLINB, + (process_profile_definition*)&g_profile_NPC_KYURY, + (process_profile_definition*)&g_profile_NPC_MARO, + (process_profile_definition*)&g_profile_NPC_MIDP, + (process_profile_definition*)&g_profile_NPC_MOI, + (process_profile_definition*)&g_profile_NPC_RACA, + (process_profile_definition*)&g_profile_NPC_SARU, + (process_profile_definition*)&g_profile_NPC_SEIB, + (process_profile_definition*)&g_profile_NPC_SEIC, + (process_profile_definition*)&g_profile_NPC_SEID, + (process_profile_definition*)&g_profile_NPC_SEIRA, + (process_profile_definition*)&g_profile_NPC_SERA2, + (process_profile_definition*)&g_profile_NPC_SEIREI, + (process_profile_definition*)&g_profile_NPC_SHAMAN, + (process_profile_definition*)&g_profile_NPC_SMARO, + (process_profile_definition*)&g_profile_NPC_SOLA, + (process_profile_definition*)&g_profile_NPC_TARO, + (process_profile_definition*)&g_profile_NPC_PACHI_BESU, + (process_profile_definition*)&g_profile_NPC_PACHI_TARO, + (process_profile_definition*)&g_profile_NPC_PACHI_MARO, + (process_profile_definition*)&g_profile_TAG_PATI, + (process_profile_definition*)&g_profile_NPC_THE, + (process_profile_definition*)&g_profile_NPC_TKJ, + (process_profile_definition*)&g_profile_NPC_TKS, + (process_profile_definition*)&g_profile_NPC_TKC, + (process_profile_definition*)&g_profile_OBJ_TKS, + (process_profile_definition*)&g_profile_NPC_TOBY, + (process_profile_definition*)&g_profile_NPC_URI, + (process_profile_definition*)&g_profile_NPC_YELIA, + (process_profile_definition*)&g_profile_NPC_YKM, + (process_profile_definition*)&g_profile_NPC_YKW, + (process_profile_definition*)&g_profile_NPC_ZANB, + (process_profile_definition*)&g_profile_NPC_ZANT, + (process_profile_definition*)&g_profile_NPC_ZELDA, + (process_profile_definition*)&g_profile_NPC_ZELR, + (process_profile_definition*)&g_profile_NPC_ZELRO, + (process_profile_definition*)&g_profile_OBJ_ZRAFREEZE, + (process_profile_definition*)&g_profile_NPC_ZRC, + (process_profile_definition*)&g_profile_NPC_ZRZ, + (process_profile_definition*)&g_profile_ZRA_MARK, + (process_profile_definition*)&g_profile_MYNA2, + (process_profile_definition*)&g_profile_TAG_MYNA2, + (process_profile_definition*)&g_profile_NPC_CD3, + (process_profile_definition*)&g_profile_Tag_Schedule, + (process_profile_definition*)&g_profile_Tag_Escape, + (process_profile_definition*)&g_profile_NPC_CHAT, + (process_profile_definition*)&g_profile_NPC_SOLDIERa, + (process_profile_definition*)&g_profile_NPC_SOLDIERb, + (process_profile_definition*)&g_profile_PASSER_MNG, + (process_profile_definition*)&g_profile_NPC_PASSER, + (process_profile_definition*)&g_profile_NPC_PASSER2, + (process_profile_definition*)&g_profile_NPC_POST, + (process_profile_definition*)&g_profile_NPC_POUYA, + (process_profile_definition*)&g_profile_FORMATION_MNG, + (process_profile_definition*)&g_profile_NPC_FGUARD, + (process_profile_definition*)&g_profile_GUARD_MNG, + (process_profile_definition*)&g_profile_TAG_GUARD, + (process_profile_definition*)&g_profile_NPC_GUARD, + (process_profile_definition*)&g_profile_NPC_ASH, + (process_profile_definition*)&g_profile_NPC_ASHB, + (process_profile_definition*)&g_profile_NPC_SHAD, + (process_profile_definition*)&g_profile_NPC_RAFREL, + (process_profile_definition*)&g_profile_NPC_MOIR, + (process_profile_definition*)&g_profile_NPC_IMPAL, + (process_profile_definition*)&g_profile_NPC_SHOE, + (process_profile_definition*)&g_profile_NPC_DOORBOY, + (process_profile_definition*)&g_profile_NPC_PRAYER, + (process_profile_definition*)&g_profile_NPC_KASIHANA, + (process_profile_definition*)&g_profile_NPC_KASIKYU, + (process_profile_definition*)&g_profile_NPC_KASIMICH, + (process_profile_definition*)&g_profile_NPC_DRSOL, + (process_profile_definition*)&g_profile_NPC_CHIN, + (process_profile_definition*)&g_profile_NPC_INS, + (process_profile_definition*)&g_profile_NPC_SHOP0, + (process_profile_definition*)&g_profile_NPC_MK, + (process_profile_definition*)&g_profile_NPC_P2, + (process_profile_definition*)&g_profile_KYTAG00, + (process_profile_definition*)&g_profile_KYTAG01, + (process_profile_definition*)&g_profile_KYTAG02, + (process_profile_definition*)&g_profile_KYTAG03, + (process_profile_definition*)&g_profile_KYTAG04, + (process_profile_definition*)&g_profile_KYTAG05, + (process_profile_definition*)&g_profile_KYTAG06, + (process_profile_definition*)&g_profile_KYTAG07, + (process_profile_definition*)&g_profile_KYTAG08, + (process_profile_definition*)&g_profile_KYTAG09, + (process_profile_definition*)&g_profile_KYTAG10, + (process_profile_definition*)&g_profile_KYTAG11, + (process_profile_definition*)&g_profile_KYTAG12, + (process_profile_definition*)&g_profile_KYTAG13, + (process_profile_definition*)&g_profile_KYTAG14, + (process_profile_definition*)&g_profile_KYTAG15, + (process_profile_definition*)&g_profile_KYTAG16, + (process_profile_definition*)&g_profile_KYTAG17, + (process_profile_definition*)&g_profile_Ykgr, + (process_profile_definition*)&g_profile_TALK, + (process_profile_definition*)&g_profile_Obj_Crope, + (process_profile_definition*)&g_profile_Obj_Bombf, + (process_profile_definition*)&g_profile_Obj_BkLeaf, + (process_profile_definition*)&g_profile_Tag_Mhint, + (process_profile_definition*)&g_profile_Tag_Mmsg, + (process_profile_definition*)&g_profile_Tag_Mwait, + (process_profile_definition*)&g_profile_Tag_Mstop, + (process_profile_definition*)&g_profile_Tag_Stream, + (process_profile_definition*)&g_profile_Tag_Sppath, + (process_profile_definition*)&g_profile_Tag_Wljump, + (process_profile_definition*)&g_profile_Tag_TWGate, + (process_profile_definition*)&g_profile_Tag_Lv6Gate, + (process_profile_definition*)&g_profile_Tag_Lv7Gate, + (process_profile_definition*)&g_profile_Tag_Lv8Gate, + (process_profile_definition*)&g_profile_Tag_TheBHint, + (process_profile_definition*)&g_profile_Tag_Assist, + (process_profile_definition*)&g_profile_DEMO00, + (process_profile_definition*)&g_profile_TAG_CAMERA, + (process_profile_definition*)&g_profile_TAG_CHKPOINT, + (process_profile_definition*)&g_profile_TAG_EVENT, + (process_profile_definition*)&g_profile_TAG_EVT, + (process_profile_definition*)&g_profile_TAG_TELOP, + (process_profile_definition*)&g_profile_TAG_HOWL, + (process_profile_definition*)&g_profile_TAG_MSG, + (process_profile_definition*)&g_profile_TAG_LANTERN, + (process_profile_definition*)&g_profile_Tag_Mist, + (process_profile_definition*)&g_profile_DMIDNA, + (process_profile_definition*)&g_profile_KY_THUNDER, + (process_profile_definition*)&g_profile_VRBOX, + (process_profile_definition*)&g_profile_VRBOX2, + (process_profile_definition*)&g_profile_BG, + (process_profile_definition*)&g_profile_SET_BG_OBJ, + (process_profile_definition*)&g_profile_BG_OBJ, + (process_profile_definition*)&g_profile_MIRROR, + (process_profile_definition*)&g_profile_MOVIE_PLAYER, + (process_profile_definition*)&g_profile_TITLE, + (process_profile_definition*)&g_profile_FR, + (process_profile_definition*)&g_profile_ECONT, + (process_profile_definition*)&g_profile_MG_ROD, + (process_profile_definition*)&g_profile_E_ARROW, + (process_profile_definition*)&g_profile_BULLET, + (process_profile_definition*)&g_profile_SWHIT0, + (process_profile_definition*)&g_profile_E_TH_BALL, + (process_profile_definition*)&g_profile_TAG_EVTAREA, + (process_profile_definition*)&g_profile_TAG_EVTMSG, + (process_profile_definition*)&g_profile_TAG_KMSG, + (process_profile_definition*)&g_profile_TAG_PUSH, + (process_profile_definition*)&g_profile_E_MK_BO, + (process_profile_definition*)&g_profile_E_MM_MT, + (process_profile_definition*)&g_profile_OBJ_KBOX, + (process_profile_definition*)&g_profile_OBJ_FW, + (process_profile_definition*)&g_profile_B_GOS, + (process_profile_definition*)&g_profile_OBJ_YSTONE, + (process_profile_definition*)&g_profile_MANT, + (process_profile_definition*)&g_profile_CROD, + (process_profile_definition*)&g_profile_OBJ_PLEAF, + (process_profile_definition*)&g_profile_OBJ_KBACKET, + (process_profile_definition*)&g_profile_OBJ_YBAG, + (process_profile_definition*)&g_profile_OBJ_PUMPKIN, + (process_profile_definition*)&g_profile_OBJ_AUTOMATA, + (process_profile_definition*)&g_profile_OBJ_GADGET, + (process_profile_definition*)&g_profile_OBJ_KAGO, + (process_profile_definition*)&g_profile_Obj_Carry, + (process_profile_definition*)&g_profile_Obj_Stone, + (process_profile_definition*)&g_profile_OBJ_HB, + (process_profile_definition*)&g_profile_NPC_INKO, + (process_profile_definition*)&g_profile_BD, + (process_profile_definition*)&g_profile_Obj_Eff, + (process_profile_definition*)&g_profile_WPILLAR, + (process_profile_definition*)&g_profile_WMARK, + (process_profile_definition*)&g_profile_E_BI, + (process_profile_definition*)&g_profile_E_BI_LEAF, + (process_profile_definition*)&g_profile_START_AND_GOAL, + (process_profile_definition*)&g_profile_NPC_DF, + (process_profile_definition*)&g_profile_ARROW, + (process_profile_definition*)&g_profile_PATH_LINE, + (process_profile_definition*)&g_profile_TAG_ALLMATO, + (process_profile_definition*)&g_profile_Obj_Timer, + (process_profile_definition*)&g_profile_SCENE_EXIT, + (process_profile_definition*)&g_profile_CAMERA, + (process_profile_definition*)&g_profile_CAMERA2, + (process_profile_definition*)&g_profile_SUSPEND, + (process_profile_definition*)&g_profile_GRASS, + (process_profile_definition*)&g_profile_KYEFF, + (process_profile_definition*)&g_profile_KYEFF2, + (process_profile_definition*)&g_profile_MSG_OBJECT, + (process_profile_definition*)&g_profile_MENUWINDOW, + (process_profile_definition*)&g_profile_TIMER, + (process_profile_definition*)&g_profile_METER2, + (process_profile_definition*)&g_profile_GAMEOVER, }; /* 80456C58-80456C6C 000078 0014+00 0/0 1/1 0/0 .text ModuleProlog */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ModuleProlog() { - nofralloc -#include "asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleProlog.s" +void ModuleProlog() { + g_fpcPf_ProfileList_p = g_fpcPfLst_ProfileList; } -#pragma pop /* 80456C6C-80456C7C 00008C 0010+00 0/0 1/1 0/0 .text ModuleEpilog */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ModuleEpilog() { - nofralloc -#include "asm/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst/ModuleEpilog.s" +void ModuleEpilog() { + g_fpcPf_ProfileList_p = NULL; } -#pragma pop diff --git a/src/a/obj/d_a_obj_ss_base.cpp b/src/a/obj/d_a_obj_ss_base.cpp deleted file mode 100644 index 817b44303f..0000000000 --- a/src/a/obj/d_a_obj_ss_base.cpp +++ /dev/null @@ -1,92 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: a/obj/d_a_obj_ss_base -// - -#include "a/obj/d_a_obj_ss_base.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daObj_SSBase_c { - /* 8015E3F8 */ daObj_SSBase_c(); - /* 8015E450 */ ~daObj_SSBase_c(); - /* 8015E4B0 */ void getProcessID(); - /* 8015E4C8 */ void setSoldOut(); -}; - -// -// Forward References: -// - -extern "C" void __ct__14daObj_SSBase_cFv(); -extern "C" void __dt__14daObj_SSBase_cFv(); -extern "C" void getProcessID__14daObj_SSBase_cFv(); -extern "C" void setSoldOut__14daObj_SSBase_cFv(); - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void __dl__FPv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803BA088-803BA0A0 0171A8 0014+04 2/2 0/0 0/0 .data __vt__14daObj_SSBase_c */ -SECTION_DATA extern void* __vt__14daObj_SSBase_c[5 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14daObj_SSBase_cFv, - (void*)setSoldOut__14daObj_SSBase_cFv, - (void*)getProcessID__14daObj_SSBase_cFv, - /* padding */ - NULL, -}; - -/* 8015E3F8-8015E450 158D38 0058+00 0/0 0/0 3/3 .text __ct__14daObj_SSBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObj_SSBase_c::daObj_SSBase_c() { - nofralloc -#include "asm/a/obj/d_a_obj_ss_base/__ct__14daObj_SSBase_cFv.s" -} -#pragma pop - -/* 8015E450-8015E4B0 158D90 0060+00 1/0 0/0 3/3 .text __dt__14daObj_SSBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObj_SSBase_c::~daObj_SSBase_c() { - nofralloc -#include "asm/a/obj/d_a_obj_ss_base/__dt__14daObj_SSBase_cFv.s" -} -#pragma pop - -/* 8015E4B0-8015E4C8 158DF0 0018+00 1/0 0/0 2/0 .text getProcessID__14daObj_SSBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObj_SSBase_c::getProcessID() { - nofralloc -#include "asm/a/obj/d_a_obj_ss_base/getProcessID__14daObj_SSBase_cFv.s" -} -#pragma pop - -/* 8015E4C8-8015E4CC 158E08 0004+00 1/0 0/0 0/0 .text setSoldOut__14daObj_SSBase_cFv */ -void daObj_SSBase_c::setSoldOut() { - /* empty function */ -} diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index eefe632c4b..38ea6da402 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -16,6 +16,8 @@ #include "d/d_procname.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "d/d_item.h" +#include "d/d_path.h" #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_ext.h" @@ -23,6 +25,8 @@ #include "rel/d/a/d_a_crod/d_a_crod.h" #include "rel/d/a/d_a_horse/d_a_horse.h" #include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" +#include "rel/d/a/d_a_scene_exit/d_a_scene_exit.h" +#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" // // Types: @@ -34,10 +38,6 @@ struct daTagMist_c { /* 80031CF0 */ void getPlayerNo(); }; -struct daTagMagne_c { - /* 80031B50 */ void checkMagnetCode(cBgS_PolyInfo&); -}; - struct daObj_Sekizoa_c { /* 801312C8 */ void setWolfHowling(); }; @@ -3351,6 +3351,42 @@ inline bool i_dComIfGp_checkPlayerStatus1(int param_0, u32 flag) { return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag); } +inline dStage_stageDt_c* i_dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); +} + +inline dEvt_control_c& i_dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); +} + +inline dEvent_manager_c& i_dComIfGp_getEventManager() { + return g_dComIfG_gameInfo.play.getEvtManager(); +} + +inline s8 i_dComIfGp_getPlayerCameraID(int idx) { + return g_dComIfG_gameInfo.play.getPlayerCameraID(idx); +} + +inline daHorse_c* i_dComIfGp_getHorseActor() { + return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1); +} + +inline s32 i_dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { + return param_0->field_0x09 >> 1 & 0x1f; +} + +inline void i_fopAcM_onSwitch(const fopAc_ac_c* pActor, int sw) { + return dComIfGs_onSwitch(sw, fopAcM_GetHomeRoomNo(pActor)); +} + +inline void i_fopAcM_offSwitch(const fopAc_ac_c* pActor, int sw) { + return dComIfGs_offSwitch(sw, fopAcM_GetHomeRoomNo(pActor)); +} + +inline int i_dComIfGs_isItemFirstBit(u8 i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getGetItem().isFirstBit(i_no); +} + /* 8009D87C-8009D884 0981BC 0008+00 0/0 1/1 0/0 .text getE3Zhint__9daAlink_cFv */ bool daAlink_c::getE3Zhint() { return false; @@ -14091,7 +14127,7 @@ SECTION_DATA extern void* __vt__16daAlink_matAnm_c[4 + 3 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::createHeap() { +asm int daAlink_c::createHeap() { nofralloc #include "asm/d/a/d_a_alink/createHeap__9daAlink_cFv.s" } @@ -14110,19 +14146,89 @@ extern "C" asm void __dt__14J3DMaterialAnmFv() { /* 800A48F0-800A4910 09F230 0020+00 1/1 0/0 0/0 .text daAlink_createHeap__FP10fopAc_ac_c */ -static void daAlink_createHeap(fopAc_ac_c* param_0) { - daAlink_c::createHeap(); +static int daAlink_createHeap(fopAc_ac_c* link) { + return ((daAlink_c*)link)->createHeap(); +} + +bool daPy_py_c::checkWoodSwordEquip() { + return dComIfGs_getSelectEquipSword() == WOOD_STICK; +} + +BOOL daPy_py_c::i_checkSwordGet() { + return dComIfGs_getSelectEquipSword() != 0xFF; } /* 800A4910-800A4BC8 09F250 02B8+00 5/5 0/0 0/0 .text setSelectEquipItem__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSelectEquipItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setSelectEquipItem__9daAlink_cFi.s" +void daAlink_c::setSelectEquipItem(int param_0) { + if (!i_checkWolf()) { + J3DModel* temp = mSwordModel; + + if (checkWoodSwordEquip()) { + mSwordModel = field_0x0670; + field_0x06bc = field_0x066c; + } else if (checkMasterSwordEquip()) { + mSwordModel = field_0x0668; + field_0x06bc = field_0x066c; + } else { + if (!i_checkSwordGet()) { + mSwordChangeWaitTimer = 100; + } + mSwordModel = field_0x0660; + field_0x06bc = field_0x0664; + } + + if (!i_checkSwordGet() || checkWoodSwordEquip() || i_checkNoResetFlg3(FLG3_UNK_1000000)) { + if (field_0x06ec != NULL) { + field_0x06ec->hide(); + } + } else { + if (field_0x06ec != NULL) { + field_0x06ec->show(); + } + } + + if (mClothesChangeWaitTimer == 0 && (temp != mSwordModel || i_checkNoResetFlg2(STATUS_WINDOW_DRAW))) { + if (temp != mSwordModel) { + mSwordChangeWaitTimer = 5; + } + + if (checkWoodSwordEquip()) { + if (mEquipItem == 0x103 || param_0 != 0) { + mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide(); + } else { + mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->show(); + } + } else if (mEquipItem == 0x103 || param_0 != 0) { + mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->show(); + } else { + mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide(); + } + } + } else if (checkMasterSwordEquip()) { + mSwordModel = field_0x0668; + field_0x06bc = field_0x066c; + } else { + mSwordModel = field_0x0660; + field_0x06bc = field_0x0664; + } + + if (mClothesChangeWaitTimer == 0) { + if (checkZoraWearAbility()) { + if (checkZoraWearMaskDraw()) { + field_0x06f0->show(); + if (!i_checkEquipHeavyBoots()) { + field_0x06e4->show(); + } + } else { + field_0x06f0->hide(); + field_0x06e4->hide(); + } + } + + simpleAnmPlay(field_0x067c); + simpleAnmPlay(field_0x0680); + } } -#pragma pop /* 800A4BC8-800A4C40 09F508 0078+00 2/2 0/0 0/0 .text checkBoarStart__9daAlink_cFv */ BOOL daAlink_c::checkBoarStart() { @@ -14136,15 +14242,226 @@ BOOL daAlink_c::checkCanoeStart() { return (checkStageName("F_SP115") && getStartRoomNo() == 0) && dComIfGs_getStartPoint() == 2; } -/* 800A4CB4-800A54F4 09F5F4 0840+00 1/1 0/0 0/0 .text playerInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::playerInit() { - nofralloc -#include "asm/d/a/d_a_alink/playerInit__9daAlink_cFv.s" +u32 daPy_py_c::i_getLastSceneMode() { + return dComIfGs_getLastSceneMode() & 0xF; +} + +/* 800A4CB4-800A54F4 09F5F4 0840+00 1/1 0/0 0/0 .text playerInit__9daAlink_cFv */ +void daAlink_c::playerInit() { + mHeavySpeedMultiplier = lit_6040; + + if (!checkDungeon() && !checkBossRoom() && checkItemGet(DUNGEON_EXIT, 1)) { + dComIfGs_setItem(SLOT_18, TKS_LETTER); + } + + u16 i; + dCcD_Cyl* cyl1 = field_0x850; + dCcD_Cyl* cyl2 = field_0xC04; + for (i = 0; i < 3; i++, cyl1++, cyl2++) { + cyl1->Set(*(dCcD_SrcCyl*)l_cylSrc); + cyl1->SetStts(&field_0x814); + cyl1->OnTgNoConHit(); + cyl1->SetTgShieldFrontRangeYAngle(&field_0x306c); + cyl1->SetTgHitCallback(daAlink_tgHitCallback); + cyl1->SetCoHitCallback(daAlink_coHitCallback); + + cyl2->Set(*(dCcD_SrcCyl*)l_cylSrc); + cyl2->SetStts(&field_0x814); + cyl2->OffCoSetBit(); + cyl2->SetTgMtrl(3); + cyl2->OnTgNoHitMark(); + cyl2->SetTgType(0xD8FBFFFF); + cyl2->OnTgSPrmBit(0x20); + } + field_0x850[2].SetH(lit_14955); + field_0x850[1].SetH(lit_14955); + field_0xFB8.Set(*(dCcD_SrcSph*)l_sphSrc); + field_0xFB8.SetStts(&field_0x814); + field_0xFB8.StartCAt(mCurrent.mPosition); + + mAnmHeap3.setBufferSize(0x20000); + mAnmHeap3.createHeap(daPy_anmHeap_c::HEAP_TYPE_4); + + if (i_checkWolf()) { + changeWolf(); + } else { + changeLink(0); + } + + mAnmHeap4.setBufferSize(0xB00); + mAnmHeap4.createHeap(daPy_anmHeap_c::HEAP_TYPE_4); + setShieldModel(); + + mSwordModel = field_0x0660; + field_0x06bc = field_0x0664; + + field_0x814.Init(120, 0xFF, this); + field_0x306c = mCollisionRot.y + field_0x59e; + + for (u16 i = 0; i < 3; i++) { + field_0x122C[i].Set(*(dCcD_SrcCps*)l_atCpsSrc); + field_0x122C[i].SetStts(&field_0x814); + } + field_0x15F8.Set(*(dCcD_SrcCps*)l_atCpsSrc); + field_0x15F8.SetStts(&field_0x814); + field_0x15F8.SetAtType(0x10); + field_0x15F8.OnAtNoHitMark(); + field_0x15F8.SetAtHitMark(0); + field_0x15F8.SetAtAtp(0); + field_0x10F0.Set(*(dCcD_SrcCyl*)l_atCylSrc); + field_0x10F0.SetStts(&field_0x814); + + mLinkAcch.Set(this, 3, field_0x18B0); + mLinkAcch.ClrWaterNone(); + mLinkAcch.SetWaterCheckOffset(lit_8322); + mLinkAcch.OnLineCheck(); + mLinkAcch.ClrRoofNone(); + mLinkAcch.SetRoofCrrHeight(field_0x598); + mLinkAcch.SetGndThinCellingOff(); + mLinkAcch.SetWtrChkMode(2); + mLinkAcch.OnWallSort(); + field_0x18B0[0].SetWall(l_autoUpHeight, lit_10042); + field_0x18B0[1].SetWall(lit_16037, lit_10042); + field_0x18B0[2].SetWall(field_0x598, lit_10042); + field_0x2fe6 = mCollisionRot.y; + + for (u16 i = 0; i < 3; i++) { + u8* underBuf = mUnderAnime[0].getBuffer(); + mUnderAnime[i].setBuffer(underBuf + (i * 0x2C00)); + mUnderAnime[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_3); + } + mUpperAnime[0].setBuffer(mUnderAnime[0].getBuffer() + 0x8400); + + for (u16 i = 0; i < 3; i++) { + u8* upperBuf = mUpperAnime[0].getBuffer(); + mUpperAnime[i].setBuffer(upperBuf + (i * 0x2C00)); + mUpperAnime[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_3); + } + + mAnmHeap5.createHeap(daPy_anmHeap_c::HEAP_TYPE_1); + mAnmHeap6.createHeap(daPy_anmHeap_c::HEAP_TYPE_2); + mAnmHeap7.createHeap(daPy_anmHeap_c::HEAP_TYPE_3); + + for (u16 i = 0; i < 2; i++) { + mItemHeap[i].setBufferSize(0x13200); + mItemHeap[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_4); + } + mAnmHeap9.createHeap(daPy_anmHeap_c::HEAP_TYPE_3); + resetBasAnime(); + + mZ2Link.init(&mCurrent.mPosition, &mEyePos, &field_0x3720); + mZ2Link.initKantera(&field_0x360c); + mZ2Link.setKanteraState(0); + mProcID = 0x160; + + m_swordBlur.m_blurTex = (void*)dComIfG_getObjectRes(l_arcName, 0x59); // blur.bti + + J3DModelData* modelData = field_0x0660->getModelData(); + m_nSwordBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 0x44); // al_swa.btk + m_nSwordBtk->searchUpdateMaterialID(modelData); + modelData->entryTexMtxAnimator(m_nSwordBtk); + + J3DModelData* modelData2 = field_0x0668->getModelData(); + m_mSwordBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 0x45); // al_swm.btk + m_mSwordBtk->searchUpdateMaterialID(modelData2); + modelData2->entryTexMtxAnimator(m_mSwordBtk); + + m_mSwordBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 0x3F); // al_swm.brk + m_mSwordBrk->searchUpdateMaterialID(modelData2); + modelData2->entryTevRegAnimator(m_mSwordBrk); + + f32 tmp = lit_9138; + mWaterY = tmp; + field_0x33b8 = tmp; + field_0x33bc = tmp; + + mEquipItem = NO_ITEM; + offSwordModel(); + + field_0x3184 = -1; + mExitID = 0x3F; + i_onNoResetFlg0(0x100); + offOxygenTimer(); + + int startMode = getStartMode(); + int startEvent = getStartEvent(); + + if (dComIfGp_getStartStagePoint() == -2 || dComIfGp_getStartStagePoint() == -3) { + field_0x3188 = dComIfGp_evmng_startDemo(-1); + } else if (dComIfGp_getStartStagePoint() == -4) { + field_0x3188 = dComIfGp_evmng_startDemo(0xD5); + } else { + if (i_getLastSceneMode() == 9) { + field_0x3188 = dComIfGp_evmng_startDemo(0xD3); + } else if (startMode == 10) { + if (startEvent != 0xFF) { + field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + } else { + field_0x3188 = dComIfGp_evmng_startDemo(0xCF); + } + } else if (startMode == 11) { + if (startEvent != 0xFF) { + field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + } else { + field_0x3188 = dComIfGp_evmng_startDemo(0xD0); + } + } else if (startMode == 6) { + field_0x3188 = dComIfGp_evmng_startDemo(0xCD); + } else if (startMode == 7) { + field_0x3188 = dComIfGp_evmng_startDemo(0xCE); + } else if (startMode == 8) { + if (startEvent != 0xFF) { + field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + } else { + field_0x3188 = dComIfGp_evmng_startDemo(0xD4); + } + } else if (startMode == 12) { + field_0x3188 = dComIfGp_evmng_startDemo(0xC9); + } else if (i_getLastSceneMode() == 11) { + field_0x3188 = dComIfGp_evmng_startDemo(0xFF); + } else if (i_getLastSceneMode() == 12) { + field_0x3188 = dComIfGp_evmng_startDemo(0xD1); + } else { + field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + } + } + + dComIfGp_getPEvtManager()->orderStartDemo(); + field_0x2f94 = -1; + field_0x2f95 = -1; + field_0x2f96 = -1; + field_0x2f97 = -1; + + for (int i = 0; i < 0x10; i++) { + field_0x28b0[i] = -1; + } + mAtnActorID = -1; + field_0x28f0 = -1; + field_0x28f8 = -1; + field_0x28fc = -1; + + field_0x2e54.init(&mLinkAcch, daAlinkHIO_basic_c0::m.mWaterSurfaceEffectHeight, field_0x598); + field_0x3108 = mCollisionRot.y; + + field_0x2f20.setOldPosP(&field_0x3624, &field_0x3630); + field_0x2fc3 = 10; + + field_0x2f5c.mPosition = mCurrent.mPosition; + field_0x2f5c.mColor.r = 80; + field_0x2f5c.mColor.g = 80; + field_0x2f5c.mColor.b = 200; + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + field_0x2f5c.mPow = tmp_0; + field_0x2f5c.mFluctuation = tmp_0; + dKy_plight_set(&field_0x2f5c); + + setSelectEquipItem(0); + + if (checkStageName("D_MN08") || checkStageName("D_MN08B") || checkStageName("D_MN08C")) { + i_onNoResetFlg3(0x40000000); + } } -#pragma pop /* 800A54F4-800A551C 09FE34 0028+00 3/3 0/0 0/0 .text checkHorseStart__9daAlink_cFUli */ BOOL daAlink_c::checkHorseStart(u32 pLastMode, int pStartMode) { @@ -14155,7 +14472,7 @@ BOOL daAlink_c::checkHorseStart(u32 pLastMode, int pStartMode) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setStartProcInit() { +asm int daAlink_c::setStartProcInit() { nofralloc #include "asm/d/a/d_a_alink/setStartProcInit__9daAlink_cFv.s" } @@ -14168,7 +14485,12 @@ static s32 bgWaitFlg; /* 80450FD0-80450FD8 -00001 0008+00 2/2 0/0 0/0 .sbss None */ /* 80450FD0 0001+00 data_80450FD0 None */ /* 80450FD1 0007+00 data_80450FD1 None */ -static u8 struct_80450FD0[8]; +static s8 struct_80450FD0; + +#pragma push +#pragma force_active on +static u8 data_80450FD1; +#pragma pop /* 80453230-80453234 001830 0004+00 1/1 0/0 0/0 .sdata2 @58630 */ SECTION_SDATA2 static f32 lit_58630 = 7500.0f; @@ -14176,15 +14498,208 @@ SECTION_SDATA2 static f32 lit_58630 = 7500.0f; /* 80453234-80453238 001834 0004+00 2/2 0/0 0/0 .sdata2 @58631 */ SECTION_SDATA2 static f32 lit_58631 = 275.0f; +inline bool checkCasualWearFlg() { + return dComIfGs_getSelectEquipClothes() == WEAR_CASUAL; +} + /* 800A5CC8-800A660C 0A0608 0944+00 1/1 0/0 0/0 .text create__9daAlink_cFv */ +#ifdef NONMATCHING +int daAlink_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daAlink_c(); + fopAcM_OnCondition(this, 8); + } + + if (!struct_80450FD0) { + bgWaitFlg = 0; + struct_80450FD0 = 1; + } + + u32 sceneMode = i_getLastSceneMode(); + s32 startMode = getStartMode(); + s16 startPoint = dComIfGp_getStartStagePoint(); + BOOL horseStart = checkHorseStart(sceneMode, startMode); + + BOOL enteringCity = false; + // Stage: City Room: Entrance Layer: 0 + if (checkStageName("D_MN07") && dComIfGp_roomControl_getStayNo() == 0 && + dComIfG_play_c::getLayerNo(0) == 0 && mCurrent.mPosition.y > 7500.0f) { + enteringCity = true; + } + + if (!bgWaitFlg) { + // Event Flag: Finished Sewers + if (checkCasualWearFlg() && i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { + dComIfGs_setSelectEquipClothes(WEAR_KOKIRI); + } + + if (enteringCity && checkMagicArmorHeavy()) { + dComIfGs_setSelectEquipClothes(WEAR_KOKIRI); + } + + dComIfGp_setPlayer(0, this); + dComIfGp_setLinkPlayer(this); + fopAcM_setStageLayer(this); + + if (sceneMode == 7) { + mCurrent.mPosition = dComIfGs_getTurnRestartPos(); + mCollisionRot.y = dComIfGs_getTurnRestartAngleY(); + mCurrent.mAngle.y = mCollisionRot.y; + } + + if ((!checkBossOctaIealRoom() && dComIfGs_Wolf_Change_Check() == 1) || startPoint == -4 || sceneMode == 9) { + mAttentionInfo.mPosition.set(mCurrent.mPosition.x + cM_ssin(mCollisionRot.y) * 70.0f, + mCurrent.mPosition.y + 80.0f, + mCurrent.mPosition.z + cM_scos(mCollisionRot.y) * 70.0f); + i_onNoResetFlg1(0x2000000); + } else if (horseStart) { + mAttentionInfo.mPosition.y = mCurrent.mPosition.y + 150.0f; + } else { + mAttentionInfo.mPosition.y = mCurrent.mPosition.y + 275.0f; + } + mAttentionInfo.mFlags = -1; + + if (!i_dComIfGp_getEventManager().dataLoaded()) { + return 0; + } + + setArcName(i_checkWolf()); + setOriginalHeap(&field_0x0638, 0xA2800); + if (dComIfG_resLoad(&mPhaseReq, mArcName, field_0x0638) != 4) { + return 0; + } + + setShieldArcName(); + setOriginalHeap(&field_0x0648, 0x7000); + if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, field_0x0648) != 4) { + return 0; + } + + if (!fopAcM_entrySolidHeap(this, daAlink_createHeap, 0xC003E930)) { + return 5; + } + + mAttention = &dComIfGp_getAttention(); + field_0x317c = i_dComIfGp_getPlayerCameraID(0); + + playerInit(); + bgWaitFlg = 1; + + if (checkCanoeStart()) { + field_0x2900 = fopAcM_create(PROC_CANOE, 0, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + } else if (sceneMode == 11) { + field_0x2900 = fopAcM_create(PROC_Obj_IceLeaf, 0x1FFFF, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + } else { + field_0x2900 = -1; + } + } + + mLinkAcch.CrrPos(dComIfG_Bgsp()); + void* var_r24 = NULL; // supposed to be set in big if statement + + if (mLinkAcch.GetGroundH() == lit_9138 || + (startMode == 14 && !dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) || + (startPoint == -4 && fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchPortal, &mCurrent.mPosition) == NULL) || + (field_0x2900 != -1 && !fopAcM_SearchByID(field_0x2900)) || + (checkCanoeStart() && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL)) || + (checkBoarStart() && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBoar, NULL)) || + (startMode == 13 && (!mLinkAcch.ChkWaterHit() || mLinkAcch.m_wtr.GetHeight() < mCurrent.mPosition.y)) || + ((checkCarryStartLightBallA() || checkCarryStartLightBallB()) && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchLightBall, NULL)) || + (horseStart && i_dComIfGp_getHorseActor() == NULL)) { + return 0; + } + + if (var_r24) { + i_dComIfGp_getEvent().setPtD(var_r24); + } + + bgWaitFlg = 0; + + dComIfGs_setRestartRoom(mCurrent.mPosition, mCollisionRot.y, getStartRoomNo()); + field_0x3780 = mCurrent.mPosition; + mLinkAcch.ClrGndThinCellingOff(); + fopAcM_SetRoomNo(this, dComIfG_Bgsp().GetRoomId(mLinkAcch.m_gnd) + 1); + setRoomInfo(); + setWaterY(); + + if (checkStageName("F_SP102") && fopAcM_GetRoomNo(this) == 0 && dComIfG_play_c::getLayerNo(0) == 4) { + i_onNoResetFlg2(0x800000); + } else if (checkStageName("F_SP123") && fopAcM_GetRoomNo(this) == 13 && dComIfG_play_c::getLayerNo(0) == 0) { + i_onNoResetFlg2(0x1000000); + } + + J3DAnmTransform* at1; + J3DAnmTransform* at2; + getUnderUpperAnime(ANM_IDLE, &at1, &at2, 0, 0x2C00); + field_0x1f28[0].setAnmTransform(at1); + + if (at2 != NULL) { + mNowAnmPack[0].setAnmTransform(at2); + } else { + mNowAnmPack[0].setAnmTransform(at1); + } + + int prm = setStartProcInit(); + setSelectEquipItem(0); + setMatrix(); + allAnimePlay(); + field_0x0650->calc(); + playFaceTextureAnime(); + + if (!i_checkWolf()) { + setItemMatrix(0); + } else { + setWolfItemMatrix(); + } + + setBodyPartPos(); + setHangWaterY(); + + field_0x850[0].SetC(mCurrent.mPosition); + field_0x3454 = field_0x3834.y; + setAttentionPos(); + setItemActor(); + + if (dComIfGs_getLastSceneMode() & 0x400000 && !i_checkWolf() && !checkNotHeavyBootsStage() && !horseStart && !enteringCity) { + setHeavyBoots(1); + } + + if (dComIfGs_getLastSceneMode() & 0x200000 && !checkCloudSea()) { + i_onNoResetFlg2(1); + mZ2Link.setKanteraState(2); + } + + if (checkCarryStartLightBallA() || checkCarryStartLightBallB()) { + setForceGrab((fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchLightBall, NULL), 1, 1); + } + + fopAcM_create(PROC_MIDNA, prm, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + checkSetNpcTks(&mCurrent.mPosition, fopAcM_GetRoomNo(this), 1); + + if (startPoint == -4 && dComIfGp_TargetWarpPt_get() != -1 && !dComIfGp_TransportWarp_check()) { + daTagMhint_c::createPortalWarpMissTag(fopAcM_GetID(this), fopAcM_GetRoomNo(this)); + } + + if (i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) == 0x11) { + if (!i_dComIfGs_isItemFirstBit(HYLIA_SHIELD) && !i_dComIfGs_isItemFirstBit(SHIELD) && !i_dComIfGs_isItemFirstBit(WOOD_SHIELD)) { + i_fopAcM_onSwitch(this, 0x6F); + } else { + i_fopAcM_offSwitch(this, 0x6F); + } + } + + return 4; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::create() { +asm int daAlink_c::create() { nofralloc #include "asm/d/a/d_a_alink/create__9daAlink_cFv.s" } #pragma pop +#endif /* 800A660C-800A662C 0A0F4C 0020+00 1/0 0/0 0/0 .text daAlink_Create__FP10fopAc_ac_c */ #pragma push @@ -14419,14 +14934,13 @@ asm void daAlink_c::setBodyPartPos() { #pragma pop /* 800A87D8-800A87F8 0A3118 0020+00 1/0 0/0 0/0 .text setRollJump__9daAlink_cFffs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::setRollJump(f32 param_0, f32 param_1, s16 param_2) { - nofralloc -#include "asm/d/a/d_a_alink/setRollJump__9daAlink_cFffs.s" +int daAlink_c::setRollJump(f32 param_0, f32 param_1, s16 param_2) { + field_0x3410 = param_0; + field_0x3414 = param_1; + field_0x30ee = param_2; + i_onEndResetFlg0(0x100); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80391FBC-80391FC8 01E61C 000C+00 0/0 0/0 0/0 .rodata wlLocalEyeFromRoot$59882 */ @@ -14702,14 +15216,10 @@ asm void daAlink_c::setWolfItemMatrix() { /* 800AA2BC-800AA2E0 0A4BFC 0024+00 3/3 0/0 0/0 .text * setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setHandIndex(daAlink_c::daAlink_ANM param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM.s" +void daAlink_c::setHandIndex(daAlink_c::daAlink_ANM anmID) { + field_0x2f92 = getAnmData(anmID)->field_0x4; + field_0x2f93 = getAnmData(anmID)->field_0x5; } -#pragma pop /* 800AA2E0-800AA5E8 0A4C20 0308+00 1/1 0/0 0/0 .text setSwordAtCollision__9daAlink_cFi */ @@ -15556,10 +16066,6 @@ BOOL daAlink_c::checkSlope() const { return field_0x3174 != 8 && field_0x2ff0 < -field_0x3122; } -inline daHorse_c* i_dComIfGp_getHorseActor() { - return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1); -} - /* 800B221C-800B23FC 0ACB5C 01E0+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi */ // need to figure out member function pointer calls @@ -15580,7 +16086,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2 mCollisionRot.y = param_1; mCurrent.mAngle.y = param_1; field_0x2fe6 = mCollisionRot.y; - if ((mActionID == 0x145 || mActionID == 0xE2) && !i_checkWolf()) { + if ((mProcID == PROC_TALK || mProcID == PROC_TRADE_ITEM_OUT) && !i_checkWolf()) { if (field_0x3198 != 0) { field_0x37c8.x = mCurrent.mPosition.x; field_0x37c8.z = mCurrent.mPosition.z; @@ -15658,15 +16164,15 @@ void daAlink_c::setPlayerPosAndAngle(Mtx param_0) { /* 800B25CC-800B25E8 0ACF0C 001C+00 16/16 0/0 0/0 .text itemTriggerCheck__9daAlink_cFUc */ -BOOL daAlink_c::itemTriggerCheck(u8 pTrigger) { - field_0x2fae |= pTrigger; - return mItemTrigger & pTrigger; +BOOL daAlink_c::itemTriggerCheck(u8 btnFlag) { + field_0x2fae |= btnFlag; + return mItemTrigger & btnFlag; } /* 800B25E8-800B2604 0ACF28 001C+00 11/11 0/0 0/0 .text itemButtonCheck__9daAlink_cFUc */ -BOOL daAlink_c::itemButtonCheck(u8 pButton) { - field_0x2fae |= pButton; - return mItemButton & pButton; +BOOL daAlink_c::itemButtonCheck(u8 btnFlag) { + field_0x2fae |= btnFlag; + return mItemButton & btnFlag; } BOOL daAlink_c::itemButton() { @@ -15678,19 +16184,19 @@ void daAlink_c::itemTrigger() { } void daAlink_c::spActionButton() { - itemButtonCheck(64); + itemButtonCheck(BTN_R); } void daAlink_c::spActionTrigger() { - itemTriggerCheck(64); + itemTriggerCheck(BTN_R); } BOOL daAlink_c::midnaTalkTrigger() const { - return mItemTrigger & 4; + return mItemTrigger & BTN_Z; } BOOL daAlink_c::swordSwingTrigger() { - return itemTriggerCheck(8); + return itemTriggerCheck(BTN_B); } /* 800B26DC-800B26FC 0AD01C 0020+00 2/2 0/0 0/0 .text setItemActionButtonStatus__9daAlink_cFUc */ @@ -15704,6 +16210,184 @@ void daAlink_c::itemActionTrigger() { } /* 800B271C-800B2EA4 0AD05C 0788+00 1/1 0/0 0/0 .text setStickData__9daAlink_cFv */ +#ifdef NONMATCHING +void daAlink_c::setStickData() { + field_0x2f8f = mItemButton; + mItemTrigger = 0; + mItemButton = 0; + mHeavySpeedMultiplier = 1.0f; + + if (checkEventRun() && mProcID != PROC_GRASS_WHISTLE_WAIT && + mProcID != PROC_WOLF_DIG_THROUGH && mProcID != PROC_GOAT_CATCH && + mProcID != PROC_WOLF_GANON_CATCH && mProcID != PROC_TOOL_DEMO && + (mProcID != PROC_METAMORPHOSE || mFallVoiceInit == 0)) { + u32 demoMode = mDemo.getDemoMode(); + + if (checkDemoMoveMode(demoMode)) { + if (dDemo_c::m_object->getActor() != NULL) { + field_0x33a8 = 1.0f; + } else { + field_0x33a8 = mDemo.getStick(); + } + } else if (demoMode == 14 || demoMode == 0x1A || demoMode == 0x41) { + if (demoMode == 0x1A) { + field_0x33a8 = mDemo.getStick(); + mDemo.setMoveAngle(getSceneExitMoveAngle()); + + if (checkHorseRide()) { + s16 angle = mDemo.getMoveAngle(); + i_dComIfGp_getHorseActor()->changeDemoMoveAngle(angle); + } + } else { + field_0x33a8 = 0.0f; + } + mItemButton = field_0x2f8f; + } else { + field_0x33a8 = 0.0f; + } + field_0x2fe2 = mDemo.getMoveAngle(); + field_0x33ac = field_0x33a8; + } else if (checkDeadHP() || dMeter2Info_getPauseStatus() == 1) { + field_0x33a8 = 0.0f; + field_0x33ac = 0.0f; + field_0x2fe0 = 0; + field_0x2fe2 = 0; + } else if (checkMidnaLockJumpPoint() && getMidnaActor()->checkNoInput()) { + field_0x33a8 = 0.0f; + field_0x33ac = 0.0f; + field_0x2fe0 = 0; + dComIfGp_2dShowOff(); + i_onNoResetFlg2(0x80); + var_r31 = 1; + field_0x2fe4 = mCollisionRot.y; + } else { + if (field_0x33ac > 0.05f) { + field_0x2fb9 = 0; + } + + bool usingFishRod = false; + if (checkFishingRodAndLureItem() && mItemActor.getActor() != NULL && (checkCanoeRide() || mProcID == PROC_FISHING_CAST)) { + usingFishRod = true; + } + + if (usingFishRod) { + dmg_rod_class* mg_rod = (dmg_rod_class*)mItemActor.getActor(); + field_0x33a8 = JMAFastSqrt((mg_rod->getRodStickX() * mg_rod->getRodStickX()) + (mg_rod->getRodStickY() * mg_rod->getRodStickY())); + field_0x2fe0 = cM_atan2s(-mg_rod->getRodStickX(), mg_rod->getRodStickY()); + } else { + field_0x33a8 = mDoCPd_c::getStickValue(PAD_1); + field_0x2fe0 = mDoCPd_c::getStickAngle3D(PAD_1) - 0x8000; + } + + field_0x33ac = field_0x33a8; + field_0x2fe2 = field_0x2fe0 + dCam_getControledAngleY(dComIfGp_getCamera(field_0x317c)); + + if (i_checkMagneBootsOn()) { + if (field_0x2fb9 == 1 || (field_0x2fb9 == 0 && field_0x3114 == -0x8000 && field_0x3114 <= 0x6000)) { + field_0x2fb9 = 1; + } else { + field_0x2fb9 = 2; + } + + if (field_0x2fb9 == 1 && ((field_0x3114 > 0x6000 || field_0x3114 == -0x8000) || (field_0x2fb9 == 2 && field_0x3114 == -0x8000)) && field_0x3114 < 0x4000) { + field_0x2fe2 = getMagneBootsLocalAngleY(field_0x2fe2, 0) + 0x8000; + } else { + field_0x2fe2 = getMagneBootsLocalAngleY(field_0x2fe2, field_0x2fb9); + } + } else { + field_0x2fb9 = 1; + } + + if (mDoCPd_c::getTrigB(PAD_1)) { + mItemTrigger |= BTN_B; + } + if (mDoCPd_c::getTrigA(PAD_1)) { + mItemTrigger |= BTN_A; + } + if (mDoCPd_c::getTrigX(PAD_1)) { + mItemTrigger |= BTN_X; + } + if (mDoCPd_c::getTrigY(PAD_1)) { + mItemTrigger |= BTN_Y; + } + if (mDoCPd_c::getTrigZ(PAD_1)) { + mItemTrigger |= BTN_Z; + } + if (mDoCPd_c::getTrigL(PAD_1)) { + mItemTrigger |= BTN_L; + } + if (mDoCPd_c::getTrigLockR(PAD_1)) { + mItemTrigger |= BTN_R; + } + + if (mDoCPd_c::getHoldA(PAD_1)) { + mItemButton |= BTN_A; + } + if (mDoCPd_c::getHoldB(PAD_1)) { + mItemButton |= BTN_B; + } + if (mDoCPd_c::getHoldX(PAD_1)) { + mItemButton |= BTN_X; + } + if (mDoCPd_c::getHoldY(PAD_1)) { + mItemButton |= BTN_Y; + } + if (mDoCPd_c::getHoldZ(PAD_1)) { + mItemButton |= BTN_Z; + } + if (mDoCPd_c::getHoldL(PAD_1)) { + mItemButton |= BTN_L; + } + if (mDoCPd_c::getHoldLockR(PAD_1)) { + mItemButton |= BTN_R; + } + + if (checkHeavyStateOn(1, 1) && (!checkBootsOrArmorHeavy() || !checkNoResetFlg0(0x800000))) { + if (i_checkWolf() && checkHeavyStateOn(1, 0) && mSinkShapeOffset < -30.0f) { + mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mInputFactor * 0.4f; + } else { + mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mInputFactor; + } + field_0x33a8 *= mHeavySpeedMultiplier; + } else if (checkBootsOrArmorHeavy()) { + if (checkZoraWearAbility()) { + mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mZoraWaterInputFactor; + } else { + mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mWaterInputFactor; + } + field_0x33a8 *= mHeavySpeedMultiplier; + } else if (i_checkWolf() && ((field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11)) { + i_onNoResetFlg0(0x40000000); + field_0x33a8 *= daAlinkHIO_wolf_c0::m.mSwampInputRate; + mHeavySpeedMultiplier = daAlinkHIO_wolf_c0::m.mSwampInputRate; + } + } + + s16 sub = field_0x2fe0 - field_0x307c; + int x = abs(sub); + + if (x < 0x4000 && x > 0x6D4 && field_0x3180 * sub > 0) { + field_0x3180 += sub; + field_0x307a = 4; + } else if (field_0x3180 * sub < 0) { + field_0x3180 = sub; + field_0x307a = 4; + } else if (field_0x307a > 0) { + field_0x307a--; + } else { + field_0x3180 = 0; + } + + if (!doButton()) { + i_offNoResetFlg0(0x10000000); + } + + if (!var_r31 && checkNoResetFlg2(0x80)) { + i_offNoResetFlg2(0x80); + dComIfGp_2dShowOn(); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -15712,6 +16396,7 @@ asm void daAlink_c::setStickData() { #include "asm/d/a/d_a_alink/setStickData__9daAlink_cFv.s" } #pragma pop +#endif /* 800B2EA4-800B3220 0AD7E4 037C+00 1/1 0/0 0/0 .text setAtnList__9daAlink_cFv */ #pragma push @@ -16461,7 +17146,7 @@ asm void daAlink_c::itemUnequip(u16 param_0, f32 param_1) { /* 800B97EC-800B983C 0B412C 0050+00 2/2 0/0 0/0 .text checkFastUnequip__9daAlink_cFv */ bool daAlink_c::checkFastUnequip() { - return mActionID == PREACTION_UNEQUIP || mActionID == HORSE_GETOFF || checkEventRun(); + return mProcID == PROC_PREACTION_UNEQUIP || mProcID == PROC_HORSE_GETOFF || checkEventRun(); } /* 800B983C-800B994C 0B417C 0110+00 10/10 0/0 0/0 .text allUnequip__9daAlink_cFi */ @@ -16563,7 +17248,7 @@ asm void daAlink_c::checkNextActionFromCrouch(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkUpperReadyThrowAnime() const { +asm int daAlink_c::checkUpperReadyThrowAnime() const { nofralloc #include "asm/d/a/d_a_alink/checkUpperReadyThrowAnime__9daAlink_cCFv.s" } @@ -16830,21 +17515,168 @@ asm void daAlink_c::checkRestartRoom() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getSceneExitMoveAngle() { +asm s16 daAlink_c::getSceneExitMoveAngle() { nofralloc #include "asm/d/a/d_a_alink/getSceneExitMoveAngle__9daAlink_cFv.s" } #pragma pop /* 800BEAF8-800BF084 0B9438 058C+00 1/1 0/0 0/0 .text checkSceneChange__9daAlink_cFi */ +// some small issues +#ifdef NONMATCHING +int daAlink_c::checkSceneChange(int exitID) { + s32 var_r3 = 0; + + if (mProcID != PROC_FOG_DEAD && (field_0x3174 == 9 || i_checkNoResetFlg2(FLG2_UNK_4000))) { + var_r3 = 1; + } + + if (field_0x3174 == 4 || field_0x3174 == 10) { + exitID = 0x3F; + } + + if (var_r3 || ((exitID != 0x3F || mExitID != 0x3F) && (i_checkModeFlg(0x40000) || i_checkModeFlg(0x400) || mLinkAcch.ChkGroundHit() || mProcID == PROC_DOOR_OPEN || mProcID == PROC_WARP || mProcID == PROC_WOLF_DIG_THROUGH || (field_0x3174 == 5 && field_0x33c8 - mCurrent.mPosition.y > 500.0f))) || (mExitID & 0x8000 && i_checkModeFlg(2))) { + if (field_0x3174 == 5 || (mExitID & 0x8000 && mExitDirection == 0xFF)) { + mLinkAcch.i_ClrGroundHit(); + } + + if (i_checkNoResetFlg0(FLG0_UNK_4000)) { + return 1; + } else if (checkHorseRide()) { + if (dComIfG_Bgsp().GetHorseNoEntry(mLinkAcch.m_gnd)) { + return 0; + } + + if (daTagHstop_c::getTop() != NULL) { + daTagHstop_c* hStop = daTagHstop_c::getTop(); + cXyz sp8; + for (; hStop != NULL; hStop = hStop->getNext()) { + if (hStop->getActiveFlg()) { + fpoAcM_relativePos(hStop, &mCurrent.mPosition, &sp8); + + if (sp8.y >= -200.0f && sp8.y <= hStop->mScale.y + 600.0f && fabsf(sp8.x) <= hStop->mScale.x && fabsf(sp8.z) <= hStop->mScale.z) { + return 0; + } + } + } + } + } + + s32 ridingHorse = false; + if (checkHorseRide() && mProcID != PROC_HORSE_GETOFF) { + ridingHorse = true; + } + + f32 demoStick; + f32 exitSpeed; + if (ridingHorse) { + if (mNormalSpeed < 15.0f) { + exitSpeed = 15.0f; + demoStick = 0.6f; + } else { + exitSpeed = i_dComIfGp_getHorseActor()->getNormalMaxSpeedF(); + demoStick = 0.6f; + } + } else if (i_checkWolf()) { + if (mNormalSpeed < 10.0f || var_r3) { + exitSpeed = 10.0f; + demoStick = 0.65f; + } else { + exitSpeed = daAlinkHIO_wlMoveNoP_c0::m.field_0x8; + demoStick = 1.0f; + } + } else if (mNormalSpeed < 10.0f || var_r3) { + exitSpeed = 10.0f; + demoStick = 0.6f; + } else { + exitSpeed = daAlinkHIO_move_c0::m.mMaxSpeed; + demoStick = 1.0f; + } + + s32 exitMode; + if (ridingHorse) { + exitMode = 1; + } else if (i_checkModeFlg(0x1000000)) { + exitSpeed = field_0x33a8; + if (mFrameCtrl1[0].getRate() >= 0.0f) { + exitMode = 2; + } else { + exitMode = 3; + } + } else if (mProcID == PROC_WOLF_DIG_THROUGH) { + exitMode = 9; + } else { + exitMode = 0; + } + + if (mEvtInfo.i_checkCommandDoor() || mProcID == PROC_WARP || mProcID == WOLF_DIG || mProcID == PROC_WOLF_DIG_THROUGH || field_0x3106 != 0 || dComIfGp_event_compulsory(this, NULL, -1)) { + s32 sceneChanged = 0; + + if (var_r3) { + mDemo.setOriginalDemoType(); + mDemo.setDemoMode(0x34); + } else { + if (mExitID != 0x3F) { + sceneChanged = dStage_changeScene(mExitID, exitSpeed, exitMode, fopAcM_GetRoomNo(this), mCollisionRot.y, -1); + if (sceneChanged) { + i_onNoResetFlg2(0x8000); + if (mpScnChg != NULL && fopAcM_GetName(mpScnChg) == PROC_SCENE_EXIT) { + mpScnChg->setSceneChangeOK(); + } + } + + if (mExitDirection != 0xFF) { + field_0x2f58 = dPath_GetRoomPath(mExitDirection, fopAcM_GetRoomNo(this)); + } + } else { + sceneChanged = dStage_changeSceneExitId(mLinkAcch.m_gnd, exitSpeed, exitMode, fopAcM_GetRoomNo(this), mCollisionRot.y); + field_0x2f58 = dPath_GetRoomPath(dComIfG_Bgsp().GetRoomPathId(mLinkAcch.m_gnd), fopAcM_GetRoomNo(this)); + } + } + + if (sceneChanged) { + i_onNoResetFlg0(0x4000); + + if (!mEvtInfo.i_checkCommandDoor()) { + mDemo.setOriginalDemoType(); + + if (checkUpperReadyThrowAnime()) { + resetUpperAnime(UPPER_NOW, 3.0f); + } + + if (field_0x3174 == 5) { + mDemo.setDemoMode(0x11); + } else { + mDemo.setDemoMode(0x1A); + mDemo.setStick(demoStick); + } + + mDemo.setMoveAngle(getSceneExitMoveAngle()); + if (ridingHorse) { + daHorse_c* horse = i_dComIfGp_getHorseActor(); + horse->i_changeOriginalDemo(); + horse->i_changeDemoMode(6, 0); + horse->changeDemoMoveAngle(mDemo.getMoveAngle()); + horse->setDemoStickR(demoStick); + } + } + return 1; + } + } + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkSceneChange(int param_0) { +asm int daAlink_c::checkSceneChange(int param_0) { nofralloc #include "asm/d/a/d_a_alink/checkSceneChange__9daAlink_cFi.s" } #pragma pop +#endif /* 800BF084-800BF0B8 0B99C4 0034+00 1/0 0/0 0/0 .text voiceStart__9daAlink_cFUl */ // matches, but JAISoundID(u32) constructor needs to be inlined? @@ -16978,90 +17810,132 @@ asm void daAlink_c::setMetamorphoseModel(int param_0) { #pragma pop /* 800BF854-800BF884 0BA194 0030+00 10/10 0/0 0/0 .text keepItemData__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::keepItemData() { - nofralloc -#include "asm/d/a/d_a_alink/keepItemData__9daAlink_cFv.s" +void daAlink_c::keepItemData() { + field_0x30ce = mEquipItem; + deleteEquipItem(0, 0); } -#pragma pop /* 800BF884-800BF8D0 0BA1C4 004C+00 8/8 0/0 0/0 .text returnKeepItemData__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::returnKeepItemData() { - nofralloc -#include "asm/d/a/d_a_alink/returnKeepItemData__9daAlink_cFv.s" +void daAlink_c::returnKeepItemData() { + deleteEquipItem(0, 0); + mEquipItem = field_0x30ce; + field_0x30ce = NO_ITEM; + makeItemType(); } -#pragma pop /* 800BF8D0-800BF9F0 0BA210 0120+00 2/2 0/0 0/0 .text setItemModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::setItemModel() { - nofralloc -#include "asm/d/a/d_a_alink/setItemModel__9daAlink_cFv.s" +BOOL daAlink_c::setItemModel() { + if (checkBowItem(mEquipItem)) { + setBowModel(); + return 1; + } + + if (mEquipItem == PACHINKO) { + setSlingModel(); + return 1; + } + + if (mEquipItem == COPY_ROD) { + setCopyRodModel(); + return mCopyRodAcKeep.getActor() != NULL ? 1 : 0; + } + + if (mEquipItem == KANTERA) { + setKandelaarModel(); + return 1; + } + + if (mEquipItem == EMPTY_BOTTLE) { + setBottleModel(mEquipItem); + return 1; + } + + if (checkHookshotItem(mEquipItem)) { + setHookshotModel(); + return 1; + } + + if (mEquipItem == 0x103) { + setSwordModel(); + return 1; + } + + if (mEquipItem == IRONBALL) { + setIronBallModel(); + setIronBallWaitUpperAnime(1); + return mItemActor.getActor() != NULL ? 1 : 0; + } + + return 0; } -#pragma pop /* 800BF9F0-800BFD74 0BA330 0384+00 4/4 0/0 0/0 .text setItemActor__9daAlink_cFv */ -// register issues +// matches with literals #ifdef NONMATCHING BOOL daAlink_c::setItemActor() { if (mEquipItem == BOOMERANG) { - fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(0xFE, 0, &mCurrent.mPosition, -1, NULL, + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_BOOMERANG, 0, &mCurrent.mPosition, -1, NULL, NULL, -1, NULL, NULL); if (actor == NULL) { deleteEquipItem(0, 0); - return false; - } else { - mItemActor.setData(actor); - field_0x2f94 = 2; - return true; + return 0; } - } else if (mEquipItem == COPY_ROD) { - fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 0, &mCurrent.mPosition, -1, NULL, + + mItemActor.setData(actor); + field_0x2f94 = 2; + return 1; + } + + if (mEquipItem == COPY_ROD) { + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_CROD, 0, &mCurrent.mPosition, -1, NULL, NULL, -1, NULL, NULL); if (actor == NULL) { deleteEquipItem(0, 0); - return false; - } else { - mItemActor.setData(actor); - field_0x2f94 = 2; - return true; + return 0; } - } else if (mEquipItem == IRONBALL) { + + mItemActor.setData(actor); + field_0x2f94 = 2; + return 1; + } + + if (mEquipItem == IRONBALL) { fopAc_ac_c* actor = daCrod_c::makeIronBallDummy(this); + if (actor == NULL) { if (checkIronBallWaitAnime()) { resetUpperAnime(UPPER_NOW, -1.0f); } deleteEquipItem(0, 0); - return false; - } else { - mItemActor.setData(actor); - field_0x173c.SetActor(actor); - return true; + return 0; } - } else if (checkFisingRodLure()) { - u32 id = fopAcM_create(0x2E4, 0x10D, &mLeftHandPos, -1, NULL, NULL, 0xFF); + + mItemActor.setData(actor); + field_0x173c.SetActor(actor); + return 1; + } + + if (checkFisingRodLure()) { + u32 id = fopAcM_create(PROC_MG_ROD, 0x10D, &mLeftHandPos, -1, NULL, NULL, 0xFF); mItemActor.setID(id); initFishingRodHand(); return 1; - } else if (checkFishingRodItem(mEquipItem)) { + } + + if (checkFishingRodItem(mEquipItem)) { setGroundFishingRodActor(); return 1; - } else if (checkBombItem(mEquipItem)) { + } + + if (checkBombItem(mEquipItem)) { if (checkHorseRide()) { if (!i_dComIfGp_getHorseActor()->checkNoBombProc() && - (mActionID != HORSE_TURN || !i_checkModeFlg(MODE_DISABLE_ITEMS))) { + (mProcID != PROC_HORSE_TURN || !i_checkModeFlg(MODE_DISABLE_ITEMS))) { mEquipItem = NO_ITEM; return 1; } } + cXyz create_pos = (mLeftHandPos + mRightHandPos) * 0.5f; if (checkReadyItem()) { fopAc_ac_c* actor; @@ -17070,6 +17944,7 @@ BOOL daAlink_c::setItemActor() { } else { actor = dBomb_c::createWaterBombPlayer(&create_pos); } + if (actor != NULL) { mActiveBombNum++; setGrabItemActor(actor); @@ -17079,9 +17954,10 @@ BOOL daAlink_c::setItemActor() { } } mEquipItem = NO_ITEM; - return true; + return 1; } - return false; + + return 0; } #else #pragma push @@ -17105,20 +17981,25 @@ bool daPy_py_c::checkZoraWearFlg() const { return dComIfGs_getSelectEquipClothes() == WEAR_ZORA; } +bool daPy_py_c::checkMagicArmorWearFlg() const { + return dComIfGs_getSelectEquipClothes() == ARMOR; +} + /* 800BFDB0-800BFDFC 0BA6F0 004C+00 28/28 0/0 0/0 .text checkZoraWearAbility__9daAlink_cCFv */ // li 0 needs to be mr #ifdef NONMATCHING BOOL daAlink_c::checkZoraWearAbility() const { bool ret = false; bool wear_zora = false; - if (!i_checkWolf()) { - if (checkZoraWearFlg()) { - wear_zora = true; - } + + if (!i_checkWolf() && checkZoraWearFlg()) { + wear_zora = true; } + if (wear_zora && !i_checkNoResetFlg2(UNK_ARMOR)) { ret = true; } + return ret; } #else @@ -17133,6 +18014,22 @@ asm BOOL daAlink_c::checkZoraWearAbility() const { #endif /* 800BFDFC-800BFE48 0BA73C 004C+00 5/5 0/0 0/0 .text checkMagicArmorWearAbility__9daAlink_cCFv */ +#ifdef NONMATCHING +BOOL daAlink_c::checkMagicArmorWearAbility() const { + bool ret = false; + bool wear_armor = false; + + if (!i_checkWolf() && checkMagicArmorWearFlg()) { + wear_armor = true; + } + + if (wear_armor && !i_checkNoResetFlg2(UNK_ARMOR)) { + ret = true; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -17141,6 +18038,7 @@ asm BOOL daAlink_c::checkMagicArmorWearAbility() const { #include "asm/d/a/d_a_alink/checkMagicArmorWearAbility__9daAlink_cCFv.s" } #pragma pop +#endif /* 800BFE48-800BFF04 0BA788 00BC+00 9/9 0/0 0/0 .text loadAramBmd__9daAlink_cFUsUl */ #pragma push @@ -17203,95 +18101,71 @@ asm void daAlink_c::changeItemBck(u16 param_0, f32 param_1) { #pragma pop /* 800C0114-800C0164 0BAA54 0050+00 2/2 0/0 0/0 .text checkGroupItem__9daAlink_cCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGroupItem(int param_0, int param_1) const { - nofralloc -#include "asm/d/a/d_a_alink/checkGroupItem__9daAlink_cCFii.s" +int daAlink_c::checkGroupItem(int i_itemNo, int i_selItem) const { + if (i_itemNo == 0x107) { + return checkDrinkBottleItem(i_selItem); + } else if (i_itemNo == 0x108) { + return checkFishingRodItem(i_selItem); + } else { + return i_itemNo == i_selItem; + } } -#pragma pop /* 800C0164-800C0208 0BAAA4 00A4+00 11/11 0/0 0/0 .text checkSetItemTrigger__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSetItemTrigger(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkSetItemTrigger__9daAlink_cFi.s" +int daAlink_c::checkSetItemTrigger(int i_itemNo) { + for (u8 i = 0; i < 2; i++) { + if (checkGroupItem(i_itemNo, dComIfGp_getSelectItem(i)) && itemTriggerCheck(1 << i)) { + if (i_itemNo != HVY_BOOTS) { + mSelectItemId = i; + } + return 1; + } + } + + return 0; } -#pragma pop /* 800C0208-800C0284 0BAB48 007C+00 6/6 0/0 0/0 .text checkItemSetButton__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkItemSetButton(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkItemSetButton__9daAlink_cFi.s" +int daAlink_c::checkItemSetButton(int i_itemNo) { + for (u8 i = 0; i < 2; i++) { + if (checkGroupItem(i_itemNo, dComIfGp_getSelectItem(i))) { + return i; + } + } + + return 2; } -#pragma pop /* 800C0284-800C02C8 0BABC4 0044+00 1/1 0/0 0/0 .text checkField__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkField() { - nofralloc -#include "asm/d/a/d_a_alink/checkField__9daAlink_cFv.s" +bool daAlink_c::checkField() { + return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 0; } -#pragma pop /* 800C02C8-800C0310 0BAC08 0048+00 6/6 0/0 0/0 .text checkBossRoom__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBossRoom() { - nofralloc -#include "asm/d/a/d_a_alink/checkBossRoom__9daAlink_cFv.s" +bool daAlink_c::checkBossRoom() { + return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 3; } -#pragma pop /* 800C0310-800C0358 0BAC50 0048+00 4/4 0/0 0/0 .text checkDungeon__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkDungeon() { - nofralloc -#include "asm/d/a/d_a_alink/checkDungeon__9daAlink_cFv.s" +bool daAlink_c::checkDungeon() { + return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 1; } -#pragma pop /* 800C0358-800C03A0 0BAC98 0048+00 3/3 0/0 0/0 .text checkCastleTown__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkCastleTown() { - nofralloc -#include "asm/d/a/d_a_alink/checkCastleTown__9daAlink_cFv.s" +bool daAlink_c::checkCastleTown() { + return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 4; } -#pragma pop /* 800C03A0-800C03E8 0BACE0 0048+00 6/6 0/0 1/1 .text checkCloudSea__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkCloudSea() { - nofralloc -#include "asm/d/a/d_a_alink/checkCloudSea__9daAlink_cFv.s" +bool daAlink_c::checkCloudSea() { + return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 5; } -#pragma pop /* 800C03E8-800C044C 0BAD28 0064+00 5/5 0/0 0/0 .text checkRoomOnly__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkRoomOnly() { - nofralloc -#include "asm/d/a/d_a_alink/checkRoomOnly__9daAlink_cFv.s" +bool daAlink_c::checkRoomOnly() { + return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 2 || checkLv7DungeonShop(); } -#pragma pop /* 800C044C-800C04B4 0BAD8C 0068+00 3/3 0/0 0/0 .text checkLv2DungeonRoomSpecial__9daAlink_cFv */ bool daAlink_c::checkLv2DungeonRoomSpecial() { @@ -17301,22 +18175,10 @@ bool daAlink_c::checkLv2DungeonRoomSpecial() { } /* 800C04B4-800C0520 0BADF4 006C+00 2/2 0/0 0/0 .text checkRoomSpecial__9daAlink_cFv */ -// 1 wrong branch -#ifdef NONMATCHING bool daAlink_c::checkRoomSpecial() { - return !checkStageName("D_MN11") || dComIfGp_roomControl_getStayNo() == 1 || - dComIfGp_roomControl_getStayNo() == 2 || checkLv2DungeonRoomSpecial(); + return (checkStageName("D_MN11") && (dComIfGp_roomControl_getStayNo() == 1 || + dComIfGp_roomControl_getStayNo() == 2)) || checkLv2DungeonRoomSpecial(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkRoomSpecial() { - nofralloc -#include "asm/d/a/d_a_alink/checkRoomSpecial__9daAlink_cFv.s" -} -#pragma pop -#endif /* 800C0520-800C0594 0BAE60 0074+00 1/1 0/0 0/0 .text checkRoom__9daAlink_cFv */ bool daAlink_c::checkRoom() { @@ -17489,11 +18351,11 @@ asm void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC param_0) { /* 800C2DA4-800C2DDC 0BD6E4 0038+00 121/121 0/0 0/0 .text * commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC */ -BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC pProcAction) { - if (mActionID == pProcAction) { +BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC procID) { + if (mProcID == procID) { return false; } else { - commonProcInit(pProcAction); + commonProcInit(procID); return true; } } @@ -17502,7 +18364,7 @@ BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC pProcAction) { * procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c */ #ifdef NONMATCHING void daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { - commonProcInit(ACT_PREACTION_UNEQUIP); + commonProcInit(ACT_PROC_PREACTION_UNEQUIP); mNormalSpeed = 0.0f; setBlendMoveAnime(4.0f); allUnequip(0); @@ -17552,7 +18414,7 @@ asm void daAlink_c::procPreActionUnequip() { /* 800C3098-800C30F0 0BD9D8 0058+00 1/1 0/0 0/0 .text procServiceWaitInit__9daAlink_cFv */ bool daAlink_c::procServiceWaitInit() { - commonProcInit(SERVICE_WAIT); + commonProcInit(PROC_SERVICE_WAIT); setSingleAnimeBase(ANM_SERVICE_WAIT); mNormalSpeed = FLOAT_LABEL(lit_6108); mCurrent.mAngle.y = mCollisionRot.y; @@ -17624,7 +18486,7 @@ asm void daAlink_c::procWait() { /* 800C36CC-800C3730 0BE00C 0064+00 3/3 0/0 0/0 .text procMoveInit__9daAlink_cFv */ bool daAlink_c::procMoveInit() { - if (!commonProcInitNotSameProc(HUMAN_MOVE)) { + if (!commonProcInitNotSameProc(PROC_MOVE)) { return false; } setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); @@ -17664,7 +18526,7 @@ asm bool daAlink_c::procMove() { /* 800C3810-800C3868 0BE150 0058+00 1/1 0/0 0/0 .text procAtnMoveInit__9daAlink_cFv */ bool daAlink_c::procAtnMoveInit() { - if (!commonProcInitNotSameProc(HUMAN_ATN_MOVE)) { + if (!commonProcInitNotSameProc(PROC_ATN_MOVE)) { return false; } setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); @@ -17684,7 +18546,7 @@ bool daAlink_c::procAtnMove() { /* 800C38CC-800C397C 0BE20C 00B0+00 4/4 0/0 0/0 .text procAtnActorWaitInit__9daAlink_cFv */ bool daAlink_c::procAtnActorWaitInit() { - if (!commonProcInitNotSameProc(HUMAN_ATN_ACTOR_WAIT)) { + if (!commonProcInitNotSameProc(PROC_ATN_ACTOR_WAIT)) { return false; } @@ -17721,7 +18583,7 @@ bool daAlink_c::procAtnActorWait() { /* 800C39EC-800C3A44 0BE32C 0058+00 3/3 0/0 0/0 .text procAtnActorMoveInit__9daAlink_cFv */ bool daAlink_c::procAtnActorMoveInit() { - if (!commonProcInitNotSameProc(HUMAN_ATN_ACTOR_MOVE)) { + if (!commonProcInitNotSameProc(PROC_ATN_ACTOR_MOVE)) { return false; } setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); @@ -17739,7 +18601,7 @@ bool daAlink_c::procAtnActorMove() { /* 800C3A94-800C3B1C 0BE3D4 0088+00 2/2 0/0 0/0 .text procWaitTurnInit__9daAlink_cFv */ bool daAlink_c::procWaitTurnInit() { - if (!commonProcInitNotSameProc(HUMAN_WAIT_TURN)) { + if (!commonProcInitNotSameProc(PROC_WAIT_TURN)) { return false; } @@ -17786,7 +18648,7 @@ BOOL daAlink_c::procWaitTurn() { /* 800C3C3C-800C3D38 0BE57C 00FC+00 2/2 0/0 0/0 .text procMoveTurnInit__9daAlink_cFi */ bool daAlink_c::procMoveTurnInit(int param_0) { - if (!commonProcInitNotSameProc(HUMAN_MOVE_TURN)) { + if (!commonProcInitNotSameProc(PROC_MOVE_TURN)) { return false; } @@ -17827,7 +18689,7 @@ bool daAlink_c::procSideStepInit(int jump_type) { (checkNoUpperAnime() || checkEquipAnime() || field_0x2fcc != 0 && checkUpperGuardAnime())) { return procBackJumpInit(0); } else { - commonProcInit(HUMAN_SIDESTEP); + commonProcInit(PROC_SIDESTEP); field_0x2f98 = jump_type; if (field_0x2f98 == 1) { @@ -17899,7 +18761,7 @@ bool daAlink_c::procSideStep() { /* 800C40F0-800C4278 0BEA30 0188+00 1/1 0/0 0/0 .text procSideStepLandInit__9daAlink_cFv */ bool daAlink_c::procSideStepLandInit() { - commonProcInit(HUMAN_SIDESTEP_LAND); + commonProcInit(PROC_SIDESTEP_LAND); if (field_0x2f98 == 1) { field_0x2f9d = 4; setSingleAnimeParam(ANM_BACK_JUMP_LAND, &daAlinkHIO_sideStep_c0::m.mBackLandAnm); @@ -17968,7 +18830,7 @@ bool daAlink_c::procSideStepLand() { /* 800C4378-800C4514 0BECB8 019C+00 1/1 0/0 0/0 .text procSlideInit__9daAlink_cFs */ bool daAlink_c::procSlideInit(s16 param_0) { - commonProcInit(HUMAN_SLIDE); + commonProcInit(PROC_SLIDE); field_0x814.SetWeight(255); field_0x3090 = 8; @@ -18022,7 +18884,7 @@ asm void daAlink_c::procSlide() { /* 800C47AC-800C4894 0BF0EC 00E8+00 1/1 0/0 0/0 .text procSlideLandInit__9daAlink_cFi */ bool daAlink_c::procSlideLandInit(int param_0) { - commonProcInit(HUMAN_SLIDE_LAND); + commonProcInit(PROC_SLIDE_LAND); if (param_0 != 0) { setSingleAnimeParam(ANM_BACKWARD_SLIDE_LAND, &daAlinkHIO_slide_c0::m.mForwardLandAnm); @@ -18068,11 +18930,11 @@ bool daAlink_c::procSlideLand() { #ifdef NONMATCHING bool daAlink_c::procFrontRollInit() { BOOL check = checkUpperGuardAnime(); - if (mActionID == FRONT_ROLL && mDemo.getDemoMode() == 0x28) { + if (mProcID == PROC_FRONT_ROLL && mDemo.getDemoMode() == 0x28) { return 0; } else { - BOOL check = mActionID == 0x16; - commonProcInit(FRONT_ROLL); + BOOL check = mProcID == PROC_DIVE_JUMP; + commonProcInit(PROC_FRONT_ROLL); f32 fvar1; if (!check) { @@ -18477,10 +19339,6 @@ static u8 lit_4420[12]; /* 8042561C-80425628 05233C 000C+00 37/39 0/0 0/0 .bss l_wolfBaseAnime */ static Vec l_wolfBaseAnime; -inline dEvt_control_c& i_dComIfGp_getEvent() { - return g_dComIfG_gameInfo.play.getEvent(); -} - bool daMidna_c::checkMidnaRealBody() { return dKy_darkworld_check() == 1 || dComIfGs_isTransformLV(3); } @@ -18786,10 +19644,6 @@ asm void daAlink_c::setDrawHand() { } #pragma pop -BOOL daPy_py_c::i_checkSwordGet() { - return dComIfGs_getSelectEquipSword() != 0xFF; -} - /* 800CB480-800CB53C 0C5DC0 00BC+00 3/3 0/0 0/0 .text checkSwordDraw__9daAlink_cFv */ bool daAlink_c::checkSwordDraw() { return ((i_checkSwordGet() && mSwordChangeWaitTimer == 0) && @@ -19204,10 +20058,10 @@ MtxP daAlink_c::getRightHandMatrix() { /* 800CF314-800CF328 0C9C54 0014+00 1/0 0/0 0/0 .text * onSceneChangeArea__9daAlink_cFUcUcP10fopAc_ac_c */ -void daAlink_c::onSceneChangeArea(u8 param_0, u8 param_1, fopAc_ac_c* param_2) { - field_0x3112 = param_0; - field_0x2fac = param_1; - field_0x2808 = param_2; +void daAlink_c::onSceneChangeArea(u8 exitID, u8 exitDirection, fopAc_ac_c* scexAc) { + mExitID = exitID; + mExitDirection = exitDirection; + mpScnChg = (daScex_c*)scexAc; } /* 800CF328-800CF344 0C9C68 001C+00 1/0 0/0 0/0 .text getRightItemMatrix__9daAlink_cFv */ @@ -19456,7 +20310,7 @@ BOOL daAlink_c::checkHorseStart() { /* 800D01E0-800D0208 0CAB20 0028+00 1/0 0/0 0/0 .text checkCutTurnCharge__9daAlink_cCFv */ BOOL daAlink_c::checkCutTurnCharge() const { - return mActionID == CUT_TURN_MOVE && mCommonCounter == 0; + return mProcID == PROC_CUT_TURN_MOVE && mCommonCounter == 0; } /* 800D0208-800D0228 0CAB48 0020+00 1/0 0/0 0/0 .text checkAcceptDungeonWarpAlink__9daAlink_cFi */ @@ -19577,171 +20431,171 @@ u32 daAlink_c::checkPlayerFly() const { /* 800D03C8-800D03DC 0CAD08 0014+00 1/0 0/0 0/0 .text checkFrontRoll__9daAlink_cCFv */ BOOL daAlink_c::checkFrontRoll() const { - return mActionID == FRONT_ROLL; + return mProcID == PROC_FRONT_ROLL; } /* 800D03DC-800D03F0 0CAD1C 0014+00 1/0 0/0 0/0 .text checkWolfDash__9daAlink_cCFv */ BOOL daAlink_c::checkWolfDash() const { - return mActionID == WOLF_DASH; + return mProcID == PROC_WOLF_DASH; } /* 800D03F0-800D0414 0CAD30 0024+00 1/0 0/0 0/0 .text checkAutoJump__9daAlink_cCFv */ BOOL daAlink_c::checkAutoJump() const { - return mActionID == HUMAN_AUTOJUMP || mActionID == WOLF_AUTOJUMP; + return mProcID == PROC_AUTO_JUMP || mProcID == PROC_WOLF_AUTO_JUMP; } /* 800D0414-800D0444 0CAD54 0030+00 1/0 0/0 0/0 .text checkSideStep__9daAlink_cCFv */ bool daAlink_c::checkSideStep() const { - return (mActionID == HUMAN_SIDESTEP || mActionID == WOLF_SIDESTEP) && field_0x300a != 0; + return (mProcID == PROC_SIDESTEP || mProcID == PROC_WOLF_SIDESTEP) && field_0x300a != 0; } /* 800D0444-800D0468 0CAD84 0024+00 1/0 0/0 0/0 .text checkWolfTriggerJump__9daAlink_cCFv */ bool daAlink_c::checkWolfTriggerJump() const { - return mActionID == WOLF_SIDESTEP || mActionID == WOLF_JUMPATTACK; + return mProcID == PROC_WOLF_SIDESTEP || mProcID == PROC_WOLF_JUMP_ATTACK; } /* 800D0468-800D047C 0CADA8 0014+00 1/0 0/0 0/0 .text checkGuardBreakMode__9daAlink_cCFv */ BOOL daAlink_c::checkGuardBreakMode() const { - return mActionID == GUARD_BREAK; + return mProcID == PROC_GUARD_BREAK; } /* 800D047C-800D04A4 0CADBC 0028+00 1/0 0/0 0/0 .text checkLv3Slide__9daAlink_cCFv */ bool daAlink_c::checkLv3Slide() const { - return mActionID == HUMAN_SLIDE && field_0x300e != 0; + return mProcID == PROC_SLIDE && field_0x300e != 0; } /* 800D04A4-800D04B8 0CADE4 0014+00 1/0 0/0 0/0 .text checkWolfHowlDemoMode__9daAlink_cCFv */ bool daAlink_c::checkWolfHowlDemoMode() const { - return mActionID == WOLF_HOWL; + return mProcID == PROC_WOLF_HOWL_DEMO; } /* 800D04B8-800D04CC 0CADF8 0014+00 1/0 0/0 0/0 .text checkElecDamage__9daAlink_cCFv */ BOOL daAlink_c::checkElecDamage() const { - return mActionID == ELEC_DAMAGE; + return mProcID == PROC_ELEC_DAMAGE; } /* 800D04CC-800D04F4 0CAE0C 0028+00 1/0 0/0 0/0 .text checkEmptyBottleSwing__9daAlink_cCFv */ BOOL daAlink_c::checkEmptyBottleSwing() const { - return mEquipItem == EMPTY_BOTTLE && mActionID == BOTTLE_SWING; + return mEquipItem == EMPTY_BOTTLE && mProcID == PROC_BOTTLE_SWING; } /* 800D04F4-800D0508 0CAE34 0014+00 1/0 0/0 0/0 .text checkBottleSwingMode__9daAlink_cCFv */ BOOL daAlink_c::checkBottleSwingMode() const { - return mActionID == BOTTLE_SWING; + return mProcID == PROC_BOTTLE_SWING; } /* 800D0508-800D051C 0CAE48 0014+00 1/0 0/0 0/0 .text checkHawkWait__9daAlink_cCFv */ BOOL daAlink_c::checkHawkWait() const { - return mActionID == HAWK_WAIT; + return mProcID == PROC_HAWK_SUBJECT; } /* 800D051C-800D0544 0CAE5C 0028+00 1/0 0/0 0/0 .text checkGoatThrow__9daAlink_cCFv */ BOOL daAlink_c::checkGoatThrow() const { - return mActionID == GOAT_THROW && mCommonCounter != 0; + return mProcID == PROC_GOAT_CATCH && mCommonCounter != 0; } /* 800D0544-800D0570 0CAE84 002C+00 1/0 0/0 0/0 .text checkGoatThrowAfter__9daAlink_cCFv */ BOOL daAlink_c::checkGoatThrowAfter() const { - return mActionID == GOAT_THROW && field_0x3478 > FLOAT_LABEL(lit_6108); + return mProcID == PROC_GOAT_CATCH && field_0x3478 > FLOAT_LABEL(lit_6108); } /* 800D0570-800D0598 0CAEB0 0028+00 1/0 0/0 0/0 .text checkWolfTagLockJump__9daAlink_cCFv */ BOOL daAlink_c::checkWolfTagLockJump() const { - return mActionID == WOLF_TAGLOCK_JUMP && field_0x3198 == 0; + return mProcID == PROC_WOLF_TAG_JUMP && field_0x3198 == 0; } /* 800D0598-800D05AC 0CAED8 0014+00 1/0 0/0 0/0 .text checkWolfTagLockJumpLand__9daAlink_cCFv */ BOOL daAlink_c::checkWolfTagLockJumpLand() const { - return mActionID == WOLF_TAGLOCK_LAND; + return mProcID == PROC_WOLF_TAG_JUMP_LAND; } /* 800D05AC-800D05C0 0CAEEC 0014+00 1/0 0/0 0/0 .text checkWolfRopeHang__9daAlink_cCFv */ BOOL daAlink_c::checkWolfRopeHang() const { - return mActionID == WOLF_ROPE_HANG; + return mProcID == PROC_WOLF_ROPE_HANG; } /* 800D05C0-800D05D4 0CAF00 0014+00 1/0 0/0 0/0 .text checkRollJump__9daAlink_cCFv */ BOOL daAlink_c::checkRollJump() const { - return mActionID == ROLL_JUMP; + return mProcID == PROC_ROLL_JUMP; } /* 800D05D4-800D05E8 0CAF14 0014+00 1/0 0/0 0/0 .text checkGoronRideWait__9daAlink_cCFv */ BOOL daAlink_c::checkGoronRideWait() const { - return mActionID == GORON_RIDE_WAIT; + return mProcID == PROC_GORON_RIDE_WAIT; } /* 800D05E8-800D05FC 0CAF28 0014+00 1/0 0/0 0/0 .text checkWolfChain__9daAlink_cCFv */ BOOL daAlink_c::checkWolfChain() const { - return mActionID == WOLF_CHAIN; + return mProcID == PROC_WOLF_CHAIN_WAIT; } /* 800D05FC-800D0610 0CAF3C 0014+00 1/0 0/0 0/0 .text checkWolfWait__9daAlink_cCFv */ BOOL daAlink_c::checkWolfWait() const { - return mActionID == WOLF_WAIT; + return mProcID == PROC_WOLF_WAIT; } /* 800D0610-800D0624 0CAF50 0014+00 1/0 0/0 0/0 .text checkWolfJumpAttack__9daAlink_cCFv */ BOOL daAlink_c::checkWolfJumpAttack() const { - return mActionID == WOLF_JUMPATTACK; + return mProcID == PROC_WOLF_JUMP_ATTACK; } /* 800D0624-800D0638 0CAF64 0014+00 1/0 0/0 0/0 .text checkWolfRSit__9daAlink_cCFv */ BOOL daAlink_c::checkWolfRSit() const { - return mActionID == WOLF_RSIT; + return mProcID == PROC_WOLF_SIT; } /* 800D0638-800D0660 0CAF78 0028+00 1/0 0/0 0/0 .text checkBottleDrinkEnd__9daAlink_cCFv */ BOOL daAlink_c::checkBottleDrinkEnd() const { - return mActionID == BOTTLE_DRINK && field_0x300e != 0; + return mProcID == PROC_BOTTLE_DRINK && field_0x300e != 0; } /* 800D0660-800D0674 0CAFA0 0014+00 1/0 0/0 0/0 .text checkWolfDig__9daAlink_cCFv */ BOOL daAlink_c::checkWolfDig() const { - return mActionID == WOLF_DIG; + return mProcID == PROC_WOLF_DIG; } /* 800D0674-800D0688 0CAFB4 0014+00 1/0 0/0 0/0 .text checkCutCharge__9daAlink_cCFv */ BOOL daAlink_c::checkCutCharge() const { - return mActionID == CUT_TURN_MOVE; + return mProcID == PROC_CUT_TURN_MOVE; } /* 800D0688-800D06B0 0CAFC8 0028+00 1/0 0/0 0/0 .text checkCutLargeJumpCharge__9daAlink_cCFv */ BOOL daAlink_c::checkCutLargeJumpCharge() const { - return mActionID == CUT_TURN_MOVE && mCommonCounter != 0; + return mProcID == PROC_CUT_TURN_MOVE && mCommonCounter != 0; } /* 800D06B0-800D06D8 0CAFF0 0028+00 1/0 0/0 0/0 .text checkComboCutTurn__9daAlink_cCFv */ BOOL daAlink_c::checkComboCutTurn() const { - return mActionID == COMBO_CUT_TURN && mComboCutCount != 0; + return mProcID == PROC_CUT_TURN && mComboCutCount != 0; } /* 800D06D8-800D0704 0CB018 002C+00 1/0 0/0 0/0 .text checkClimbMove__9daAlink_cCFv */ BOOL daAlink_c::checkClimbMove() const { - return mActionID == CLIMB_MOVE_VERTICAL || mActionID == CLIMB_MOVE_LADDER || - mActionID == CLIMB_MOVE_HORIZONTAL; + return mProcID == PROC_CLIMB_MOVE_UPDOWN || mProcID == PROC_LADDER_MOVE || + mProcID == PROC_CLIMB_MOVE_SIDE; } /* 800D0704-800D0718 0CB044 0014+00 1/0 0/0 0/0 .text checkGrassWhistle__9daAlink_cCFv */ BOOL daAlink_c::checkGrassWhistle() const { - return mActionID == GRASS_WHISTLE; + return mProcID == PROC_GRASS_WHISTLE_WAIT; } /* 800D0718-800D072C 0CB058 0014+00 1/0 0/0 0/0 .text checkBoarRun__9daAlink_cCFv */ BOOL daAlink_c::checkBoarRun() const { - return mActionID == BOAR_RUN; + return mProcID == PROC_BOAR_RUN; } /* 800D072C-800D0794 0CB06C 0068+00 1/0 0/0 0/0 .text checkHorseRideNotReady__9daAlink_cCFv */ BOOL daAlink_c::checkHorseRideNotReady() const { - return checkHorseRide() && mActionID != HORSE_RIDE && mActionID != HORSE_GETOFF; + return checkHorseRide() && mProcID != PROC_HORSE_RIDE && mProcID != PROC_HORSE_GETOFF; } /* 800D0794-800D079C 0CB0D4 0008+00 1/0 0/0 0/0 .text getSearchBallScale__9daAlink_cCFv @@ -19757,18 +20611,18 @@ s16 daAlink_c::checkFastShotTime() { /* 800D07A4-800D07D4 0CB0E4 0030+00 1/0 0/0 0/0 .text checkCutJumpCancelTurn__9daAlink_cCFv */ BOOL daAlink_c::checkCutJumpCancelTurn() const { - return (mActionID == CUT_JUMP || mActionID == CUT_JUMP_LAND) && field_0x3198 != 2; + return (mProcID == PROC_CUT_JUMP || mProcID == PROC_CUT_JUMP_LAND) && field_0x3198 != 2; } /* 800D07D4-800D07FC 0CB114 0028+00 1/0 0/0 0/0 .text * checkSingleBoarBattleSecondBowReady__9daAlink_cCFv */ BOOL daAlink_c::checkSingleBoarBattleSecondBowReady() const { - return mActionID == RIDE_BOW_READY && mCommonCounter != 0; + return mProcID == PROC_HORSE_BOW_SUBJECT && mCommonCounter != 0; } /* 800D07FC-800D0818 0CB13C 001C+00 1/0 0/0 0/0 .text cancelDungeonWarpReadyNeck__9daAlink_cFv */ void daAlink_c::cancelDungeonWarpReadyNeck() { - if (mActionID != DUNGEON_WARP_READY) { + if (mProcID != PROC_DUNGEON_WARP_READY) { return; } offModeFlg(MODE_UNK_100); @@ -19776,16 +20630,16 @@ void daAlink_c::cancelDungeonWarpReadyNeck() { /* 800D0818-800D0830 0CB158 0018+00 1/0 0/0 0/0 .text * onSceneChangeAreaJump__9daAlink_cFUcUcP10fopAc_ac_c */ -void daAlink_c::onSceneChangeAreaJump(u8 param_0, u8 param_1, fopAc_ac_c* param_2) { - field_0x3112 = param_0 | 0x8000; - field_0x2fac = param_1; - field_0x2808 = param_2; +void daAlink_c::onSceneChangeAreaJump(u8 exitID, u8 exitDirection, fopAc_ac_c* scexAc) { + mExitID = exitID | 0x8000; + mExitDirection = exitDirection; + mpScnChg = (daScex_c*)scexAc; } /* 800D0830-800D084C 0CB170 001C+00 1/0 0/0 0/0 .text onSceneChangeDead__9daAlink_cFUci */ void daAlink_c::onSceneChangeDead(u8 param_0, int param_1) { - if (mActionID != DEAD) { + if (mProcID != PROC_DEAD) { return; } field_0x3012 = param_0; @@ -19800,7 +20654,7 @@ bool daAlink_c::checkNoEquipItem() const { /* 800D0860-800D087C 0CB1A0 001C+00 1/0 0/0 0/0 .text getBoardCutTurnOffsetAngleY__9daAlink_cCFv */ s16 daAlink_c::getBoardCutTurnOffsetAngleY() const { - if (mActionID == BOARD_CUT_TURN) { + if (mProcID == PROC_BOARD_CUT_TURN) { return field_0x3012; } return 0; @@ -19834,7 +20688,7 @@ void daAlink_c::setSumouReady(fopAc_ac_c* p_actor) { /* 800D091C-800D0930 0CB25C 0014+00 1/0 0/0 0/0 .text setSumouPushBackDirection__9daAlink_cFs */ void daAlink_c::setSumouPushBackDirection(s16 param_0) { - if (mActionID != SUMOU_PUSH) { + if (mProcID != PROC_SUMOU_MOVE) { return; } field_0x3010 = param_0; @@ -19842,7 +20696,7 @@ void daAlink_c::setSumouPushBackDirection(s16 param_0) { /* 800D0930-800D0948 0CB270 0018+00 1/0 0/0 0/0 .text setSumouLoseHeadUp__9daAlink_cFv */ void daAlink_c::setSumouLoseHeadUp() { - if (mActionID != SUMOU_WIN_LOSE) { + if (mProcID != PROC_SUMOU_WIN_LOSE) { return; } mSpecialMode = SMODE_SUMO_LOSE; @@ -19862,7 +20716,7 @@ bool daAlink_c::checkWolfEnemyBiteAllOwn(fopAc_ac_c const* p_actor) const { /* 800D0970-800D0984 0CB2B0 0014+00 1/0 0/0 0/0 .text setWolfEnemyHangBiteAngle__9daAlink_cFs */ void daAlink_c::setWolfEnemyHangBiteAngle(s16 angle) { - if (mActionID != WOLF_ENEMY_HANG_BITE) { + if (mProcID != PROC_WOLF_ENEMY_HANG_BITE) { return; } field_0x3010 = angle; @@ -19870,7 +20724,7 @@ void daAlink_c::setWolfEnemyHangBiteAngle(s16 angle) { /* 800D0984-800D0998 0CB2C4 0014+00 1/0 0/0 0/0 .text setSumouGraspCancelCount__9daAlink_cFi */ void daAlink_c::setSumouGraspCancelCount(int param_0) { - if (mActionID != SUMOU_PUSH) { + if (mProcID != PROC_SUMOU_MOVE) { return; } mCommonCounter = param_0; @@ -19895,7 +20749,7 @@ BOOL daAlink_c::checkSinkDead() const { /* 800D09C8-800D09DC 0CB308 0014+00 1/0 0/0 0/0 .text checkCutJumpMode__9daAlink_cCFv */ BOOL daAlink_c::checkCutJumpMode() const { - return mActionID == CUT_JUMP; + return mProcID == PROC_CUT_JUMP; } /* 800D09DC-800D09E4 0CB31C 0008+00 1/0 0/0 0/0 .text getGiantPuzzleAimAngle__9daAlink_cCFv */ @@ -19910,12 +20764,12 @@ u8 daAlink_c::getSwordChangeWaitTimer() const { /* 800D09EC-800D0A14 0CB32C 0028+00 1/0 0/0 0/0 .text checkMetamorphose__9daAlink_cCFv */ BOOL daAlink_c::checkMetamorphose() const { - return mActionID == METAMORPHOSE && field_0x300a == 0; + return mProcID == PROC_METAMORPHOSE && field_0x300a == 0; } /* 800D0A14-800D0A28 0CB354 0014+00 1/0 0/0 0/0 .text checkWolfDownAttackPullOut__9daAlink_cCFv */ BOOL daAlink_c::checkWolfDownAttackPullOut() const { - return mActionID == WOLF_DOWNATTACK_PULLOUT; + return mProcID == PROC_WOLF_DOWN_AT_LAND; } /* 800D0A28-800D0A30 0CB368 0008+00 1/0 0/0 0/0 .text getMidnaAtnPos__9daAlink_cCFv */ @@ -19943,12 +20797,12 @@ bool daAlink_c::checkCopyRodEquip() const { /* 800D0A44-800D0A6C 0CB384 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetLeft__9daAlink_cCFv */ bool daAlink_c::checkCanoeFishingGetLeft() const { - return mActionID == CANOE_FISHING_GET && field_0x300e == 0; + return mProcID == PROC_CANOE_FISHING_GET && field_0x300e == 0; } /* 800D0A6C-800D0A94 0CB3AC 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetRight__9daAlink_cCFv */ bool daAlink_c::checkCanoeFishingGetRight() const { - return mActionID == CANOE_FISHING_GET && field_0x300e == 1; + return mProcID == PROC_CANOE_FISHING_GET && field_0x300e == 1; } /* 800D0A94-800D0A9C 0CB3D4 0008+00 1/0 0/0 0/0 .text checkBeeChildDrink__9daAlink_cCFv @@ -19969,12 +20823,12 @@ BOOL daAlink_c::checkWolfHowlSuccessAnime() const { /* 800D0AC8-800D0AF0 0CB408 0028+00 1/0 0/0 0/0 .text checkOctaIealHang__9daAlink_cCFv */ bool daAlink_c::checkOctaIealHang() const { - return mActionID == BOSS_ENEMY_HANG && field_0x32cc == 0; + return mProcID == PROC_BOSS_BODY_HANG && field_0x32cc == 0; } /* 800D0AF0-800D0B08 0CB430 0018+00 1/0 0/0 0/0 .text cancelOctaIealHang__9daAlink_cFv */ void daAlink_c::cancelOctaIealHang() { - if (mActionID != BOSS_ENEMY_HANG) { + if (mProcID != PROC_BOSS_BODY_HANG) { return; } field_0x300e = 1; @@ -19982,7 +20836,7 @@ void daAlink_c::cancelOctaIealHang() { /* 800D0B08-800D0B20 0CB448 0018+00 1/0 0/0 0/0 .text cancelDragonHangBackJump__9daAlink_cFv */ void daAlink_c::cancelDragonHangBackJump() { - if (mActionID != BOSS_ENEMY_HANG) { + if (mProcID != PROC_BOSS_BODY_HANG) { return; } field_0x300e = -1; @@ -19991,7 +20845,7 @@ void daAlink_c::cancelDragonHangBackJump() { /* 800D0B20-800D0B38 0CB460 0018+00 1/0 0/0 0/0 .text setOctaIealWildHang__9daAlink_cFv */ void daAlink_c::setOctaIealWildHang() { - if (mActionID != BOSS_ENEMY_HANG) { + if (mProcID != PROC_BOSS_BODY_HANG) { return; } field_0x3008 = 1; @@ -20000,7 +20854,7 @@ void daAlink_c::setOctaIealWildHang() { /* 800D0B38-800D0B60 0CB478 0028+00 1/0 0/0 0/0 .text checkDragonHangRide__9daAlink_cCFv */ bool daAlink_c::checkDragonHangRide() const { - return mActionID == BOSS_ENEMY_HANG && field_0x32cc != 0; + return mProcID == PROC_BOSS_BODY_HANG && field_0x32cc != 0; } /* 800D0B60-800D0B8C 0CB4A0 002C+00 1/0 0/0 0/0 .text playerStartCollisionSE__9daAlink_cFUlUl */ @@ -20170,10 +21024,6 @@ asm void daAlink_c::checkCutFastReady() { } #pragma pop -bool daPy_py_c::checkWoodSwordEquip() { - return dComIfGs_getSelectEquipSword() == WOOD_STICK; -} - /* 800D1268-800D1310 0CBBA8 00A8+00 9/9 0/0 0/0 .text setSwordModel__9daAlink_cFv */ void daAlink_c::setSwordModel() { field_0x2fde = 0xFF; @@ -20414,7 +21264,7 @@ void daAlink_c::setSwordChargeVoiceSe() { /* 800D2304-800D2368 0CCC44 0064+00 3/3 0/0 0/0 .text setSwordComboVoice__9daAlink_cFv */ void daAlink_c::setSwordComboVoice() { - if (mActionID == CUT_JUMP || mComboCutCount == 4) { + if (mProcID == PROC_CUT_JUMP || mComboCutCount == 4) { setSwordVoiceSe(Z2SE_AL_V_ATTACK_L); } else if (mComboCutCount == 1) { setSwordVoiceSe(Z2SE_AL_V_ATTACK_S); @@ -20709,7 +21559,7 @@ asm void daAlink_c::procCutReverse() { /* 800D42FC-800D43F8 0CEC3C 00FC+00 2/2 0/0 0/0 .text procCutJumpInit__9daAlink_cFi */ bool daAlink_c::procCutJumpInit(int jump_type) { - commonProcInit(CUT_JUMP); + commonProcInit(PROC_CUT_JUMP); setSingleAnimeParam(ANM_CUT_JUMP, &daAlinkHIO_cutJump_c0::m.mCutAnm); if (jump_type != 0) { mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH; @@ -21283,6 +22133,29 @@ asm void daAlink_c::checkElecReturnDamage(dCcD_GObjInf& param_0, fopAc_ac_c** pa #pragma pop /* 800D7B18-800D7BE8 0D2458 00D0+00 1/1 0/0 0/0 .text damageTimerCount__9daAlink_cFv */ +#ifdef NONMATCHING +void daAlink_c::damageTimerCount() { + if (!i_checkModeFlg(8)) { + if (mDamageColorTime != 0) { + mDamageColorTime--; + } + + if (mProcID != PROC_DK_CAUGHT && i_checkNoResetFlg1(1)) { + i_offNoResetFlg1(1); + } + + if (checkDkCaught2Anime() && i_checkNoResetFlg0(0x20000)) { + i_offNoResetFlg0(0x20000); + } + } else if (mDamageColorTime != 0) { + mDamageColorTime--; + + if (mDamageColorTime + mDamageTimer == 0) { + + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -21291,6 +22164,7 @@ asm void daAlink_c::damageTimerCount() { #include "asm/d/a/d_a_alink/damageTimerCount__9daAlink_cFv.s" } #pragma pop +#endif /* 800D7BE8-800D7C14 0D2528 002C+00 3/3 0/0 0/0 .text checkHugeAttack__9daAlink_cCFi */ #pragma push @@ -22857,46 +23731,38 @@ asm void daAlink_c::procCopyRodRevive() { #pragma pop /* 800E23FC-800E243C 0DCD3C 0040+00 6/6 0/0 0/0 .text concatMagneBootMtx__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::concatMagneBootMtx() { - nofralloc -#include "asm/d/a/d_a_alink/concatMagneBootMtx__9daAlink_cFv.s" +void daAlink_c::concatMagneBootMtx() { + if (i_checkMagneBootsOn()) { + mDoMtx_stack_c::concat(mMagneBootMtx); + } } -#pragma pop /* 800E243C-800E247C 0DCD7C 0040+00 1/1 0/0 0/0 .text concatMagneBootInvMtx__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::concatMagneBootInvMtx() { - nofralloc -#include "asm/d/a/d_a_alink/concatMagneBootInvMtx__9daAlink_cFv.s" +void daAlink_c::concatMagneBootInvMtx() { + if (i_checkMagneBootsOn()) { + mDoMtx_stack_c::concat(mMagneBootInvMtx); + } } -#pragma pop /* 800E247C-800E24B0 0DCDBC 0034+00 8/8 0/0 0/0 .text multVecMagneBootInvMtx__9daAlink_cFP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::multVecMagneBootInvMtx(cXyz* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/multVecMagneBootInvMtx__9daAlink_cFP4cXyz.s" +void daAlink_c::multVecMagneBootInvMtx(cXyz* vec) { + if (i_checkMagneBootsOn()) { + mDoMtx_multVecSR(mMagneBootInvMtx, vec, vec); + } } -#pragma pop /* 800E24B0-800E251C 0DCDF0 006C+00 2/2 0/0 0/0 .text * commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::commonMagneLineCheck(cXyz* param_0, cXyz* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz.s" +int daAlink_c::commonMagneLineCheck(cXyz* param_0, cXyz* param_1) { + mMagneLineChk.Set(param_0, param_1, this); + + if (dComIfG_Bgsp().LineCross(&mMagneLineChk) && daTagMagne_c::checkMagnetCode(mMagneLineChk)) { + return 1; + } + + return 0; } -#pragma pop /* 800E251C-800E2580 0DCE5C 0064+00 2/2 0/0 0/0 .text checkBootsMoveAnime__9daAlink_cFi */ @@ -22920,14 +23786,31 @@ asm void daAlink_c::setHeavyBoots(int param_0) { #pragma pop /* 800E2738-800E2808 0DD078 00D0+00 2/2 0/0 0/0 .text getMagneBootsLocalAngleY__9daAlink_cFsi */ +// matches with literals +#ifdef NONMATCHING +s16 daAlink_c::getMagneBootsLocalAngleY(s16 param_0, int param_1) { + if (param_1 == 1 || (param_1 != 2 && field_0x3114 <= 0x4000 && field_0x3114 != -0x8000)) { + return param_0; + } + + cXyz vec(cM_ssin(param_0), 0.0f, cM_scos(param_0)); + mDoMtx_stack_c::YrotS(field_0x3116); + mDoMtx_stack_c::XrotM(-0x8000); + mDoMtx_stack_c::YrotM(-field_0x3116); + mDoMtx_stack_c::multVec(&vec, &vec); + + return vec.atan2sX_Z(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getMagneBootsLocalAngleY(s16 param_0, int param_1) { +asm s16 daAlink_c::getMagneBootsLocalAngleY(s16 param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/getMagneBootsLocalAngleY__9daAlink_cFsi.s" } #pragma pop +#endif /* 800E2808-800E2DC4 0DD148 05BC+00 3/3 0/0 0/0 .text * setMagneBootsMtx__9daAlink_cFP13cBgS_PolyInfoi */ @@ -22951,14 +23834,18 @@ asm void daAlink_c::cancelMagneBootsOn() { #pragma pop /* 800E2F88-800E3048 0DD8C8 00C0+00 1/1 0/0 0/0 .text checkMagneBootsFly__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkMagneBootsFly() { - nofralloc -#include "asm/d/a/d_a_alink/checkMagneBootsFly__9daAlink_cFv.s" +int daAlink_c::checkMagneBootsFly() { + if (field_0x2fb8 != 0 && i_checkEquipHeavyBoots() && !checkDeadHP() && mProcID != PROC_MAGNE_BOOTS_FLY && !checkEventRun()) { + cXyz vec(field_0x369c); + vec.normalizeZP(); + + if (mMagneBootsTopVec.getDotProduct(vec) > lit_8131 && procMagneBootsFlyInit()) { + return 1; + } + } + + return 0; } -#pragma pop /* 800E3048-800E30DC 0DD988 0094+00 2/2 0/0 0/0 .text procBootsEquipInit__9daAlink_cFv */ #pragma push @@ -22985,7 +23872,7 @@ asm void daAlink_c::procBootsEquip() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procMagneBootsFlyInit() { +asm int daAlink_c::procMagneBootsFlyInit() { nofralloc #include "asm/d/a/d_a_alink/procMagneBootsFlyInit__9daAlink_cFv.s" } @@ -23073,7 +23960,7 @@ s16 daAlink_c::getBombInsectLimitAngle() const { /* 800E3830-800E3858 0DE170 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallA__FP10fopAc_ac_c */ static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) { - if (fopAcM_GetName(p_actor) == 0x2FC && + if (fopAcM_GetName(p_actor) == PROC_Obj_Carry && static_cast(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S) { return true; } @@ -23082,7 +23969,7 @@ static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) { /* 800E3858-800E3880 0DE198 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallB__FP10fopAc_ac_c */ static bool daAlink_checkLightBallB(fopAc_ac_c* p_actor) { - if (fopAcM_GetName(p_actor) == 0x2FC && + if (fopAcM_GetName(p_actor) == PROC_Obj_Carry && static_cast(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S_2) { return true; } @@ -23110,6 +23997,19 @@ asm void daAlink_c::checkGrabLineCheck() { /* 800E3994-800E3A14 0DE2D4 0080+00 1/0 0/0 0/0 .text * setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo */ +// matches with literals +#ifdef NONMATCHING +void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyInfo* param_2) { + if (param_2 != NULL) { + mPolyInfo4.SetPolyInfo(*param_2); + } else { + mPolyInfo4.ClearPi(); + } + + field_0x342c = param_0 * 0.8f; + field_0x3430 = param_1 * 0.8f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -23118,6 +24018,7 @@ asm void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyIn #include "asm/d/a/d_a_alink/setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo.s" } #pragma pop +#endif /* 800E3A14-800E3A9C 0DE354 0088+00 1/0 0/0 0/0 .text exchangeGrabActor__9daAlink_cFP10fopAc_ac_c */ @@ -23817,12 +24718,12 @@ asm void daAlink_c::getWallGrabStatus() { /* 800E7EF4-800E7F18 0E2834 0024+00 1/1 0/0 0/0 .text wallGrabTrigger__9daAlink_cFv */ void daAlink_c::wallGrabTrigger() { - itemTriggerCheck(64); + itemTriggerCheck(BTN_R); } /* 800E7F18-800E7F3C 0E2858 0024+00 4/4 0/0 0/0 .text wallGrabButton__9daAlink_cFv */ void daAlink_c::wallGrabButton() { - itemButtonCheck(64); + itemButtonCheck(BTN_R); } /* 800E7F3C-800E80A4 0E287C 0168+00 4/4 0/0 0/0 .text @@ -24107,7 +25008,7 @@ void daAlink_c::cancelSumouMode() { /* 800EA908-800EA92C 0E5248 0024+00 2/2 0/0 0/0 .text sumouPunchTrigger__9daAlink_cFv */ void daAlink_c::sumouPunchTrigger() { - itemTriggerCheck(8); + itemTriggerCheck(BTN_B); } /* 800EA92C-800EA950 0E526C 0024+00 5/5 0/0 0/0 .text setSumouPunchStatus__9daAlink_cFv @@ -24264,7 +25165,7 @@ asm void daAlink_c::procSumouShiko() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daAlink_searchBoar(fopAc_ac_c* param_0, void* param_1) { +static asm void* daAlink_searchBoar(fopAc_ac_c* param_0, void* param_1) { nofralloc #include "asm/d/a/d_a_alink/daAlink_searchBoar__FP10fopAc_ac_cPv.s" } @@ -25385,7 +26286,7 @@ asm void daAlink_c::getCanoeLocalPaddleTop() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1) { +static asm void* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1) { nofralloc #include "asm/d/a/d_a_alink/daAlink_searchCanoe__FP10fopAc_ac_cPv.s" } @@ -27313,7 +28214,7 @@ asm void daObjSwHang_c::getHangPos() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkZoraWearMaskDraw() { +asm BOOL daAlink_c::checkZoraWearMaskDraw() { nofralloc #include "asm/d/a/d_a_alink/checkZoraWearMaskDraw__9daAlink_cFv.s" } @@ -28150,7 +29051,7 @@ BOOL daAlink_c::checkChaseHookshot() { /* 80108980-801089E8 1032C0 0068+00 2/2 0/0 0/0 .text checkOctaIealSpecialCollect__9daAlink_cFv */ BOOL daAlink_c::checkOctaIealSpecialCollect() { - return mActionID == 0xC6 && checkHookshotItem(mEquipItem) && checkBossOctaIealRoom(); + return mProcID == PROC_HOOKSHOT_FLY && checkHookshotItem(mEquipItem) && checkBossOctaIealRoom(); } /* 801089E8-80108A18 103328 0030+00 5/5 0/0 0/0 .text checkBossOctaIealRoom__9daAlink_cFv @@ -28270,7 +29171,7 @@ asm void daAlink_c::setHookshotSight() { void daAlink_c::cancelHookshotShot() { if (checkHookshotItem(mEquipItem) && (mHookshotMode == 3 || mHookshotMode == 5 || mHookshotMode == 4)) { - if (mActionID != 0xC5 && mActionID != 0xC6 && mActionID != 0xC4) { + if (mProcID != PROC_HOOKSHOT_MOVE && mProcID != PROC_HOOKSHOT_FLY && mProcID != PROC_HOOKSHOT_SUBJECT) { mHookshotMode = 6; } } @@ -30043,7 +30944,7 @@ asm void daAlink_c::setDeadRideSyncPos() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkDeadHP() { +asm BOOL daAlink_c::checkDeadHP() { nofralloc #include "asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s" } @@ -30221,6 +31122,23 @@ asm void daAlink_c::setGetSubBgm(int param_0) { #pragma pop /* 8011A6FC-8011A798 11503C 009C+00 1/0 0/0 0/0 .text checkTreasureRupeeReturn__9daAlink_cCFi */ +// register issues. probably wrong order of operations +#ifdef NONMATCHING +bool daAlink_c::checkTreasureRupeeReturn(int i_itemNo) const { + int itemNo = i_itemNo; + if (itemNo == LINKS_SAVINGS) { + itemNo = PURPLE_RUPEE; + } + + if (itemNo - 4 < 0 || itemNo - 4 >= 4) { + return false; + } + + u16 curRupees = i_dComIfGs_getRupee(); + int tmp = itemNo - 4; + return dComIfGs_getRupeeMax() > (u16)rupeeCount[tmp] + curRupees; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -30229,6 +31147,7 @@ asm bool daAlink_c::checkTreasureRupeeReturn(int param_0) const { #include "asm/d/a/d_a_alink/checkTreasureRupeeReturn__9daAlink_cCFi.s" } #pragma pop +#endif /* 8011A798-8011AC28 1150D8 0490+00 2/1 0/0 0/0 .text procCoGetItemInit__9daAlink_cFv */ #pragma push @@ -30861,35 +31780,50 @@ asm void daAlink_c::procCutFastReady() { #pragma pop /* 8011EBDC-8011EC60 11951C 0084+00 1/0 0/0 0/0 .text procMasterSwordStickInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procMasterSwordStickInit() { - nofralloc -#include "asm/d/a/d_a_alink/procMasterSwordStickInit__9daAlink_cFv.s" +int daAlink_c::procMasterSwordStickInit() { + if (!commonProcInitNotSameProc(PROC_MASTER_SWORD_STICK)) { + return 0; + } + + setSingleAnimeBase(ANM_MASTER_SWORD_STICK_INIT); + voiceStart(Z2SE_AL_V_MSTR_SW_STICK); + mNormalSpeed = FLOAT_LABEL(lit_6108); + mCurrent.mAngle.y = mCollisionRot.y; + mCommonCounter = 0; + + return 1; } -#pragma pop /* 8011EC60-8011ED18 1195A0 00B8+00 1/0 0/0 0/0 .text procMasterSwordStick__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procMasterSwordStick() { - nofralloc -#include "asm/d/a/d_a_alink/procMasterSwordStick__9daAlink_cFv.s" +int daAlink_c::procMasterSwordStick() { + daPy_frameCtrl_c* fCtrl = &mFrameCtrl1[0]; + + if (mCommonCounter != 0) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else if (fCtrl->checkAnmEnd()) { + mCommonCounter = 1; + setSingleAnimeBaseMorf(ANM_MASTER_SWORD_STICK, lit_6041); + dComIfGp_evmng_cutEnd(field_0x3184); + } else if (fCtrl->getFrame() >= lit_14621) { + field_0x2f93 = 5; + } + + return 1; } -#pragma pop /* 8011ED18-8011ED8C 119658 0074+00 1/0 0/0 0/0 .text procMasterSwordPullInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::procMasterSwordPullInit() { - nofralloc -#include "asm/d/a/d_a_alink/procMasterSwordPullInit__9daAlink_cFv.s" +int daAlink_c::procMasterSwordPullInit() { + if (!commonProcInitNotSameProc(PROC_MASTER_SWORD_PULL)) { + return 0; + } + + setSingleAnimeBase(ANM_MASTER_SWORD_PULL_INIT); + voiceStart(Z2SE_AL_V_MSTR_SW_PULLOUT); + field_0x3010 = 0; + + return 1; } -#pragma pop /* 8011ED8C-8011EE40 1196CC 00B4+00 1/0 0/0 0/0 .text procMasterSwordPull__9daAlink_cFv */ @@ -30904,24 +31838,38 @@ asm void daAlink_c::procMasterSwordPull() { /* 8011EE40-8011EE94 119780 0054+00 5/5 0/0 0/0 .text checkLv7DungeonShop__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkLv7DungeonShop() { - nofralloc -#include "asm/d/a/d_a_alink/checkLv7DungeonShop__9daAlink_cFv.s" +BOOL daAlink_c::checkLv7DungeonShop() { + return checkStageName("D_MN07") && dComIfGp_roomControl_getStayNo() == 16; } -#pragma pop /* 8011EE94-8011EFB8 1197D4 0124+00 1/1 0/0 0/0 .text procDungeonWarpReadyInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procDungeonWarpReadyInit() { - nofralloc -#include "asm/d/a/d_a_alink/procDungeonWarpReadyInit__9daAlink_cFv.s" +int daAlink_c::procDungeonWarpReadyInit() { + if (!dComIfGp_event_compulsory(this, NULL, -1)) { + return 0; + } + + u32 id; + if (checkItemSetButton(DUNGEON_EXIT) != 2) { + id = fopAcM_create(PROC_OBJ_TKS, 0, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + } else { + id = fopAcM_create(PROC_NPC_TKC, 2, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + } + + if (id == -1) { + return 0; + } + + mDemo.i_setSpecialDemoType(); + commonProcInit(PROC_DUNGEON_WARP_READY); + setSingleAnimeBase(ANM_DUNGEON_WARP_READY_INIT); + mNormalSpeed = FLOAT_LABEL(lit_6108); + mCurrent.mAngle.y = mCollisionRot.y; + field_0x32cc = id; + mCommonCounter = 0; + keepItemData(); + + return 1; } -#pragma pop /* 8011EFB8-8011F084 1198F8 00CC+00 1/0 0/0 0/0 .text procDungeonWarpReady__9daAlink_cFv */ @@ -30938,13 +31886,15 @@ asm void daAlink_c::procDungeonWarpReady() { */ #ifdef NONMATCHING bool daAlink_c::procDungeonWarpInit() { - if (!commonProcInitNotSameProc((daAlink_PROC)0xeb)) { + if (!commonProcInitNotSameProc(DUNEGON_WARP_START) { mCommonCounter = 0; field_0x3012 = 0; setSpecialGravity(0.0f, mMaxFallSpeed, 0); field_0x300e = 0; field_0x3010 = 0; } + + return 1; } #else #pragma push @@ -30958,14 +31908,68 @@ asm void daAlink_c::procDungeonWarpInit() { #endif /* 8011F0F4-8011F360 119A34 026C+00 1/0 0/0 0/0 .text procDungeonWarp__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::procDungeonWarp() { + mCommonCounter += 0x200; + + if (mCommonCounter > 0x4000) { + mCommonCounter = 0x4000; + } else { + mCurrent.mPosition.y += 1.0f; + } + + f32 sin = cM_ssin(mCommonCounter); + mCollisionRot.y += (s16)(14336.0f * sin); + field_0x300e = 8.0f * sin + 24.0f * (1.0f - mScale.x); + + if (field_0x3012 != 0) { + return 1; + } else { + if (mCommonCounter == 0x4000) { + if (field_0x3010 == 0) { + dComIfGp_particle_set(0xA61, &mCurrent.mPosition, &mTevStr, NULL, NULL); + field_0x3010 = 1; + } + + cLib_addCalc(&mScale.x, 0.0f, 0.5f, 0.4f, 0.005f); + cLib_addCalc(&mScale.y, 2.5f, 0.5f, 0.5f, 0.1f); + + if (mScale.x < 0.01f) { + i_onNoResetFlg0(FLG0_UNK_8000000); + if (checkItemGet(DUNGEON_EXIT, 1)) { + int escape = dStage_stagInfo_GetEscapeWarp(i_dComIfGp_getStage()->getStagInfo()); + dStage_changeScene(escape, 0.0f, 12, -1, mCollisionRot.y, -1); + dMeter2Info_warpOutProc(); + } else { + dungeonReturnWarp(); + dMeter2Info_warpInProc(); + } + + field_0x3012 = 1; + } + mCurrent.mPosition.y += 5.0f; + field_0x2b98 = (1.0f - mScale.y) * 100.0f; + } else if (mCommonCounter >= 0x2000) { + cLib_chaseF(&mScale.x, 0.8f, 0.01f); + } + + mScale.z = mScale.x; + field_0x0650->setBaseScale(mScale); + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDungeonWarp() { +asm int daAlink_c::procDungeonWarp() { nofralloc #include "asm/d/a/d_a_alink/procDungeonWarp__9daAlink_cFv.s" } #pragma pop +#endif /* 8011F360-8011F460 119CA0 0100+00 2/1 0/0 0/0 .text procDungeonWarpSceneStartInit__9daAlink_cFv */ @@ -30992,7 +31996,7 @@ asm void daAlink_c::procDungeonWarpSceneStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1) { +static asm void* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1) { nofralloc #include "asm/d/a/d_a_alink/daAlink_searchPortal__FP10fopAc_ac_cPv.s" } @@ -31025,7 +32029,7 @@ void daAlink_c::dungeonReturnWarp() { /* 8011F8B8-8011F9EC 11A1F8 0134+00 1/0 0/0 0/0 .text skipPortalObjWarp__9daAlink_cFv */ void daAlink_c::skipPortalObjWarp() { - if (mActionID == WARP && field_0x300e <= 0) { + if (mProcID == PROC_WARP && field_0x300e <= 0) { return; } @@ -31041,7 +32045,7 @@ void daAlink_c::skipPortalObjWarp() { FLOAT_LABEL(lit_6108), 0, 1, 0, mCollisionRot.y, 1, 0); } - if (mActionID == WARP) { + if (mProcID == PROC_WARP) { field_0x300e = -1; } } @@ -31983,7 +32987,7 @@ void daAlink_c::offWolfEyeUp() { /* 80127CF0-80127D14 122630 0024+00 1/1 0/0 0/0 .text wolfSenseTrigger__9daAlink_cFv */ BOOL daAlink_c::wolfSenseTrigger() { - return itemTriggerCheck(1); + return itemTriggerCheck(BTN_X); } /* 80127D14-80127D2C 122654 0018+00 1/1 0/0 0/0 .text setWolfSenceStatus__9daAlink_cFUc @@ -31994,7 +32998,7 @@ void daAlink_c::setWolfSenceStatus(u8 status) { /* 80127D2C-80127D50 12266C 0024+00 1/1 0/0 0/0 .text wolfClawTrigger__9daAlink_cFv */ void daAlink_c::wolfClawTrigger() { - itemTriggerCheck(2); + itemTriggerCheck(BTN_Y); } /* 80127D50-80127D68 122690 0018+00 2/2 0/0 0/0 .text setWolfDigStatus__9daAlink_cFUc */ @@ -32015,8 +33019,8 @@ asm BOOL daAlink_c::checkWolfShapeReverse() const { /* 80127DC4-80127E08 122704 0044+00 1/1 0/0 0/0 .text checkWolfSideStep__9daAlink_cCFv */ BOOL daAlink_c::checkWolfSideStep() const { return field_0x2f98 != 0 && - ((mActionID == WOLF_ATN_WAIT && !i_checkModeFlg(1)) || mActionID == WOLF_SIDESTEP_LAND || - mActionID == WOLF_BACKFLIP_LAND); + ((mProcID == PROC_WOLF_ATN_AC_MOVE && !i_checkModeFlg(1)) || mProcID == PROC_WOLF_SIDESTEP_LAND || + mProcID == PROC_WOLF_BACKJUMP_LAND); } /* 80127E08-80127F20 122748 0118+00 1/1 0/0 0/0 .text setWolfTailAngle__9daAlink_cFv */ @@ -32220,7 +33224,7 @@ BOOL daAlink_c::checkMidnaUseAbility() const { /* 801299A8-80129A80 1242E8 00D8+00 1/1 0/0 0/0 .text checkWolfUseAbility__9daAlink_cFv */ void daAlink_c::checkWolfUseAbility() { - if (mActionID == 0x137) { + if (mProcID == PROC_WOLF_GIANT_PUZZLE) { return; } diff --git a/src/d/a/d_a_item_static.cpp b/src/d/a/d_a_item_static.cpp index c2e77329d8..437e707c1f 100644 --- a/src/d/a/d_a_item_static.cpp +++ b/src/d/a/d_a_item_static.cpp @@ -21,11 +21,11 @@ u32 daItem_c::startCtrl() { } u32 daItem_c::startControl() { - unk2378 = 1; + mStatus = 1; return 1; } u32 daItem_c::endControl() { - unk2378 = 0; + mStatus = 0; return 1; } diff --git a/src/d/a/d_a_itembase.cpp b/src/d/a/d_a_itembase.cpp index 1c021d9f8c..37fc112a41 100644 --- a/src/d/a/d_a_itembase.cpp +++ b/src/d/a/d_a_itembase.cpp @@ -64,38 +64,38 @@ int daItemBase_c::CreateItemHeap(char const* arcName, s16 bmdName, s16 btkName, if (mpModel == NULL) { return 0; } else { - field_0x578 = NULL; + mpBtkAnm = NULL; if (btkName > 0) { J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(arcName, btkName); - field_0x578 = new mDoExt_btkAnm(); + mpBtkAnm = new mDoExt_btkAnm(); - if (field_0x578 == NULL || !field_0x578->init(modelData, pbtk, 1, 2, 1.0f, 0, -1)) { + if (mpBtkAnm == NULL || !mpBtkAnm->init(modelData, pbtk, 1, 2, 1.0f, 0, -1)) { return 0; } } - field_0x57c = NULL; + mpBpkAnm = NULL; if (bpkName > 0) { J3DAnmColor* pbpk = (J3DAnmColor*)dComIfG_getObjectRes(arcName, bpkName); - field_0x57c = new mDoExt_bpkAnm(); + mpBpkAnm = new mDoExt_bpkAnm(); - if (field_0x57c == NULL || !field_0x57c->init(modelData, pbpk, 1, 2, 1.0f, 0, -1)) { + if (mpBpkAnm == NULL || !mpBpkAnm->init(modelData, pbpk, 1, 2, 1.0f, 0, -1)) { return 0; } } - field_0x584 = NULL; + mpBckAnm = NULL; if (bckName > 0) { J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(arcName, bckName); - field_0x584 = new mDoExt_bckAnm(); + mpBckAnm = new mDoExt_bckAnm(); - if (field_0x584 == NULL || !field_0x584->init(pbck, 1, 2, 1.0f, 0, -1, false)) { + if (mpBckAnm == NULL || !mpBckAnm->init(pbck, 1, 2, 1.0f, 0, -1, false)) { return 0; } } - field_0x580 = NULL; + mpBrkAnm = NULL; if (brkName > 0) { J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, brkName); s8 tevFrm = getTevFrm(); @@ -104,19 +104,19 @@ int daItemBase_c::CreateItemHeap(char const* arcName, s16 bmdName, s16 btkName, tmp = 0; } - field_0x580 = new mDoExt_brkAnm(); + mpBrkAnm = new mDoExt_brkAnm(); - if (field_0x580 == NULL || !field_0x580->init(modelData, pbrk, tmp, 2, 1.0f, 0, -1)) { + if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, tmp, 2, 1.0f, 0, -1)) { return 0; } } - field_0x588 = NULL; + mpBtpAnm = NULL; if (btpName > 0) { J3DAnmTexPattern* pbtp = (J3DAnmTexPattern*)dComIfG_getObjectRes(arcName, btpName); - field_0x588 = new mDoExt_btpAnm(); + mpBtpAnm = new mDoExt_btpAnm(); - if (field_0x588 == NULL || !field_0x588->init(modelData, pbtp, 1, 2, 1.0f, 0, -1)) { + if (mpBtpAnm == NULL || !mpBtpAnm->init(modelData, pbtp, 1, 2, 1.0f, 0, -1)) { return 0; } } @@ -176,8 +176,8 @@ void daItemBase_c::setShadow() { if (!chkFlag(0x10)) { if (getShadowSize() != 0.0f) { - dComIfGd_setSimpleShadow(&mCurrent.mPosition, field_0x58c.GetGroundH(), scale, - field_0x58c.m_gnd, 0, 1.0f, + dComIfGd_setSimpleShadow(&mCurrent.mPosition, mAcch.GetGroundH(), scale, + mAcch.m_gnd, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } else { @@ -188,70 +188,70 @@ void daItemBase_c::setShadow() { field_0x91c = dComIfGd_setShadow(field_0x91c, 3, mpModel, &mCurrent.mPosition, shadowSize, 0.0f, - mCurrent.mPosition.y, field_0x58c.GetGroundH(), field_0x58c.m_gnd, + mCurrent.mPosition.y, mAcch.GetGroundH(), mAcch.m_gnd, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } /* 80144EDC-8014503C 13F81C 0160+00 1/0 1/0 9/0 .text animEntry__12daItemBase_cFv */ void daItemBase_c::animEntry() { - if (field_0x580 != NULL) { + if (mpBrkAnm != NULL) { s8 tevFrm = getTevFrm(); if (tevFrm != -1) { - field_0x580->entry(mpModel->getModelData(), tevFrm); + mpBrkAnm->entry(mpModel->getModelData(), tevFrm); } else { - field_0x580->entry(mpModel->getModelData()); + mpBrkAnm->entry(mpModel->getModelData()); } } - if (field_0x588 != NULL) { + if (mpBtpAnm != NULL) { s8 btpFrm = getBtpFrm(); if (btpFrm != -1) { - field_0x588->entry(mpModel->getModelData(), btpFrm); + mpBtpAnm->entry(mpModel->getModelData(), btpFrm); } else { - field_0x588->entry(mpModel->getModelData()); + mpBtpAnm->entry(mpModel->getModelData()); } } - if (field_0x578 != NULL) { - field_0x578->entry(mpModel->getModelData()); + if (mpBtkAnm != NULL) { + mpBtkAnm->entry(mpModel->getModelData()); } - if (field_0x584 != NULL) { - field_0x584->entry(mpModel->getModelData()); + if (mpBckAnm != NULL) { + mpBckAnm->entry(mpModel->getModelData()); } - if (field_0x57c != NULL) { - field_0x57c->entry(mpModel->getModelData()); + if (mpBpkAnm != NULL) { + mpBpkAnm->entry(mpModel->getModelData()); } } /* 8014503C-80145144 13F97C 0108+00 0/0 2/2 4/4 .text animPlay__12daItemBase_cFffffff */ void daItemBase_c::animPlay(f32 btkSpeed, f32 bpkSpeed, f32 bckSpeed, f32 param_3, f32 brkSpeed, f32 btpSpeed) { - if (field_0x580 != NULL && getTevFrm() == -1) { - field_0x580->setPlaySpeed(brkSpeed); - field_0x580->play(); + if (mpBrkAnm != NULL && getTevFrm() == -1) { + mpBrkAnm->setPlaySpeed(brkSpeed); + mpBrkAnm->play(); } - if (field_0x588 != NULL && getBtpFrm() == -1) { - field_0x588->setPlaySpeed(btpSpeed); - field_0x588->play(); + if (mpBtpAnm != NULL && getBtpFrm() == -1) { + mpBtpAnm->setPlaySpeed(btpSpeed); + mpBtpAnm->play(); } - if (field_0x578 != NULL) { - field_0x578->setPlaySpeed(btkSpeed); - field_0x578->play(); + if (mpBtkAnm != NULL) { + mpBtkAnm->setPlaySpeed(btkSpeed); + mpBtkAnm->play(); } - if (field_0x57c != NULL) { - field_0x57c->setPlaySpeed(bpkSpeed); - field_0x57c->play(); + if (mpBpkAnm != NULL) { + mpBpkAnm->setPlaySpeed(bpkSpeed); + mpBpkAnm->play(); } - if (field_0x584 != NULL) { - field_0x584->setPlaySpeed(bckSpeed); - field_0x584->play(); + if (mpBckAnm != NULL) { + mpBckAnm->setPlaySpeed(bckSpeed); + mpBckAnm->play(); } } diff --git a/src/d/a/d_a_itembase_static.cpp b/src/d/a/d_a_itembase_static.cpp index 303c5dd202..b7d6cf8e19 100644 --- a/src/d/a/d_a_itembase_static.cpp +++ b/src/d/a/d_a_itembase_static.cpp @@ -68,5 +68,6 @@ void CheckFieldItemCreateHeap(fopAc_ac_c* actor) { /* 803792B0-803792E8 005910 0038+00 0/0 1/1 0/0 .rodata m_data__12daItemBase_c */ SECTION_RODATA daItemBase_data const daItemBase_c::m_data = { -4.5f, 0.62f, 45.0f, 10.0f, 6.0f, 1, 240, 60, 4000, - 120, -4.0f, 3.5f, 1100, 3000, 23.0f, -6.0f, 13, 10}; + 120, -4.0f, 3.5f, 1100, 3000, 23.0f, -6.0f, 13, 10, +}; COMPILER_STRIP_GATE(0x803792B0, &daItemBase_c::m_data); diff --git a/src/a/npc/d_a_npc_cd.cpp b/src/d/a/d_a_npc_cd.cpp similarity index 99% rename from src/a/npc/d_a_npc_cd.cpp rename to src/d/a/d_a_npc_cd.cpp index 0f4e36b6cf..4bd17c2235 100644 --- a/src/a/npc/d_a_npc_cd.cpp +++ b/src/d/a/d_a_npc_cd.cpp @@ -3,7 +3,7 @@ // Translation Unit: a/npc/d_a_npc_cd // -#include "a/npc/d_a_npc_cd.h" +#include "d/a/d_a_npc_cd.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/src/a/npc/d_a_npc_cd2.cpp b/src/d/a/d_a_npc_cd2.cpp similarity index 99% rename from src/a/npc/d_a_npc_cd2.cpp rename to src/d/a/d_a_npc_cd2.cpp index 851d695130..5845ac4efe 100644 --- a/src/a/npc/d_a_npc_cd2.cpp +++ b/src/d/a/d_a_npc_cd2.cpp @@ -3,7 +3,7 @@ // Translation Unit: a/npc/d_a_npc_cd2 // -#include "a/npc/d_a_npc_cd2.h" +#include "d/a/d_a_npc_cd2.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/src/a/obj/d_a_obj_item.cpp b/src/d/a/d_a_obj_item.cpp similarity index 68% rename from src/a/obj/d_a_obj_item.cpp rename to src/d/a/d_a_obj_item.cpp index 9e54d87e1d..26d2bd1bb3 100644 --- a/src/a/obj/d_a_obj_item.cpp +++ b/src/d/a/d_a_obj_item.cpp @@ -3,271 +3,14 @@ // Translation Unit: a/obj/d_a_obj_item // -#include "a/obj/d_a_obj_item.h" +#include "d/a/d_a_obj_item.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 8026702C */ bool operator==(Vec const&) const; - /* 8026706C */ bool operator!=(Vec const&) const; -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_lc_c { - /* 8001DC68 */ void lineCheck(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct daPy_py_c { - /* 8015DFD8 */ void getItemPos() const; - /* 8015DFF4 */ void getLeftHandPos() const; -}; - -struct daPy_boomerangMove_c { - /* 8015E5B0 */ void initOffset(cXyz const*); - /* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16); - /* 8015E87C */ void bgCheckAfterOffset(cXyz const*); -}; - -struct daItem_c { - /* 8015B0C4 */ void initBaseMtx(); - /* 8015B108 */ void setBaseMtx(); - /* 8015B190 */ void setBaseMtx_0(); - /* 8015B1C8 */ void setBaseMtx_1(); - /* 8015B3D8 */ void CreateInit(); - /* 8015B7BC */ void setCullInfo(); - /* 8015B7D4 */ void _daItem_create(); - /* 8015BA9C */ void _daItem_execute(); - /* 8015BD84 */ void _daItem_draw(); - /* 8015BDE8 */ void _daItem_delete(); - /* 8015BE60 */ void procInitNormal(); - /* 8015BEA4 */ void procMainNormal(); - /* 8015BFE8 */ void procMainEnemyCarry(); - /* 8015BFEC */ void procInitForceGet(); - /* 8015C038 */ void procMainForceGet(); - /* 8015C058 */ void procInitSimpleGetDemo(); - /* 8015C134 */ void procMainSimpleGetDemo(); - /* 8015C200 */ void procInitGetDemoEvent(); - /* 8015C2A4 */ void procWaitGetDemoEvent(); - /* 8015C3BC */ void procMainGetDemoEvent(); - /* 8015C41C */ void procInitBoomerangCarry(); - /* 8015C514 */ void procMainBoomerangCarry(); - /* 8015C5F4 */ void procInitSwOnWait(); - /* 8015C648 */ void procMainSwOnWait(); - /* 8015C708 */ void procInitBoomHitWait(); - /* 8015C738 */ void procMainBoomHitWait(); - /* 8015CAB8 */ void move_proc_call(); - /* 8015CC4C */ void mode_wait_init(); - /* 8015CC88 */ void mode_water_init(); - /* 8015CCD0 */ void mode_wait(); - /* 8015CDCC */ void mode_water(); - /* 8015CE94 */ void setTevStr(); - /* 8015CEEC */ void itemGetNextExecute(); - /* 8015D0A8 */ void itemGet(); - /* 8015D370 */ void checkCountTimer(); - /* 8015D3CC */ void checkPlayerGet(); - /* 8015D410 */ void checkYogan(); - /* 8015D480 */ void deleteItem(); - /* 8015D4AC */ void itemActionForRupee(); - /* 8015D56C */ void itemActionForHeart(); - /* 8015D688 */ void itemActionForArrow(); - /* 8015D700 */ void itemActionForBoomerang(); - /* 8015D734 */ void bg_check(); - /* 8015D834 */ void set_bound_se(); - /* 8015D95C */ void CountTimer(); - /* 8015D9F0 */ void initAction(); - /* 8015DAAC */ void initFlag(); - /* 8015DBF0 */ void initScale(); - /* 8015DC40 */ void initSpeed(int); - /* 8015DE38 */ void initAngle(); - - static u8 mFuncPtr[120]; - static u8 m_cyl_src[68]; - static u32 m_timer_max[1 + 1 /* padding */]; -}; - -struct daItemBase_c { - /* 80037A64 */ void hide(); - /* 80037A74 */ void show(); - /* 80037A84 */ void changeDraw(); - /* 80037ACC */ void chkDraw(); - /* 80144724 */ void DeleteBase(char const*); - /* 8014474C */ bool clothCreate(); - /* 80144754 */ bool __CreateHeap(); - /* 80144B94 */ void DrawBase(); - /* 80144C30 */ void RotateYBase(); - /* 80144C7C */ void setListStart(); - /* 80144CC4 */ void settingBeforeDraw(); - /* 80144D70 */ void setShadow(); - /* 80144EDC */ void animEntry(); - /* 8014503C */ void animPlay(f32, f32, f32, f32, f32, f32); - /* 80145144 */ void chkFlag(int); - /* 80145164 */ void getTevFrm(); - /* 80145180 */ void getBtpFrm(); - /* 8014519C */ void getShadowSize(); - /* 801451B4 */ void getCollisionH(); - /* 801451D0 */ void getCollisionR(); - /* 8015B0B8 */ void getData(); - - static u8 const m_data[56]; -}; - -struct dSv_player_get_item_c { - /* 80033E94 */ void offFirstBit(u8); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; - /* 800354E0 */ void onItem(int, int); - /* 80035590 */ void isItem(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dPa_levelEcallBack {}; - -struct dPa_followEcallBack { - /* 80049580 */ dPa_followEcallBack(u8, u8); -}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dItem_data { - static void* field_item_res[1020]; - static u8 item_info[1020 + 4 /* padding */]; -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dEvent_manager_c { - /* 80047ADC */ void endCheckOld(char const*); -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct cBgS_PolyInfo {}; - -struct dBgS { - /* 80074B40 */ void ChkMoveBG_NoDABg(cBgS_PolyInfo const&); - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077388 */ void SetMoveBGOnly(); - /* 800773A4 */ void ClrMoveBGOnly(); -}; - -struct cM3dGPla {}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS { - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct Z2SoundObjSimple { - /* 8015BA3C */ ~Z2SoundObjSimple(); - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct Z2SoundObjBase { - /* 802BDF48 */ ~Z2SoundObjBase(); - /* 802BDFF8 */ void deleteObject(); - /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; +#include "d/d_item_data.h" +#include "d/d_item.h" +#include "d/com/d_com_inf_game.h" +#include "m_Do/m_Do_mtx.h" +#include "SSystem/SComponent/c_math.h" // // Forward References: @@ -398,7 +141,7 @@ extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); extern "C" void execItemGet__FUc(); extern "C" void checkItemGet__FUci(); extern "C" void isHeart__FUc(); -extern "C" void func_80141AE8(void* _this, u8*); +extern "C" u8 func_80141AE8(u8*); extern "C" void DeleteBase__12daItemBase_cFPCc(); extern "C" bool clothCreate__12daItemBase_cFv(); extern "C" bool __CreateHeap__12daItemBase_cFv(); @@ -439,12 +182,6 @@ extern "C" void deleteObject__14Z2SoundObjBaseFv(); extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase(); extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXInverse(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECReflect(); extern "C" void __ptmf_test(); extern "C" void __ptmf_scall(); extern "C" void __cvt_fp2unsigned(); @@ -456,7 +193,6 @@ extern "C" u8 const m_data__12daItemBase_c[56]; extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8cM3dGPla[3]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8cM3dGCyl[3]; extern "C" extern void* __vt__8cM3dGAab[3]; extern "C" extern void* __vt__8dCcD_Cyl[36]; @@ -470,10 +206,7 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern void* __vt__16Z2SoundObjSimple[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" extern u8 data_80451010[8]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -512,50 +245,66 @@ static asm void Reflect(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2 #pragma pop /* 8015B0B8-8015B0C4 1559F8 000C+00 10/10 1/1 1/1 .text getData__12daItemBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItemBase_c::getData() { - nofralloc -#include "asm/a/obj/d_a_obj_item/getData__12daItemBase_cFv.s" +const daItemBase_data& daItemBase_c::getData() { + return m_data; } -#pragma pop /* 8015B0C4-8015B108 155A04 0044+00 1/1 0/0 0/0 .text initBaseMtx__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::initBaseMtx() { - nofralloc -#include "asm/a/obj/d_a_obj_item/initBaseMtx__8daItem_cFv.s" +void daItem_c::initBaseMtx() { + if (mpModel != NULL) { + mpModel->setBaseScale(mScale); + setBaseMtx(); + } } -#pragma pop /* 8015B108-8015B190 155A48 0088+00 2/2 0/0 0/0 .text setBaseMtx__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::setBaseMtx() { - nofralloc -#include "asm/a/obj/d_a_obj_item/setBaseMtx__8daItem_cFv.s" +void daItem_c::setBaseMtx() { + if (mpModel != NULL) { + mpModel->setBaseScale(mScale); + + switch (m_itemNo) { + case GREEN_RUPEE: + case BLUE_RUPEE: + case YELLOW_RUPEE: + case RED_RUPEE: + case PURPLE_RUPEE: + case ORANGE_RUPEE: + case SILVER_RUPEE: + setBaseMtx_1(); + break; + default: + setBaseMtx_0(); + break; + } + + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } } -#pragma pop /* 8015B190-8015B1C8 155AD0 0038+00 1/1 0/0 0/0 .text setBaseMtx_0__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::setBaseMtx_0() { - nofralloc -#include "asm/a/obj/d_a_obj_item/setBaseMtx_0__8daItem_cFv.s" +void daItem_c::setBaseMtx_0() { + mDoMtx_stack_c::transS(mCurrent.mPosition); + mDoMtx_stack_c::ZXYrotM(mCollisionRot); } -#pragma pop /* ############################################################################################## */ /* 80453570-80453574 001B70 0004+00 3/3 0/0 0/0 .sdata2 @3923 */ SECTION_SDATA2 static f32 lit_3923 = 0.5f; /* 8015B1C8-8015B254 155B08 008C+00 1/1 0/0 0/0 .text setBaseMtx_1__8daItem_cFv */ +// literals / load instructions flipped +#ifdef NONMATCHING +void daItem_c::setBaseMtx_1() { + f32 max_y = mpModel->getModelData()->getJointNodePointer(0)->getMax()->y; + f32 y = max_y * 0.5f * mScale.y; + + mDoMtx_stack_c::transS(mCurrent.mPosition); + mDoMtx_stack_c::transM(0.0f, y, 0.0f); + + mDoMtx_stack_c::ZXYrotM(mCollisionRot); + mDoMtx_stack_c::transM(0.0f, -y, 0.0f); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -564,6 +313,7 @@ asm void daItem_c::setBaseMtx_1() { #include "asm/a/obj/d_a_obj_item/setBaseMtx_1__8daItem_cFv.s" } #pragma pop +#endif /* 8015B254-8015B320 155B94 00CC+00 2/2 0/0 0/0 .text * itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ @@ -749,6 +499,12 @@ SECTION_DATA u8 daItem_c::mFuncPtr[120] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; +/* SECTION_DATA procFunc daItem_c::mFuncPtr[9] = { + &daItem_c::procMainNormal, &daItem_c::procMainEnemyCarry, &daItem_c::procMainSimpleGetDemo, + &daItem_c::procWaitGetDemoEvent, &daItem_c::procMainGetDemoEvent, &daItem_c::procMainBoomerangCarry, + &daItem_c::procMainSwOnWait, &daItem_c::procMainBoomHitWait, &daItem_c::procMainForceGet, +}; */ + /* 803B9F10-803B9F54 017030 0044+00 1/1 0/0 0/0 .data m_cyl_src__8daItem_c */ SECTION_DATA u8 daItem_c::m_cyl_src[68] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -788,14 +544,11 @@ asm void daItem_c::CreateInit() { #pragma pop /* 8015B7BC-8015B7D4 1560FC 0018+00 1/1 0/0 0/0 .text setCullInfo__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::setCullInfo() { - nofralloc -#include "asm/a/obj/d_a_obj_item/setCullInfo__8daItem_cFv.s" +void daItem_c::setCullInfo() { + if (mpModel != NULL) { + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + } } -#pragma pop /* ############################################################################################## */ /* 803B9F54-803B9F74 -00001 0020+00 1/0 0/0 0/0 .data l_daItem_Method */ @@ -878,15 +631,68 @@ SECTION_DATA extern void* __vt__8daItem_c[17 + 36 /* padding */] = { NULL, }; +inline bool fopAcM_isItem(const fopAc_ac_c* item, int bitNo) { + return dComIfGs_isItem(bitNo, fopAcM_GetHomeRoomNo(item)); +} + /* 8015B7D4-8015BA3C 156114 0268+00 1/1 0/0 0/0 .text _daItem_create__8daItem_cFv */ +// matches, but issues with vtable +#ifdef NONMATCHING +int daItem_c::_daItem_create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daItem_c(); + fopAcM_OnCondition(this, 8); + } + + if (!field_0x95d) { + field_0x92c = mOrig.mAngle.x; + field_0x92e = mOrig.mAngle.z; + mOrig.mAngle.z = 0; + mOrig.mAngle.x = 0; + mCurrent.mAngle.z = 0; + mCurrent.mAngle.x = 0; + mCollisionRot.z = 0; + mCollisionRot.x = 0; + + field_0x95d = true; + } + + m_itemNo = daItem_prm::getItemNo(this); + BOOL flag = dItem_data::chkFlag(m_itemNo, 2); + field_0x920 = daItem_prm::getItemBitNo(this); + + if (fopAcM_isItem(this, field_0x920)) { + return 5; + } else { + int ret = 4; + + if (flag) { + CreateInit(); + } else { + ret = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); + + if (ret == 4) { + if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, dItem_data::getFieldHeapSize(m_itemNo))) { + return 5; + } else { + CreateInit(); + } + } + } + + return ret; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daItem_c::_daItem_create() { +asm int daItem_c::_daItem_create() { nofralloc #include "asm/a/obj/d_a_obj_item/_daItem_create__8daItem_cFv.s" } #pragma pop +#endif /* 8015BA3C-8015BA9C 15637C 0060+00 0/0 1/1 0/0 .text __dt__16Z2SoundObjSimpleFv */ #pragma push @@ -905,7 +711,69 @@ SECTION_SDATA2 static f32 lit_4320 = 300.0f; /* 80453594-80453598 001B94 0004+00 1/1 0/0 0/0 .sdata2 @4321 */ SECTION_SDATA2 static f32 lit_4321 = 18.0f; +inline f32 fopAcM_searchPlayerDistance(const fopAc_ac_c* actor) { + return fopAcM_searchActorDistance(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0)); +} + /* 8015BA9C-8015BD84 1563DC 02E8+00 1/1 0/0 0/0 .text _daItem_execute__8daItem_cFv */ +// eyepos.y issue / need sinit for mFuncPtr +#ifdef NONMATCHING +int daItem_c::_daItem_execute() { + field_0x950 = mSpeed; + CountTimer(); + + mEyePos = mCurrent.mPosition; + mEyePos.y += (f32)dItem_data::getH(m_itemNo) * 0.5f; + + mAttentionInfo.mPosition = mCurrent.mPosition; + + if (mCollider.ChkTgHit()) { + cCcD_Obj* hitObj = mCollider.GetTgHitObj(); + if (hitObj != NULL && hitObj->ChkAtType(0x4000)) { + field_0x978.startCollisionSE(Z2SE_HIT_HOOKSHOT_STICK, 0, NULL); + } + } + + if (mFuncPtr[getStatus()] != NULL) { + (this->*mFuncPtr[getStatus()])(); + } + + if (field_0x95f != 0 && !fopAcM_checkHookCarryNow(this)) { + if (fopAcM_searchPlayerDistance(this) < 300.0f) { + itemGetNextExecute(); + } + } + + if (fopAcM_checkHookCarryNow(this)) { + cXyz carry_pos = mCurrent.mPosition; + + if (mpModel != NULL) { + carry_pos.y += 0.5f * mpModel->getModelData()->getJointNodePointer(0)->getMax()->y; + } + + mDoMtx_stack_c::transS(mCurrent.mPosition); + mDoMtx_stack_c::ZXYrotM(mCollisionRot); + mDoMtx_stack_c::inverse(); + mDoMtx_stack_c::multVec(&carry_pos, &carry_pos); + daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &carry_pos); + } + + + animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); + setBaseMtx(); + field_0x978.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + + field_0x96c = mCurrent.mPosition; + field_0x95f = (fopAcM_checkHookCarryNow(this) >> 0x14) & 1; + + if (m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) { + field_0x9ac = mCurrent.mPosition; + field_0x9ac.y += 18.0f; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -914,46 +782,67 @@ asm void daItem_c::_daItem_execute() { #include "asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s" } #pragma pop +#endif /* 8015BD84-8015BDE8 1566C4 0064+00 1/1 0/0 0/0 .text _daItem_draw__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::_daItem_draw() { - nofralloc -#include "asm/a/obj/d_a_obj_item/_daItem_draw__8daItem_cFv.s" +int daItem_c::_daItem_draw() { + if (mpModel == NULL) { + return 1; + } + + if (chkDraw()) { + return DrawBase(); + } + + return 1; } -#pragma pop /* 8015BDE8-8015BE60 156728 0078+00 1/1 0/0 0/0 .text _daItem_delete__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::_daItem_delete() { - nofralloc -#include "asm/a/obj/d_a_obj_item/_daItem_delete__8daItem_cFv.s" +int daItem_c::_daItem_delete() { + field_0x978.deleteObject(); + + if (m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) { + field_0x998.remove(); + } + + DeleteBase(dItem_data::getFieldArc(m_itemNo)); + return 1; } -#pragma pop /* 8015BE60-8015BEA4 1567A0 0044+00 4/4 0/0 0/0 .text procInitNormal__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procInitNormal() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procInitNormal__8daItem_cFv.s" +void daItem_c::procInitNormal() { + mAcch.ClrGrndNone(); + mAcch.ClrMoveBGOnly(); + setStatus(0); } -#pragma pop /* 8015BEA4-8015BFE8 1567E4 0144+00 1/0 0/0 0/0 .text procMainNormal__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procMainNormal() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procMainNormal__8daItem_cFv.s" +void daItem_c::procMainNormal() { + move_proc_call(); + + if (mScale != field_0x930) { + f32 chase_x = field_0x930.x / getData().field_0xc; + f32 chase_y = field_0x930.y / getData().field_0xc; + f32 chase_z = field_0x930.z / getData().field_0xc; + + cLib_chaseF(&mScale.x, field_0x930.x, chase_x); + cLib_chaseF(&mScale.y, field_0x930.y, chase_y); + cLib_chaseF(&mScale.z, field_0x930.z, chase_z); + } + + if (field_0x942 == 0) { + if (field_0x944 == 0) { + deleteItem(); + } + + if (field_0x924 % getData().field_0x14 == 0) { + changeDraw(); + } + } + + mCollider.SetC(mCurrent.mPosition); + dComIfG_Ccsp()->Set(&mCollider); } -#pragma pop /* 8015BFE8-8015BFEC 156928 0004+00 1/0 0/0 0/0 .text procMainEnemyCarry__8daItem_cFv */ void daItem_c::procMainEnemyCarry() { @@ -961,24 +850,17 @@ void daItem_c::procMainEnemyCarry() { } /* 8015BFEC-8015C038 15692C 004C+00 1/1 0/0 0/0 .text procInitForceGet__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procInitForceGet() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procInitForceGet__8daItem_cFv.s" +void daItem_c::procInitForceGet() { + mAcch.ClrGrndNone(); + mAcch.ClrMoveBGOnly(); + setStatus(8); + itemGetNextExecute(); } -#pragma pop /* 8015C038-8015C058 156978 0020+00 1/0 0/0 0/0 .text procMainForceGet__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procMainForceGet() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procMainForceGet__8daItem_cFv.s" +void daItem_c::procMainForceGet() { + procInitSimpleGetDemo(); } -#pragma pop /* ############################################################################################## */ /* 80453598-8045359C 001B98 0004+00 3/3 0/0 0/0 .sdata2 @4404 */ @@ -986,6 +868,22 @@ SECTION_SDATA2 static f32 lit_4404 = 15.0f; /* 8015C058-8015C134 156998 00DC+00 4/4 0/0 0/0 .text procInitSimpleGetDemo__8daItem_cFv */ +// literals / addi in wrong place +#ifdef NONMATCHING +void daItem_c::procInitSimpleGetDemo() { + mCurrent.mPosition = daPy_getPlayerActorClass()->getItemPos(); + mCurrent.mPosition.y += 15.0f; + mCollisionRot.z = 0; + mCollisionRot.x = 0; + mScale = field_0x930; + fopAcM_SetSpeed(this, 0, getData().field_0x2c, 0); + fopAcM_SetGravity(this, getData().field_0x30); + show(); + field_0x946 = getData().field_0x34; + fopAcM_SetStatus(this, 0x20000); + setStatus(2); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -994,6 +892,7 @@ asm void daItem_c::procInitSimpleGetDemo() { #include "asm/a/obj/d_a_obj_item/procInitSimpleGetDemo__8daItem_cFv.s" } #pragma pop +#endif /* 8015C134-8015C200 156A74 00CC+00 2/1 0/0 0/0 .text procMainSimpleGetDemo__8daItem_cFv */ @@ -1008,43 +907,64 @@ asm void daItem_c::procMainSimpleGetDemo() { /* 8015C200-8015C2A4 156B40 00A4+00 1/1 0/0 0/0 .text procInitGetDemoEvent__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procInitGetDemoEvent() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procInitGetDemoEvent__8daItem_cFv.s" +void daItem_c::procInitGetDemoEvent() { + hide(); + + if (m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) { + field_0x998.remove(); + } + + field_0x9c1 = 10; + fopAcM_orderItemEvent(this, 0, 0); + mEvtInfo.i_onCondition(8); + + m_item_id = fopAcM_createItemForTrBoxDemo(&mCurrent.mPosition, m_itemNo, -1, fopAcM_GetRoomNo(this), NULL, NULL); + setStatus(3); } -#pragma pop /* 8015C2A4-8015C3BC 156BE4 0118+00 1/0 0/0 0/0 .text procWaitGetDemoEvent__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procWaitGetDemoEvent() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procWaitGetDemoEvent__8daItem_cFv.s" -} -#pragma pop +void daItem_c::procWaitGetDemoEvent() { + if (mEvtInfo.checkCommandItem()) { + setStatus(4); + if (m_item_id != -1) { + dComIfGp_event_setItemPartnerId(m_item_id); + } + } else { + if (m_itemNo == BOOMERANG) { + fopAcM_orderItemEvent(this, 0, 0); + mEvtInfo.i_onCondition(8); + return; + } -/* ############################################################################################## */ -/* 80393D88-80393D88 0203E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80393D88 = "DEFAULT_GETITEM"; -#pragma pop + if (func_80141AE8(&field_0x9c1) == 0 || checkItemGet(m_itemNo, 1)) { + fopAcM_delete(m_item_id); + BOOL haveItem = checkItemGet(m_itemNo, 1); + + procInitSimpleGetDemo(); + itemGet(); + if (!haveItem) { + dComIfGs_offItemFirstBit(m_itemNo); + } + } else { + fopAcM_orderItemEvent(this, 0, 0); + mEvtInfo.i_onCondition(8); + } + } +} + +inline void dComIfGp_event_reset() { + g_dComIfG_gameInfo.play.getEvent().reset(); +} /* 8015C3BC-8015C41C 156CFC 0060+00 1/0 0/0 0/0 .text procMainGetDemoEvent__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procMainGetDemoEvent() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procMainGetDemoEvent__8daItem_cFv.s" +void daItem_c::procMainGetDemoEvent() { + if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) { + dComIfGp_event_reset(); + fopAcM_delete(this); + } } -#pragma pop /* ############################################################################################## */ /* 8045359C-804535A0 001B9C 0004+00 2/2 0/0 0/0 .sdata2 @4506 */ @@ -1077,34 +997,50 @@ asm void daItem_c::procMainBoomerangCarry() { #pragma pop /* 8015C5F4-8015C648 156F34 0054+00 1/1 0/0 0/0 .text procInitSwOnWait__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procInitSwOnWait() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procInitSwOnWait__8daItem_cFv.s" +void daItem_c::procInitSwOnWait() { + hide(); + + if (daItem_prm::getSwOnWaitTimer(this) == 63) { + field_0x95c = 15; + } else { + field_0x95c = daItem_prm::getSwOnWaitTimer(this); + } + + setStatus(6); +} + +inline bool fopAcM_isSwitch(const fopAc_ac_c* item, int sw) { + return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(item)); } -#pragma pop /* 8015C648-8015C708 156F88 00C0+00 1/0 0/0 0/0 .text procMainSwOnWait__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procMainSwOnWait() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procMainSwOnWait__8daItem_cFv.s" +void daItem_c::procMainSwOnWait() { + if (fopAcM_isSwitch(this, field_0x93c)) { + mAcch.CrrPos(dComIfG_Bgsp()); + + if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > lit_4070[0] + mOrig.mPosition.y) { + field_0x9c0 = 1; + } + + if (daItem_prm::checkInWater(this) == 1) { + field_0x9c0 = 1; + } + + if (func_80141AE8(&field_0x95c) == 0) { + show(); + procInitNormal(); + } + } } -#pragma pop /* 8015C708-8015C738 157048 0030+00 1/1 0/0 0/0 .text procInitBoomHitWait__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procInitBoomHitWait() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procInitBoomHitWait__8daItem_cFv.s" +void daItem_c::procInitBoomHitWait() { + mCollider.SetCoHitCallback(NULL); + mCollider.SetTgHitCallback(NULL); + mCollider.OffCoSPrmBit(1); + mCollider.SetTgType(0x10020); + setStatus(7); } -#pragma pop /* ############################################################################################## */ /* 804535A4-804535A8 001BA4 0004+00 2/2 0/0 0/0 .sdata2 @4665 */ @@ -1141,40 +1077,105 @@ asm void daItem_c::move_proc_call() { #pragma pop /* 8015CC4C-8015CC88 15758C 003C+00 1/1 0/0 0/0 .text mode_wait_init__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::mode_wait_init() { - nofralloc -#include "asm/a/obj/d_a_obj_item/mode_wait_init__8daItem_cFv.s" +void daItem_c::mode_wait_init() { + field_0x949 = 0; + fopAcM_SetGravity(this, getData().mGravity); } -#pragma pop /* 8015CC88-8015CCD0 1575C8 0048+00 1/1 0/0 0/0 .text mode_water_init__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::mode_water_init() { - nofralloc -#include "asm/a/obj/d_a_obj_item/mode_water_init__8daItem_cFv.s" +void daItem_c::mode_water_init() { + field_0x949 = 1; + f32 tmp_0 = FLOAT_LABEL(lit_3857); + fopAcM_SetSpeed(this, tmp_0, tmp_0, tmp_0); + fopAcM_SetSpeedF(this, tmp_0); + mCollisionRot.z = 0; + mCollisionRot.x = 0; + field_0x940 = 0; + mScale = field_0x930; } -#pragma pop /* 8015CCD0-8015CDCC 157610 00FC+00 1/0 0/0 0/0 .text mode_wait__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::mode_wait() { - nofralloc -#include "asm/a/obj/d_a_obj_item/mode_wait__8daItem_cFv.s" +void daItem_c::mode_wait() { + if (field_0x924 < 5 && mSpeed.y > FLOAT_LABEL(lit_3857)) { + mAcch.SetGrndNone(); + } + + switch (m_itemNo) { + case HEART: + itemActionForHeart(); + break; + case ARROW_10: + case ARROW_20: + case ARROW_30: + case ARROW_1: + case PACHINKO_SHOT: + case LIGHT_ARROW: + itemActionForArrow(); + break; + case BOOMERANG: + itemActionForBoomerang(); + break; + case GREEN_RUPEE: + case BLUE_RUPEE: + case YELLOW_RUPEE: + case RED_RUPEE: + case PURPLE_RUPEE: + case ORANGE_RUPEE: + case SILVER_RUPEE: + default: + itemActionForRupee(); + break; + } + + if (field_0x9c0 == 0 && mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > mCurrent.mPosition.y) { + mode_water_init(); + } + + mAcch.ClrGrndNone(); } -#pragma pop /* ############################################################################################## */ /* 804535B8-804535BC 001BB8 0004+00 1/1 0/0 0/0 .sdata2 @4781 */ SECTION_SDATA2 static f32 lit_4781 = 1.0f / 10.0f; /* 8015CDCC-8015CE94 15770C 00C8+00 1/0 0/0 0/0 .text mode_water__8daItem_cFv */ +// switch issues +#ifdef NONMATCHING +void daItem_c::mode_water() { + mAcch.CrrPos(dComIfG_Bgsp()); + + if (!mAcch.ChkWaterHit() || mAcch.m_wtr.GetHeight() < mCurrent.mPosition.y) { + mode_wait_init(); + } else { + mCurrent.mPosition.y = mAcch.m_wtr.GetHeight(); + } + + f32 var_f1 = 1.0f; + switch (m_itemNo) { + case HEART: + var_f1 = 0.5f; + break; + case ARROW_10: + case ARROW_20: + case ARROW_30: + case ARROW_1: + case PACHINKO_SHOT: + break; + case GREEN_RUPEE: + case BLUE_RUPEE: + case YELLOW_RUPEE: + case RED_RUPEE: + case PURPLE_RUPEE: + case ORANGE_RUPEE: + case SILVER_RUPEE: + default: + break; + } + + fopAcM_effHamonSet(&field_0x9b8, &mCurrent.mPosition, var_f1, 0.1f); + RotateYBase(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1183,32 +1184,119 @@ asm void daItem_c::mode_water() { #include "asm/a/obj/d_a_obj_item/mode_water__8daItem_cFv.s" } #pragma pop +#endif /* 8015CE94-8015CEEC 1577D4 0058+00 1/0 0/0 0/0 .text setTevStr__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::setTevStr() { - nofralloc -#include "asm/a/obj/d_a_obj_item/setTevStr__8daItem_cFv.s" +void daItem_c::setTevStr() { + g_env_light.settingTevStruct(0, &mCurrent.mPosition, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr); +} + +inline void fopAcM_onItem(const fopAc_ac_c* item, int bitNo) { + dComIfGs_onItem(bitNo, fopAcM_GetHomeRoomNo(item)); } -#pragma pop /* 8015CEEC-8015D0A8 15782C 01BC+00 6/6 0/0 0/0 .text itemGetNextExecute__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::itemGetNextExecute() { - nofralloc -#include "asm/a/obj/d_a_obj_item/itemGetNextExecute__8daItem_cFv.s" +void daItem_c::itemGetNextExecute() { + if (!checkFlag(0x20) && !checkFlag(0x10)) { + setFlag(0x10); + s32 haveItem = false; + + switch (m_itemNo) { + case HEART: + case GREEN_RUPEE: + case ARROW_10: + case ARROW_20: + case ARROW_30: + case ARROW_1: + procInitSimpleGetDemo(); + itemGet(); + break; + case BLUE_RUPEE: + case YELLOW_RUPEE: + case RED_RUPEE: + case PURPLE_RUPEE: + case ORANGE_RUPEE: + case SILVER_RUPEE: + case PACHINKO_SHOT: + if (daPy_getPlayerActorClass()->checkCanoeRide() || daPy_getPlayerActorClass()->checkHorseRide()) { + if (checkItemGet(m_itemNo, 1)) { + haveItem = true; + } + procInitSimpleGetDemo(); + itemGet(); + + if (!haveItem) { + dComIfGs_offItemFirstBit(m_itemNo); + } + } else if (!checkItemGet(m_itemNo, 1)) { + procInitGetDemoEvent(); + } else { + procInitSimpleGetDemo(); + itemGet(); + } + break; + case BOOMERANG: + procInitGetDemoEvent(); + break; + } + + fopAcM_onItem(this, field_0x920); + mCollider.SetTgType(0); + mCollider.OffCoSPrmBit(1); + mCollider.ClrTgHit(); + mCollider.ClrCoHit(); + } } -#pragma pop /* ############################################################################################## */ /* 804535BC-804535C0 001BBC 0004+00 3/3 0/0 0/0 .sdata2 @4923 */ SECTION_SDATA2 static f32 lit_4923 = -1.0f; /* 8015D0A8-8015D370 1579E8 02C8+00 2/2 0/0 0/0 .text itemGet__8daItem_cFv */ +// should be correct but it turns the switch into data? +#ifdef NONMATCHING +void daItem_c::itemGet() { + switch (m_itemNo) { + case HEART: + mDoAud_seStart(Z2SE_HEART_PIECE_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + case GREEN_RUPEE: + mDoAud_seStart(Z2SE_GREEN_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + case BLUE_RUPEE: + mDoAud_seStart(Z2SE_BLUE_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + case YELLOW_RUPEE: + mDoAud_seStart(Z2SE_BLUE_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + case RED_RUPEE: + mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + case PURPLE_RUPEE: + mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + case ORANGE_RUPEE: + mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + case SILVER_RUPEE: + mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + default: + mDoAud_seStart(Z2SE_CONSUMP_ITEM_GET, NULL, 0, 0); + execItemGet(m_itemNo); + return; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1217,28 +1305,51 @@ asm void daItem_c::itemGet() { #include "asm/a/obj/d_a_obj_item/itemGet__8daItem_cFv.s" } #pragma pop +#endif + +inline BOOL dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); +} /* 8015D370-8015D3CC 157CB0 005C+00 1/1 0/0 0/0 .text checkCountTimer__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::checkCountTimer() { - nofralloc -#include "asm/a/obj/d_a_obj_item/checkCountTimer__8daItem_cFv.s" +BOOL daItem_c::checkCountTimer() { + BOOL count = true; + + if (mStatus == 1) { + count = false; + } + + if (checkFlag(8)) { + count = false; + } + + if (dComIfGp_event_runCheck()) { + count = false; + } + + if (mStatus == 5 || fopAcM_checkHookCarryNow(this)) { + count = false; + } + + return count; } -#pragma pop /* 8015D3CC-8015D410 157D0C 0044+00 2/2 0/0 0/0 .text checkPlayerGet__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::checkPlayerGet() { - nofralloc -#include "asm/a/obj/d_a_obj_item/checkPlayerGet__8daItem_cFv.s" +bool daItem_c::checkPlayerGet() { + return getData().field_0x36 <= field_0x928; } -#pragma pop /* 8015D410-8015D480 157D50 0070+00 1/1 0/0 0/0 .text checkYogan__8daItem_cFv */ +// matches with literals +#ifdef NONMATCHING +void daItem_c::checkYogan() { + if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > mCurrent.mPosition.y + 100.0f) { + if (dComIfG_Bgsp().GetPolyAtt0(mAcch.m_wtr) == 6) { + deleteItem(); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1247,30 +1358,36 @@ asm void daItem_c::checkYogan() { #include "asm/a/obj/d_a_obj_item/checkYogan__8daItem_cFv.s" } #pragma pop +#endif /* 8015D480-8015D4AC 157DC0 002C+00 2/2 0/0 0/0 .text deleteItem__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::deleteItem() { - nofralloc -#include "asm/a/obj/d_a_obj_item/deleteItem__8daItem_cFv.s" +void daItem_c::deleteItem() { + setFlag(0x20); + fopAcM_delete(this); } -#pragma pop - -/* ############################################################################################## */ -/* 804535C0-804535C4 001BC0 0004+00 1/1 0/0 0/0 .sdata2 @4979 */ -SECTION_SDATA2 static f32 lit_4979 = 19.0f / 20.0f; /* 8015D4AC-8015D56C 157DEC 00C0+00 1/1 0/0 0/0 .text itemActionForRupee__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::itemActionForRupee() { - nofralloc -#include "asm/a/obj/d_a_obj_item/itemActionForRupee__8daItem_cFv.s" +int daItem_c::itemActionForRupee() { + mAcch.CrrPos(dComIfG_Bgsp()); + bg_check(); + + if (mAcch.ChkGroundHit()) { + RotateYBase(); + mSpeedF *= 0.95f; + } + + if (field_0x94b >= 2) { + clrFlag(2); + } + + if (field_0x94b == 0) { + mCollisionRot.x += getData().field_0x1a; + } else { + mCollisionRot.x = 0; + } + + return 1; } -#pragma pop /* 8015D56C-8015D688 157EAC 011C+00 1/1 0/0 0/0 .text itemActionForHeart__8daItem_cFv */ #pragma push @@ -1332,35 +1449,59 @@ asm void daItem_c::set_bound_se() { /* ############################################################################################## */ /* 804506A8-804506B0 000128 0004+04 1/1 0/0 0/0 .sdata m_timer_max__8daItem_c */ -SECTION_SDATA u32 daItem_c::m_timer_max[1 + 1 /* padding */] = { - 0x00002710, - /* padding */ - 0x00000000, -}; +SECTION_SDATA s32 daItem_c::m_timer_max = 10000; /* 8015D95C-8015D9F0 15829C 0094+00 1/1 0/0 0/0 .text CountTimer__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::CountTimer() { - nofralloc -#include "asm/a/obj/d_a_obj_item/CountTimer__8daItem_cFv.s" +int daItem_c::CountTimer() { + field_0x924++; + + if (field_0x928 < m_timer_max) { + field_0x928++; + } + + if (checkCountTimer()) { + if (field_0x942 > 0) { + field_0x942--; + } else if (field_0x944 > 0) { + field_0x944--; + } + } + + func_80141AE8(&mBoomWindTgTimer); + return 1; } -#pragma pop /* ############################################################################################## */ /* 804535CC-804535D0 001BCC 0004+00 1/1 0/0 0/0 .sdata2 @5110 */ SECTION_SDATA2 static f32 lit_5110 = 20.0f; /* 8015D9F0-8015DAAC 158330 00BC+00 1/1 0/0 0/0 .text initAction__8daItem_cFv */ +// matches with literals +#ifdef NONMATCHING +int daItem_c::initAction() { + initFlag(); + initScale(); + initSpeed(0); + initAngle(); + + if (isHeart(m_itemNo)) { + mSpeedF = (cM_rndF(5.0f) + 20.0f) - 15.0f; + mCollisionRot.z = cM_rndFX(getData().field_0x2a); + } + + field_0x949 = 0; + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daItem_c::initAction() { +asm int daItem_c::initAction() { nofralloc #include "asm/a/obj/d_a_obj_item/initAction__8daItem_cFv.s" } #pragma pop +#endif /* 8015DAAC-8015DBF0 1583EC 0144+00 2/1 0/0 0/0 .text initFlag__8daItem_cFv */ #pragma push @@ -1406,14 +1547,12 @@ asm void daItem_c::initSpeed(int param_0) { #pragma pop /* 8015DE38-8015DE50 158778 0018+00 1/1 0/0 0/0 .text initAngle__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::initAngle() { - nofralloc -#include "asm/a/obj/d_a_obj_item/initAngle__8daItem_cFv.s" +void daItem_c::initAngle() { + mCurrent.mAngle.z = 0; + mCurrent.mAngle.x = 0; + mCollisionRot.z = 0; + mCollisionRot.x = 0; } -#pragma pop /* 8015DE50-8015DE70 158790 0020+00 1/0 0/0 0/0 .text daItem_Draw__FP8daItem_c */ #pragma push @@ -1474,7 +1613,7 @@ REGISTER_CTORS(0x8015DED0, __sinit_d_a_obj_item_cpp); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::getItemPos() const { +asm const cXyz daPy_py_c::getItemPos() const { nofralloc #include "asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s" } @@ -1484,7 +1623,7 @@ asm void daPy_py_c::getItemPos() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::getLeftHandPos() const { +asm const cXyz& daPy_py_c::getLeftHandPos() const { nofralloc #include "asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s" } diff --git a/src/d/a/d_a_obj_ss_base.cpp b/src/d/a/d_a_obj_ss_base.cpp new file mode 100644 index 0000000000..5696d66466 --- /dev/null +++ b/src/d/a/d_a_obj_ss_base.cpp @@ -0,0 +1,33 @@ +// +// Generated By: dol2asm +// Translation Unit: a/obj/d_a_obj_ss_base +// + +#include "d/a/d_a_obj_ss_base.h" +#include "dol2asm.h" +#include "dolphin/types.h" + +// +// Declarations: +// + +/* 8015E3F8-8015E450 158D38 0058+00 0/0 0/0 3/3 .text __ct__14daObj_SSBase_cFv */ +daObj_SSBase_c::daObj_SSBase_c() { + mpParentPtr = NULL; + field_0x570 = 0; + mFlowNodeNum = 0xFFFF; + mValueNum = 0; +} + +/* 8015E450-8015E4B0 158D90 0060+00 1/0 0/0 3/3 .text __dt__14daObj_SSBase_cFv */ +daObj_SSBase_c::~daObj_SSBase_c() {} + +/* 8015E4B0-8015E4C8 158DF0 0018+00 1/0 0/0 2/0 .text getProcessID__14daObj_SSBase_cFv */ +u32 daObj_SSBase_c::getProcessID() { + return fopAcM_GetID(this); +} + +/* 8015E4C8-8015E4CC 158E08 0004+00 1/0 0/0 0/0 .text setSoldOut__14daObj_SSBase_cFv */ +void daObj_SSBase_c::setSoldOut() { + /* empty function */ +} diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index a09b46c0b7..5684319bc1 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -14,16 +14,6 @@ #include "f_op/f_op_actor_mng.h" #include "rel/d/a/d_a_boomerang/d_a_boomerang.h" -// -// Types: -// - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - // // Forward References: // @@ -422,7 +412,7 @@ void daPy_anmHeap_c::initData() { /* 8015EDC4-8015EE00 159704 003C+00 0/0 1/1 1/1 .text mallocBuffer__14daPy_anmHeap_cFv */ void* daPy_anmHeap_c::mallocBuffer() { - mBuffer = new (0x20) char[mBufferSize]; + mBuffer = new (0x20) u8[mBufferSize]; return mBuffer; } diff --git a/src/d/bg/d_bg_s.cpp b/src/d/bg/d_bg_s.cpp index fb90040c4f..a4b514c5aa 100644 --- a/src/d/bg/d_bg_s.cpp +++ b/src/d/bg/d_bg_s.cpp @@ -481,7 +481,7 @@ s32 dBgS::GetPolyColor(cBgS_PolyInfo const& poly) { } /* 80074C6C-80074CBC 06F5AC 0050+00 0/0 1/1 2/2 .text GetHorseNoEntry__4dBgSFRC13cBgS_PolyInfo */ -bool dBgS::GetHorseNoEntry(cBgS_PolyInfo const& poly) { +BOOL dBgS::GetHorseNoEntry(cBgS_PolyInfo const& poly) { int bg_index = poly.GetBgIndex(); if (m_chk_element[bg_index].ChkUsed()) { return m_chk_element[bg_index].m_bgw_base_ptr->GetHorseNoEntry(poly); @@ -501,13 +501,13 @@ bool dBgS::GetSpecialCode(cBgS_PolyInfo const& poly) { } /* 80074D0C-80074D5C 06F64C 0050+00 0/0 2/2 2/2 .text GetMagnetCode__4dBgSFRC13cBgS_PolyInfo */ -bool dBgS::GetMagnetCode(cBgS_PolyInfo const& poly) { +int dBgS::GetMagnetCode(cBgS_PolyInfo const& poly) { int bg_index = poly.GetBgIndex(); if (m_chk_element[bg_index].ChkUsed()) { return m_chk_element[bg_index].m_bgw_base_ptr->GetMagnetCode(poly); } - return false; + return 0; } /* 80074D5C-80074DAC 06F69C 0050+00 0/0 5/5 0/0 .text GetMonkeyBarsCode__4dBgSFRC13cBgS_PolyInfo @@ -543,7 +543,7 @@ s32 dBgS::GetWallCode(cBgS_PolyInfo const& poly) { } /* 80074E50-80074EA0 06F790 0050+00 0/0 29/29 28/28 .text GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo */ -bool dBgS::GetPolyAtt0(cBgS_PolyInfo const& poly) { +BOOL dBgS::GetPolyAtt0(cBgS_PolyInfo const& poly) { int bg_index = poly.GetBgIndex(); if (m_chk_element[bg_index].ChkUsed()) { return m_chk_element[bg_index].m_bgw_base_ptr->GetPolyAtt0(poly); diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp index 9676d73678..2a8c6dd59b 100644 --- a/src/d/bg/d_bg_w.cpp +++ b/src/d/bg/d_bg_w.cpp @@ -985,7 +985,7 @@ asm s32 dBgW::GetPolyColor(cBgS_PolyInfo const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool dBgW::GetHorseNoEntry(cBgS_PolyInfo const& param_0) { +asm BOOL dBgW::GetHorseNoEntry(cBgS_PolyInfo const& param_0) { nofralloc #include "asm/d/bg/d_bg_w/GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s" } @@ -1015,7 +1015,7 @@ asm void dBgW::GetSpecialCode(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool dBgW::GetMagnetCode(cBgS_PolyInfo const& param_0) { +asm int dBgW::GetMagnetCode(cBgS_PolyInfo const& param_0) { nofralloc #include "asm/d/bg/d_bg_w/GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s" } @@ -1167,7 +1167,7 @@ asm s32 dBgW::GetWallCode(cBgS_PolyInfo const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) { +asm BOOL dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) { nofralloc #include "asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s" } diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp index a35621f5b4..73fad0f717 100644 --- a/src/d/bg/d_bg_w_kcol.cpp +++ b/src/d/bg/d_bg_w_kcol.cpp @@ -625,7 +625,7 @@ asm void dBgWKCol::GetSpecialCode(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgWKCol::GetMagnetCode(cBgS_PolyInfo const& param_0) { +asm int dBgWKCol::GetMagnetCode(cBgS_PolyInfo const& param_0) { nofralloc #include "asm/d/bg/d_bg_w_kcol/GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s" } @@ -767,7 +767,7 @@ asm s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& param_0) { +asm BOOL dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& param_0) { nofralloc #include "asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s" } diff --git a/src/d/cc/d_cc_s.cpp b/src/d/cc/d_cc_s.cpp index 8bd4540176..59beb30238 100644 --- a/src/d/cc/d_cc_s.cpp +++ b/src/d/cc/d_cc_s.cpp @@ -8,16 +8,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct mDoMtx_stack_c { - /* 8000CF0C */ void ZXYrotS(csXyz const&); - - static u8 now[48]; -}; - // // Forward References: // diff --git a/src/d/com/d_com_inf_actor.cpp b/src/d/com/d_com_inf_actor.cpp index 4dced64dc0..aa1add6d11 100644 --- a/src/d/com/d_com_inf_actor.cpp +++ b/src/d/com/d_com_inf_actor.cpp @@ -11,21 +11,16 @@ // Forward References: // -extern "C" extern u8 g_dComIfAc_gameInfo[8]; extern "C" extern u8 g_dComIfGoat_gameInfo[4 + 4 /* padding */]; -// -// External References: -// - // // Declarations: // /* ############################################################################################## */ /* 80450610-80450618 000090 0008+00 0/0 1/1 0/0 .sdata g_dComIfAc_gameInfo */ -SECTION_SDATA extern u8 g_dComIfAc_gameInfo[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_SDATA extern dComIfAc_info_c g_dComIfAc_gameInfo = { + 0, 0, }; /* 80450618-80450620 000098 0004+04 0/0 2/2 7/7 .sdata g_dComIfGoat_gameInfo */ diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index b7d19f9572..528d97ba6c 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -1479,21 +1479,10 @@ stage_arrow_class* dComIfGp_getRoomArrow(int roomNo) { return status->mRoomDt.getArrow(); } -/* ############################################################################################## */ -/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379089 = ""; -#pragma pop - /* 8002D2FC-8002D554 027C3C 0258+00 2/2 7/7 4/4 .text dComIfGp_setNextStage__FPCcsScScfUliScsii */ -// 1 out of order instruction, small regalloc -#ifdef NONMATCHING void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f32 lastSpeed, - u32 lastMode, int param_6, s8 wipe, s16 lastAngle, int param_9, - int param_10) { - u32 mode = lastMode; - + u32 lastMode, int setPoint, s8 wipe, s16 lastAngle, int param_9, + int wipeSpeedT) { if (layer >= 15) { layer = -1; } @@ -1508,6 +1497,7 @@ void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f3 level); } + // Set Key Num to 2 if loading Wagon Escort after King Bulblin 2 if (!strcmp(stage, "F_SP121") && roomNo == 13 && (point == 99 || point == 98) && layer == 2) { dComIfGs_setKeyNum(6, 2); } else { @@ -1515,16 +1505,16 @@ void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f3 } if (daAlink_getAlinkActorClass() != NULL) { - daAlink_getAlinkActorClass()->setLastSceneMode(&mode); + daAlink_getAlinkActorClass()->setLastSceneMode(&lastMode); } - if (strcmp(dMeter2Info_getSaveStageName(), "") && - strcmp(stage, dMeter2Info_getSaveStageName())) { + char* saveName = (char*)dMeter2Info_getSaveStageName(); + if (strcmp(saveName, "") && strcmp(stage, saveName)) { dMeter2Info_setSaveStageName(""); } u8 wipe_speed; - switch (param_10) { + switch (wipeSpeedT) { case 0: wipe_speed = 26; break; @@ -1543,23 +1533,11 @@ void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f3 } g_dComIfG_gameInfo.play.setNextStage(stage, roomNo, point, layer, wipe, wipe_speed); - g_dComIfG_gameInfo.info.getRestart().setLastSceneInfo(lastSpeed, mode, lastAngle); - if (param_6 != 0) { + g_dComIfG_gameInfo.info.getRestart().setLastSceneInfo(lastSpeed, lastMode, lastAngle); + if (setPoint) { dComIfGs_setStartPoint(point); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f32 lastSpeed, - u32 lastMode, int param_6, s8 wipe, s16 lastAngle, int param_9, - int param_10) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfGp_setNextStage__FPCcsScScfUliScsii.s" -} -#pragma pop -#endif void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer) { dComIfGp_setNextStage(stage, point, roomNo, layer, 0.0f, 0, 1, 0, 0, 1, 0); @@ -2433,8 +2411,8 @@ int dComIfG_TimerDeleteRequest(int mode) { } /* 8002F810-8002F9F0 02A150 01E0+00 0/0 1/1 0/0 .text dComIfGs_Wolf_Change_Check__Fv */ -u8 dComIfGs_Wolf_Change_Check() { - u8 is_wolf = false; +BOOL dComIfGs_Wolf_Change_Check() { + BOOL is_wolf = false; // Transforming Unlocked if (dComIfGs_isEventBit(0x0D04)) { diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp index 6c93bfcb78..b9e3166c52 100644 --- a/src/d/com/d_com_static.cpp +++ b/src/d/com/d_com_static.cpp @@ -6,6 +6,9 @@ #include "d/com/d_com_static.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" +#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" +#include "d/com/d_com_inf_game.h" // // Types: @@ -27,17 +30,6 @@ struct daTagMist_c { /* 80031CF0 */ void getPlayerNo(); }; -struct cBgS_PolyInfo {}; - -struct daTagMagne_c { - /* 80031B50 */ void checkMagnetCode(cBgS_PolyInfo&); - /* 80031BF4 */ void checkMagneA(); - /* 80031C48 */ void checkMagneB(); - /* 80031C9C */ void checkMagneC(); - - static u8 mTagMagne[4]; -}; - struct daSetBgObj_c { /* 80031870 */ void getArcName(fopAc_ac_c*); }; @@ -48,23 +40,6 @@ struct daObjMovebox { }; }; -struct daObjCarry_c { - /* 80031CF8 */ void clrSaveFlag(); - /* 80031D04 */ void setSaveFlag(); - /* 80031D10 */ void chkSaveFlag(); - /* 80031D24 */ void getPos(int); - /* 80031D38 */ void savePos(int, cXyz); - /* 80031D64 */ void onSttsFlag(int, u8); - /* 80031D78 */ void offSttsFlag(int, u8); - /* 80031D8C */ void chkSttsFlag(int, u8); - /* 80031DAC */ void setRoomNo(int, s8); - /* 80031DB8 */ void getRoomNo(int); - - static u8 mPos[60]; - static u8 mSttsFlag[5 + 3 /* padding */]; - static u8 mRoomNo[5 + 3 /* padding */]; -}; - struct daMirror_c { /* 8003194C */ void entry(J3DModel*); /* 80031990 */ void remove(); @@ -103,18 +78,6 @@ struct daDsh_c { static f32 CLOSE_BOUND_RATIO; }; -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349A4 */ void offEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; - /* 800349E0 */ void setEventReg(u16, u8); - /* 80034A04 */ void getEventReg(u16) const; -}; - struct dGrass_packet_c { static u8 m_deleteRoom[12]; }; @@ -127,14 +90,6 @@ struct dDemo_c { static u8 m_status[4]; }; -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dBgS { - /* 80074D0C */ void GetMagnetCode(cBgS_PolyInfo const&); -}; - // // Forward References: // @@ -248,10 +203,7 @@ extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void sprintf(); -extern "C" void strcmp(); extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 m_status__7dDemo_c[4]; // @@ -709,55 +661,64 @@ asm void daMP_c::daMP_c_THPPlayerPause() { /* ############################################################################################## */ /* 80450DBC-80450DC0 0002BC 0004+00 1/1 0/0 3/3 .sbss mTagMagne__12daTagMagne_c */ -u8 daTagMagne_c::mTagMagne[4]; +daTagMagne_c* daTagMagne_c::mTagMagne; /* 80031B50-80031BF4 02C490 00A4+00 0/0 4/4 0/0 .text * checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMagne_c::checkMagnetCode(cBgS_PolyInfo& param_0) { - nofralloc -#include "asm/d/com/d_com_static/checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo.s" +int daTagMagne_c::checkMagnetCode(cBgS_PolyInfo& poly) { + if (mTagMagne == NULL) { + return 0; + } + + int magCode = dComIfG_Bgsp().GetMagnetCode(poly); + if ((magCode == 1 && mTagMagne->checkMagneA()) || + (magCode == 2 && mTagMagne->checkMagneB()) || + (magCode == 3 && mTagMagne->checkMagneC())) { + return 1; + } + + return 0; +} + +inline bool fopAcM_isSwitch(const fopAc_ac_c* item, int sw) { + return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(item)); } -#pragma pop /* 80031BF4-80031C48 02C534 0054+00 1/1 0/0 0/0 .text checkMagneA__12daTagMagne_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMagne_c::checkMagneA() { - nofralloc -#include "asm/d/com/d_com_static/checkMagneA__12daTagMagne_cFv.s" +int daTagMagne_c::checkMagneA() { + if (mSwNo1 == 0xFF || fopAcM_isSwitch(this, mSwNo1)) { + return 1; + } + + return 0; } -#pragma pop /* 80031C48-80031C9C 02C588 0054+00 1/1 0/0 0/0 .text checkMagneB__12daTagMagne_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMagne_c::checkMagneB() { - nofralloc -#include "asm/d/com/d_com_static/checkMagneB__12daTagMagne_cFv.s" +int daTagMagne_c::checkMagneB() { + if (mSwNo2 == 0xFF || fopAcM_isSwitch(this, mSwNo2)) { + return 1; + } + + return 0; } -#pragma pop /* 80031C9C-80031CF0 02C5DC 0054+00 1/1 0/0 0/0 .text checkMagneC__12daTagMagne_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMagne_c::checkMagneC() { - nofralloc -#include "asm/d/com/d_com_static/checkMagneC__12daTagMagne_cFv.s" +int daTagMagne_c::checkMagneC() { + if (mSwNo3 == 0xFF || fopAcM_isSwitch(this, mSwNo3)) { + return 1; + } + + return 0; } -#pragma pop /* ############################################################################################## */ /* 80450DC0-80450DC4 -00001 0004+00 4/4 0/0 2/2 .sbss None */ /* 80450DC0 0001+00 data_80450DC0 None */ +extern u8 struct_80450DC0; +u8 struct_80450DC0; + /* 80450DC1 0003+00 data_80450DC1 None */ -extern u8 struct_80450DC0[4]; -u8 struct_80450DC0[4]; +bool daObjCarry_c::mSaveFlag; /* 80031CF0-80031CF8 02C630 0008+00 0/0 1/1 0/0 .text getPlayerNo__11daTagMist_cFv */ #pragma push @@ -770,34 +731,19 @@ asm void daTagMist_c::getPlayerNo() { #pragma pop /* 80031CF8-80031D04 02C638 000C+00 0/0 1/1 0/0 .text clrSaveFlag__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::clrSaveFlag() { - nofralloc -#include "asm/d/com/d_com_static/clrSaveFlag__12daObjCarry_cFv.s" +void daObjCarry_c::clrSaveFlag() { + mSaveFlag = false; } -#pragma pop /* 80031D04-80031D10 02C644 000C+00 0/0 1/1 0/0 .text setSaveFlag__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::setSaveFlag() { - nofralloc -#include "asm/d/com/d_com_static/setSaveFlag__12daObjCarry_cFv.s" +void daObjCarry_c::setSaveFlag() { + mSaveFlag = true; } -#pragma pop /* 80031D10-80031D24 02C650 0014+00 0/0 0/0 1/1 .text chkSaveFlag__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::chkSaveFlag() { - nofralloc -#include "asm/d/com/d_com_static/chkSaveFlag__12daObjCarry_cFv.s" +bool daObjCarry_c::chkSaveFlag() { + return mSaveFlag == true; } -#pragma pop /* ############################################################################################## */ /* 804245A0-804245AC 0512C0 000C+00 0/1 0/0 0/0 .bss @4480 */ @@ -831,61 +777,36 @@ asm void daObjCarry_c::savePos(int param_0, cXyz param_1) { /* ############################################################################################## */ /* 80450DC4-80450DCC 0002C4 0005+03 3/3 0/0 0/0 .sbss mSttsFlag__12daObjCarry_c */ -u8 daObjCarry_c::mSttsFlag[5 + 3 /* padding */]; +u8 daObjCarry_c::mSttsFlag[5]; /* 80031D64-80031D78 02C6A4 0014+00 0/0 0/0 1/1 .text onSttsFlag__12daObjCarry_cFiUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::onSttsFlag(int param_0, u8 param_1) { - nofralloc -#include "asm/d/com/d_com_static/onSttsFlag__12daObjCarry_cFiUc.s" +void daObjCarry_c::onSttsFlag(int idx, u8 flag) { + mSttsFlag[idx] |= flag; } -#pragma pop /* 80031D78-80031D8C 02C6B8 0014+00 0/0 0/0 1/1 .text offSttsFlag__12daObjCarry_cFiUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::offSttsFlag(int param_0, u8 param_1) { - nofralloc -#include "asm/d/com/d_com_static/offSttsFlag__12daObjCarry_cFiUc.s" +void daObjCarry_c::offSttsFlag(int idx, u8 flag) { + mSttsFlag[idx] &= ~flag; } -#pragma pop /* 80031D8C-80031DAC 02C6CC 0020+00 0/0 0/0 1/1 .text chkSttsFlag__12daObjCarry_cFiUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::chkSttsFlag(int param_0, u8 param_1) { - nofralloc -#include "asm/d/com/d_com_static/chkSttsFlag__12daObjCarry_cFiUc.s" +u8 daObjCarry_c::chkSttsFlag(int idx, u8 flag) { + return (u8)(mSttsFlag[idx] & flag) ? 1 : 0; } -#pragma pop /* ############################################################################################## */ /* 80450DCC-80450DD4 0002CC 0005+03 2/2 0/0 0/0 .sbss mRoomNo__12daObjCarry_c */ -u8 daObjCarry_c::mRoomNo[5 + 3 /* padding */]; +s8 daObjCarry_c::mRoomNo[5]; /* 80031DAC-80031DB8 02C6EC 000C+00 0/0 0/0 2/2 .text setRoomNo__12daObjCarry_cFiSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::setRoomNo(int param_0, s8 param_1) { - nofralloc -#include "asm/d/com/d_com_static/setRoomNo__12daObjCarry_cFiSc.s" +void daObjCarry_c::setRoomNo(int idx, s8 roomNo) { + mRoomNo[idx] = roomNo; } -#pragma pop /* 80031DB8-80031DC4 02C6F8 000C+00 0/0 0/0 1/1 .text getRoomNo__12daObjCarry_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::getRoomNo(int param_0) { - nofralloc -#include "asm/d/com/d_com_static/getRoomNo__12daObjCarry_cFi.s" +s8 daObjCarry_c::getRoomNo(int idx) { + return mRoomNo[idx]; } -#pragma pop /* 80031DC4-80031EAC 02C704 00E8+00 0/0 1/0 0/0 .text __sinit_d_com_static_cpp */ #pragma push diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index a4d6949074..c158f9dfa5 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -145,7 +145,6 @@ extern "C" void __ct__7cSGlobeFRC4cXyz(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void bgmNowBattle__8Z2SeqMgrFf(); extern "C" void __dl__FPv(); -extern "C" void DCStoreRangeNoSync(); extern "C" void __register_global_object(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index ba60b9996d..54dd00ede4 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -3793,7 +3793,7 @@ asm void dCam_getControledAngleY(camera_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dCam_getCamera() { +asm dCamera_c* dCam_getCamera() { nofralloc #include "asm/d/d_camera/dCam_getCamera__Fv.s" } diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp index 4ba75c4d93..c4b58509b7 100644 --- a/src/d/d_demo.cpp +++ b/src/d/d_demo.cpp @@ -168,19 +168,6 @@ struct dDemo_particle_c { /* 80039F9C */ ~dDemo_particle_c(); }; -struct dDemo_object_c { - /* 80038F54 */ dDemo_object_c(); - /* 80038F70 */ ~dDemo_object_c(); - /* 80038FC0 */ void appendActor(fopAc_ac_c*); - /* 80039088 */ void getActor(u8); - /* 800390AC */ void createCamera(); - /* 80039128 */ void getActiveCamera(); - /* 8003913C */ void createAmbient(); - /* 800391B8 */ void appendLight(); - /* 80039258 */ void createFog(); - /* 800392D4 */ void remove(); -}; - struct dDemo_light_c { /* 80038E20 */ void JSGSetLightType(JStage::TELight); /* 80038E34 */ void JSGSetPosition(Vec const&); @@ -226,32 +213,6 @@ struct dDemo_ambient_c { /* 800394C8 */ ~dDemo_ambient_c(); }; -struct dDemo_actor_c { - /* 80038020 */ dDemo_actor_c(); - /* 80038098 */ ~dDemo_actor_c(); - /* 80038128 */ void getActor(); - /* 8003815C */ void setActor(fopAc_ac_c*); - /* 8003819C */ void getPrm_Morf(); - /* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*); - /* 800387EC */ void JSGSetData(u32, void const*, u32); - /* 80038920 */ void JSGSetTranslation(Vec const&); - /* 80038980 */ void JSGSetScaling(Vec const&); - /* 800389A8 */ void JSGSetRotation(Vec const&); - /* 80038A0C */ void JSGSetShape(u32); - /* 80038A20 */ void JSGSetAnimation(u32); - /* 80038A40 */ void JSGSetAnimationFrame(f32); - /* 80038A54 */ void JSGSetAnimationTransition(f32); - /* 80038A68 */ void JSGSetTextureAnimation(u32); - /* 80038A7C */ void JSGSetTextureAnimationFrame(f32); - /* 8003A05C */ void JSGFindNodeID(char const*) const; - /* 8003A088 */ void JSGGetNodeTransformation(u32, f32 (*)[4]) const; - /* 8003A0C8 */ void JSGGetAnimationFrameMax() const; - /* 8003A0D0 */ void JSGGetTextureAnimationFrameMax() const; - /* 8003A0D8 */ void JSGGetTranslation(Vec*) const; - /* 8003A0F4 */ void JSGGetScaling(Vec*) const; - /* 8003A110 */ void JSGGetRotation(Vec*) const; -}; - struct JUTNameTab { /* 802DEA58 */ void getIndex(char const*) const; }; @@ -966,7 +927,7 @@ u8 dDemo_c::m_factory[4]; u8 dDemo_c::m_mesgControl[4]; /* 80450E20-80450E24 000320 0004+00 5/5 9/9 7/7 .sbss m_object__7dDemo_c */ -u8 dDemo_c::m_object[4]; +dDemo_object_c* dDemo_c::m_object; /* 80450E24-80450E28 000324 0004+00 4/4 0/0 0/0 .sbss m_data__7dDemo_c */ u8 dDemo_c::m_data[4]; @@ -1529,7 +1490,7 @@ asm void dDemo_object_c::appendActor(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDemo_object_c::getActor(u8 param_0) { +asm dDemo_actor_c* dDemo_object_c::getActor(u8 param_0) { nofralloc #include "asm/d/d_demo/getActor__14dDemo_object_cFUc.s" } diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp index 517b0a82ae..96e363d289 100644 --- a/src/d/d_item.cpp +++ b/src/d/d_item.cpp @@ -2597,51 +2597,72 @@ u8 check_itemno(int i_itemId) { /* 8009B940-8009BBD8 096280 0298+00 11/11 0/0 0/0 .text addBombCount__FUcUc */ #ifdef NONMATCHING -static u8 addBombCount(u8 param_0, u8 param_1) { - u8 count[4]; - u8 count2[3]; +int addBombCount(u8 i_bombType, u8 i_addNum) { + u8 bombType[3]; + s32 bombNum[3]; + s32 var_r22; + s32 bombIdx; - int uvar6; + for (u8 i = 0; i < 3; i++) { + bombType[i] = dComIfGs_getItem(i + SLOT_15, false); - for (int i = 0; i < 3; i++) { - u8 tmp = dComIfGs_getItem(i + SLOT_15, false); - count[i] = tmp; - - if (count[i] == 0x50) { - count2[i] = 0; + if (bombType[i] == BOMB_BAG_LV1) { + bombNum[i] = 0; + } else if (bombType[i] == i_bombType) { + bombNum[i] = dComIfGs_getBombNum(i); } else { - if (count[i] == param_0) { - count2[i] = dComIfGs_getBombNum(i); + bombNum[i] = -1; + } + } + + for (u8 i = 0; i < 3; i++) { + bombIdx = -1; + var_r22 = -1; + + for (u8 j = 0; j < 3; j++) { + if (bombNum[j] == 0) { + bombIdx = j; + var_r22 = 0; + } + } + + for (u8 k = 0; k < 3; k++) { + if (bombNum[k] > 0 && bombNum[k] > var_r22 && bombNum[k] != dComIfGs_getBombMax(bombType[k])) { + bombIdx = k; + var_r22 = bombNum[k]; + } + } + + if (bombIdx == -1) { // issue here? + return i_addNum; + } else if (var_r22 == 0) { + if (dComIfGs_getBombMax(i_bombType) >= i_addNum) { + dComIfGs_setEmptyBombBagItemIn(i_bombType, i_addNum, true); + return 0; } else { - count2[i] = -1; + dComIfGs_setEmptyBombBagItemIn(i_bombType, i_addNum, true); + i_addNum -= (int)dComIfGs_getBombMax(i_bombType); + } + } else { + if (dComIfGs_getBombMax(bombType[bombIdx]) >= var_r22 + i_addNum) { + dComIfGp_setItemBombNumCount(bombIdx, i_addNum); + return 0; + } else { + dComIfGp_setItemBombNumCount(bombIdx, i_addNum); + i_addNum -= (int)dComIfGs_getBombMax(bombType[bombIdx]) - var_r22; } } + + bombNum[bombIdx] = dComIfGs_getBombMax(bombType[bombIdx]); } - for (int i = 0; i < 3; i++) { - uvar6 = -1; - for (int j = 0; j < 3; j++) { - if (count2[j] == 0) { - uvar6 = 0; - } - } - - for (int k = 0; k < 3; k++) { - if (count2[k] > 0 && uvar6 < count2[k] && count2[k] != dComIfGs_getBombMax(count2[k])) { - uvar6 = count2[k]; - } - } - - if () - } - - return param_1; + return i_addNum; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void addBombCount(u8 param_0, u8 param_1) { +asm int addBombCount(u8 param_0, u8 param_1) { nofralloc #include "asm/d/d_item/addBombCount__FUcUc.s" } diff --git a/src/d/d_lib.cpp b/src/d/d_lib.cpp index 3030b34766..b9cefd23ee 100644 --- a/src/d/d_lib.cpp +++ b/src/d/d_lib.cpp @@ -4,6 +4,7 @@ // #include "d/d_lib.h" +#include "SSystem/SComponent/c_m3d.h" #include "dol2asm.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" @@ -73,7 +74,6 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; // // Declarations: @@ -101,19 +101,19 @@ SECTION_DATA extern void* __vt__9STControl[4] = { (void*)getAngleStick__9STControlFv, }; -STControl::STControl(s16 param_0, s16 param_1, s16 param_2, s16 param_3, f32 param_4, f32 param_5, +STControl::STControl(s16 delayY, s16 delayX, s16 param_2, s16 param_3, f32 threshold, f32 param_5, s16 param_6, s16 param_7) { - setWaitParm(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7); + setWaitParm(delayY, delayX, param_2, param_3, threshold, param_5, param_6, param_7); init(); } -void STControl::setWaitParm(s16 param_0, s16 param_1, s16 param_2, s16 param_3, f32 param_4, +void STControl::setWaitParm(s16 delayY, s16 delayX, s16 param_2, s16 param_3, f32 threshold, f32 param_5, s16 param_6, s16 param_7) { - field_0x12 = param_0; - field_0x14 = param_1; + mRepeatDelayY = delayY; + mRepeatDelayX = delayX; field_0x16 = param_2; field_0x1c = param_3; - field_0x04 = param_4; + mThreshold = threshold; field_0x08 = param_5; field_0x24 = param_6; field_0x26 = param_7; @@ -123,10 +123,10 @@ void STControl::init() { field_0x0e = 0; field_0x10 = 0; field_0x0d = 0; - field_0x0c = 0; + mDirectionTrig = 0; field_0x22 = 0; - mXwaitTimer = field_0x12; - mYwaitTimer = field_0x12; + mXwaitTimer = mRepeatDelayY; + mYwaitTimer = mRepeatDelayY; field_0x1e = field_0x1c; field_0x20 = field_0x1c; mFirstWaitTime = 0; @@ -136,31 +136,20 @@ void STControl::init() { void STControl::Xinit() { field_0x0e = 0; - field_0x0c &= 0xfc; - mXwaitTimer = field_0x12; + mDirectionTrig &= ~0x03; + mXwaitTimer = mRepeatDelayY; field_0x1e = field_0x1c; field_0x2a = mFirstWaitTime; } /* 8003212C-8003215C 02CA6C 0030+00 1/1 0/0 0/0 .text Yinit__9STControlFv */ -#ifdef NONMATCHING void STControl::Yinit() { field_0x10 = 0; - field_0x0c &= 0xf3; - mYwaitTimer = field_0x12; + mDirectionTrig &= ~0x0C; + mYwaitTimer = mRepeatDelayY; field_0x20 = field_0x1c; field_0x2c = mFirstWaitTime; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void STControl::Yinit() { - nofralloc -#include "asm/d/d_lib/Yinit__9STControlFv.s" -} -#pragma pop -#endif f32 STControl::getValueStick() { return mDoCPd_c::getStickValue(PAD_1); @@ -179,23 +168,100 @@ s16 CSTControl::getAngleStick() { } /* 8003219C-8003242C 02CADC 0290+00 0/0 24/24 0/0 .text checkTrigger__9STControlFv */ +#ifdef NONMATCHING +u8 STControl::checkTrigger() { + field_0x0d = mDirectionTrig; + f32 stickValue = getValueStick(); + s16 stickAngle_ = getAngleStick(); + u8 var_r6 = 0; + s16 temp_r7 = 0x2000 - field_0x26 >> 1; + + if (!cM3d_IsZero(stickValue)) { + int stickAngle = stickAngle_; + s16 temp_r4 = field_0x22; + int temp_r3 = temp_r4 + temp_r7; + + if (stickAngle < temp_r3 - 0x7000) { + var_r6 |= TRIG_UP; + } else if (stickAngle < (temp_r4 - 0x5000) - temp_r7) { + var_r6 |= TRIG_UP_LEFT; + } else if (stickAngle < temp_r3 - 0x3000) { + var_r6 |= TRIG_LEFT; + } else if (stickAngle < (temp_r4 - 0x1000) - temp_r7) { + var_r6 |= TRIG_DOWN_LEFT; + } else if (stickAngle < temp_r3 + 0x1000) { + var_r6 |= TRIG_DOWN; + } else if (stickAngle < (temp_r4 + 0x3000) - temp_r7) { + var_r6 |= TRIG_DOWN_RIGHT; + } else if (stickAngle < temp_r3 + 0x5000) { + var_r6 |= TRIG_RIGHT; + } else if (stickAngle < (temp_r4 + 0x7000) - temp_r7) { + var_r6 |= TRIG_UP_RIGHT; + } else { + var_r6 |= TRIG_UP; + } + + if (stickValue >= mThreshold) { + mDirectionTrig = var_r6; + } else if (stickValue < field_0x08) { + mDirectionTrig = 0; + } else { + mDirectionTrig &= ~var_r6; + } + + u8 temp_r3_2 = mDirectionTrig; + if (temp_r3_2 != field_0x0d) { + if (temp_r3_2 == 0) { + field_0x22 = 0; + } else if ((stickAngle & 0x1FFF) > 0x1000) { + field_0x22 = field_0x24; + } else { + field_0x22 = -field_0x24; + } + } + + if (!(mDirectionTrig & 3)) { + Xinit(); + } + + if (!(mDirectionTrig & 0xC)) { + Yinit(); + } + } else { + mDirectionTrig = 0; + Xinit(); + Yinit(); + } + + if ((field_0x0d & mDirectionTrig & 3) && field_0x0e > 0) { + field_0x0e--; + } + + if ((field_0x0d & mDirectionTrig & 0xC) && field_0x10 > 0) { + field_0x10--; + } + + return mDirectionTrig; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void STControl::checkTrigger() { +asm u8 STControl::checkTrigger() { nofralloc #include "asm/d/d_lib/checkTrigger__9STControlFv.s" } #pragma pop +#endif bool STControl::checkLeftTrigger() { - if ((field_0x0e == 0) && ((field_0x0c & 1) != 0)) { + if (field_0x0e == 0 && mDirectionTrig & TRIG_LEFT) { field_0x0e = mXwaitTimer + field_0x2a; field_0x2a = 0; if ((int)field_0x1e == 0) { mXwaitTimer -= field_0x16; - if (mXwaitTimer < field_0x14) { - mXwaitTimer = field_0x14; + if (mXwaitTimer < mRepeatDelayX) { + mXwaitTimer = mRepeatDelayX; } } else { field_0x1e--; @@ -206,13 +272,13 @@ bool STControl::checkLeftTrigger() { } bool STControl::checkRightTrigger() { - if ((field_0x0e == 0) && ((field_0x0c & 2) != 0)) { + if (field_0x0e == 0 && mDirectionTrig & TRIG_RIGHT) { field_0x0e = mXwaitTimer + field_0x2a; field_0x2a = 0; if ((int)field_0x1e == 0) { mXwaitTimer -= field_0x16; - if (mXwaitTimer < field_0x14) { - mXwaitTimer = field_0x14; + if (mXwaitTimer < mRepeatDelayX) { + mXwaitTimer = mRepeatDelayX; } } else { field_0x1e--; @@ -223,13 +289,13 @@ bool STControl::checkRightTrigger() { } bool STControl::checkUpTrigger() { - if ((field_0x10 == 0) && ((field_0x0c & 4) != 0)) { + if (field_0x10 == 0 && mDirectionTrig & TRIG_UP) { field_0x10 = mYwaitTimer + field_0x2c; field_0x2c = 0; if ((int)field_0x20 == 0) { mYwaitTimer -= field_0x16; - if (mYwaitTimer < field_0x14) { - mYwaitTimer = field_0x14; + if (mYwaitTimer < mRepeatDelayX) { + mYwaitTimer = mRepeatDelayX; } } else { field_0x20--; @@ -240,13 +306,13 @@ bool STControl::checkUpTrigger() { } bool STControl::checkDownTrigger() { - if ((field_0x10 == 0) && ((field_0x0c & 8) != 0)) { + if (field_0x10 == 0 && mDirectionTrig & TRIG_DOWN) { field_0x10 = mYwaitTimer + field_0x2c; field_0x2c = 0; if ((int)field_0x20 == 0) { mYwaitTimer -= field_0x16; - if (mYwaitTimer < field_0x14) { - mYwaitTimer = field_0x14; + if (mYwaitTimer < mRepeatDelayX) { + mYwaitTimer = mRepeatDelayX; } } else { field_0x20--; diff --git a/src/d/d_path.cpp b/src/d/d_path.cpp index 0a83573e97..2b8000bc5f 100644 --- a/src/d/d_path.cpp +++ b/src/d/d_path.cpp @@ -71,7 +71,7 @@ asm void dPath_GetPnt(dPath const* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dPath_GetRoomPath(int param_0, int param_1) { +asm u16* dPath_GetRoomPath(int param_0, int param_1) { nofralloc #include "asm/d/d_path/dPath_GetRoomPath__Fii.s" } diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index c2d2534697..8289ca668c 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -22,10 +22,6 @@ // Types: // -struct mDoMtx_stack_c { - static u8 now[48]; -}; - struct dBgWKCol { /* 8007E7D0 */ void initKCollision(void*); }; diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index c1c0dcd5f6..a6062da3fc 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -2996,8 +2996,8 @@ int dStage_RoomCheck(cBgS_GndChk* gndChk) { /* 800270FC-80027170 021A3C 0074+00 0/0 1/1 0/0 .text * dStage_changeSceneExitId__FR13cBgS_PolyInfofUlScs */ -void dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 speed, u32 mode, s8 roomNo, s16 angle) { - dStage_changeScene(dComIfG_Bgsp().GetExitId(param_0), speed, mode, roomNo, angle, -1); +int dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 speed, u32 mode, s8 roomNo, s16 angle) { + return dStage_changeScene(dComIfG_Bgsp().GetExitId(param_0), speed, mode, roomNo, angle, -1); } /* ############################################################################################## */ @@ -3009,7 +3009,7 @@ SECTION_SDATA2 static f64 lit_5317 = 4503601774854144.0 /* cast s32 to float */; /* 80027170-800272E0 021AB0 0170+00 1/1 10/10 63/63 .text dStage_changeScene__FifUlScsi */ -// scls info types might be wrong or inlines wrong +// matches with literals #ifdef NONMATCHING int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no, s16 angle, int param_5) { stage_scls_info_dummy_class* scls; @@ -3025,9 +3025,9 @@ int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no, s16 angle, } stage_scls_info_class* scls_info = &scls->mEntries[i_exitId]; - u8 wipe = dStage_sclsInfo_getWipe(scls_info); - int wipe_time = dStage_sclsInfo_getWipeTime(scls_info); - s8 layer = dStage_sclsInfo_getSceneLayer(scls_info); + s32 wipe = dStage_sclsInfo_getWipe(scls_info); + s32 wipe_time = dStage_sclsInfo_getWipeTime(scls_info); + s32 layer = dStage_sclsInfo_getSceneLayer(scls_info); int timeH = dStage_sclsInfo_getTimeH(scls_info); if (layer >= 15) { @@ -3042,7 +3042,7 @@ int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no, s16 angle, dKy_set_nexttime(15.0f * timeH); } - dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, scls_info->mRoom, layer, speed, + dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer, speed, mode, 1, wipe == 15 ? 0 : wipe, angle, 1, wipe_time); return 1; } @@ -3078,15 +3078,69 @@ SECTION_DEAD static char const* const stringBase_80378BB3 = "d_stage.cpp"; #pragma pop /* 800272F0-800274B0 021C30 01C0+00 0/0 1/1 0/0 .text dStage_changeScene4Event__FiScibfUlsi */ +#ifdef NONMATCHING +int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, f32 speed, + u32 mode, s16 angle, int param_7) { + stage_scls_info_dummy_class* scls; + + if (room_no == -1) { + scls = dComIfGp_getStageSclsInfo(); + } else { + scls = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getSclsInfo(); + } + + if (scls == NULL) { + // "%d: %d: Scene List doesn't exist. \n" + OSReport_Error("%s: %d: シーンリストがありません。\n", "d_stage.cpp", 4865); + return 0; + } + + stage_scls_info_class* scls_info = &scls->mEntries[i_exitId]; + + s32 wipe; + s32 wipe_time; + if (i_wipe == -1) { + wipe = dStage_sclsInfo_getWipe(scls_info); + } else { + wipe = i_wipe; + } + + if (i_wipe == -1) { + wipe_time = dStage_sclsInfo_getWipeTime(scls_info); + } else { + wipe_time = 0; + } + + s32 layer = dStage_sclsInfo_getSceneLayer(scls_info); + int timeH = dStage_sclsInfo_getTimeH(scls_info); + + if (layer >= 15) { + layer = -1; + } + + if (layer == -1 && param_7 != -1) { + layer = param_7; + } + + if (timeH < 31) { + dKy_set_nexttime(15.0f * timeH); + } + + dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer, speed, + mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 != false, wipe_time); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dStage_changeScene4Event(int param_0, s8 param_1, int param_2, bool param_3, f32 param_4, +asm int dStage_changeScene4Event(int param_0, s8 param_1, int param_2, bool param_3, f32 param_4, u32 param_5, s16 param_6, int param_7) { nofralloc #include "asm/d/d_stage/dStage_changeScene4Event__FiScibfUlsi.s" } #pragma pop +#endif /* 800274B0-80027524 021DF0 0074+00 0/0 1/1 0/0 .text dStage_restartRoom__FUlUli */ void dStage_restartRoom(u32 roomParam, u32 mode, int param_2) { diff --git a/src/d/d_tresure.cpp b/src/d/d_tresure.cpp index f3458d5b87..71d24b5775 100644 --- a/src/d/d_tresure.cpp +++ b/src/d/d_tresure.cpp @@ -12,12 +12,8 @@ // Types: // -struct mDoMtx_stack_c { - static u8 now[48]; -}; - struct dMapInfo_c { - /* 8003F40C */ void calcFloorNo(f32, bool, int); + /* 8003F40C */ static s8 calcFloorNo(f32, bool, int); }; // @@ -69,6 +65,10 @@ extern "C" extern bool data_80450680; // Declarations: // +inline dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); +} + /* ############################################################################################## */ /* 80450F98-80450F9C 000498 0004+00 2/2 0/0 0/0 .sbss mTypeGroupData__7dTres_c */ dTres_c::typeGroupData_c* dTres_c::mTypeGroupData; @@ -84,14 +84,11 @@ asm int dTres_c::createWork() { #pragma pop /* 8009BC18-8009BC60 096558 0048+00 0/0 1/1 0/0 .text create__7dTres_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::create() { - nofralloc -#include "asm/d/d_tresure/create__7dTres_cFv.s" +void dTres_c::create() { + if (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { + reset(); + } } -#pragma pop /* 8009BC60-8009BC6C 0965A0 000C+00 0/0 1/1 0/0 .text remove__7dTres_cFv */ void dTres_c::remove() { @@ -106,17 +103,57 @@ dTres_c::list_class dTres_c::mTypeGroupListAll[17]; u16 dTres_c::mNum; /* 8009BC6C-8009BCB4 0965AC 0048+00 2/2 0/0 0/0 .text reset__7dTres_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::reset() { - nofralloc -#include "asm/d/d_tresure/reset__7dTres_cFv.s" +void dTres_c::reset() { + if (data_80450680) { + mNum = 0; + data_80450680 = false; + + for (int i = 0; i < 17; i++) { + mTypeGroupListAll[i].field_0x0 = NULL; + mTypeGroupListAll[i].field_0x4 = NULL; + mTypeGroupListAll[i].mNumber = 0; + } + } } -#pragma pop /* 8009BCB4-8009BE28 0965F4 0174+00 0/0 1/1 0/0 .text addData__7dTres_cFPQ27dTres_c10list_classSc */ +#ifdef NONMATCHING +void dTres_c::addData(dTres_c::list_class* p_list, s8 roomNo) { + if (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { + reset(); + + typeGroupData_c* listData = p_list->field_0x4; + typeGroupData_c* groupData = &mTypeGroupData[mNum]; + for (int i = 0; i < (int)p_list->field_0x0; i++) { + groupData->mData = listData->mData; + groupData->mData.mRoomNo = roomNo; + groupData->mData.mStatus = 0; + + u8 typeGroupNo = getTypeToTypeGroupNo(groupData->mData.mType); + groupData->setNextDataPointer(NULL); + groupData->setTypeGroupNo(typeGroupNo); + + list_class* typeGroupList = mTypeGroupListAll + typeGroupNo; + if (typeGroupList->field_0x0 == NULL) { + typeGroupList->field_0x0 = groupData; + } + + if (mTypeGroupListAll[i].field_0x4 != NULL) { + mTypeGroupListAll[i].field_0x4->setNextDataPointer(groupData); + } + mTypeGroupListAll[i].field_0x4 = groupData; + mTypeGroupListAll[i].mNumber++; + + if ((s32)groupData->mData.mType == 0xFF) { + checkTreasureBox(&groupData->mData); + } + + mNum++; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -125,6 +162,7 @@ asm void dTres_c::addData(dTres_c::list_class* param_0, s8 param_1) { #include "asm/d/d_tresure/addData__7dTres_cFPQ27dTres_c10list_classSc.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80452BE8-80452BEC 0011E8 0004+00 1/1 0/0 0/0 .sdata2 @3839 */ @@ -164,16 +202,38 @@ asm void dTres_c::checkTreasureBox(dTres_c::data_s* param_0) { #pragma pop /* 8009C168-8009C1F0 096AA8 0088+00 0/0 0/0 3/3 .text onStatus__7dTres_cFUcii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::onStatus(u8 param_0, int param_1, int param_2) { - nofralloc -#include "asm/d/d_tresure/onStatus__7dTres_cFUcii.s" +void dTres_c::onStatus(u8 listIdx, int param_1, int flag) { + typeGroupData_c* groupData = getFirstData(listIdx); + int typeGroupNo = getTypeGroupNumber(listIdx); + + for (int i = 0; i < typeGroupNo; i++) { + if (param_1 == groupData->getNo()) { + u8 status = groupData->getStatus(); + + cLib_onBit(status, flag); + groupData->setStatus(status); + } + groupData = getNextData(groupData); + } } -#pragma pop /* 8009C1F0-8009C27C 096B30 008C+00 0/0 0/0 3/3 .text offStatus__7dTres_cFUcii */ +#ifdef NONMATCHING +void dTres_c::offStatus(u8 listIdx, int param_1, int flag) { + typeGroupData_c* groupData = getFirstData(listIdx); + int typeGroupNo = getTypeGroupNumber(listIdx); + + for (int i = 0; i < typeGroupNo; i++) { + if (param_1 == groupData->getNo()) { + u8 status = groupData->getStatus(); + + cLib_offBit(status, flag); + groupData->setStatus(status); + } + groupData = getNextData(groupData); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -182,87 +242,115 @@ asm void dTres_c::offStatus(u8 param_0, int param_1, int param_2) { #include "asm/d/d_tresure/offStatus__7dTres_cFUcii.s" } #pragma pop +#endif /* 8009C27C-8009C360 096BBC 00E4+00 0/0 1/1 0/0 .text getBossIconFloorNo__7dTres_cFPi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::getBossIconFloorNo(int* param_0) { - nofralloc -#include "asm/d/d_tresure/getBossIconFloorNo__7dTres_cFPi.s" +int dTres_c::getBossIconFloorNo(int* o_floorNo) { + int ret; + + if (o_floorNo == NULL) { + return 0; + } + + ret = 0; + *o_floorNo = 0; + typeGroupData_c* groupData = getFirstData(3); + + if (groupData != NULL && dComIfGs_isDungeonItemCompass()) { + if ((groupData->getSwBit() == 0xFF || + (groupData->getSwBit() != 0xFF && + dComIfGs_isSwitch(groupData->getSwBit(), groupData->getRoomNo()))) && + !dComIfGs_isStageBossEnemy()) { + *o_floorNo = + dMapInfo_c::calcFloorNo(groupData->getPos()->y, true, groupData->getRoomNo()); + ret = 1; + } + } + + return ret; } -#pragma pop /* 8009C360-8009C39C 096CA0 003C+00 4/4 4/4 0/0 .text getFirstData__7dTres_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::getFirstData(u8 param_0) { - nofralloc -#include "asm/d/d_tresure/getFirstData__7dTres_cFUc.s" +dTres_c::typeGroupData_c* dTres_c::getFirstData(u8 listIdx) { + if (mTypeGroupListAll + listIdx == NULL) { + return NULL; + } + + if ((s32)mTypeGroupListAll[listIdx].mNumber == 0) { + return NULL; + } + + return mTypeGroupListAll[listIdx].field_0x0; } -#pragma pop /* 8009C39C-8009C3B4 096CDC 0018+00 2/2 3/3 0/0 .text * getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::getNextData(dTres_c::typeGroupData_c* param_0) { - nofralloc -#include "asm/d/d_tresure/getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c.s" +dTres_c::typeGroupData_c* dTres_c::getNextData(dTres_c::typeGroupData_c* p_data) { + if (p_data == NULL) { + return NULL; + } + + return p_data->getNextDataPointer(); } -#pragma pop /* 8009C3B4-8009C3CC 096CF4 0018+00 0/0 1/1 0/0 .text * getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::getNextData(dTres_c::typeGroupData_c const* param_0) { - nofralloc -#include "asm/d/d_tresure/getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c.s" +dTres_c::typeGroupData_c* dTres_c::getNextData(dTres_c::typeGroupData_c const* p_data) { + if (p_data == NULL) { + return NULL; + } + + return p_data->getNextDataPointer(); } -#pragma pop /* 8009C3CC-8009C49C 096D0C 00D0+00 0/0 0/0 14/14 .text setPosition__7dTres_cFiUcPC3Veci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::setPosition(int param_0, u8 param_1, Vec const* param_2, int param_3) { - nofralloc -#include "asm/d/d_tresure/setPosition__7dTres_cFiUcPC3Veci.s" +void dTres_c::setPosition(int dataNo, u8 listIdx, Vec const* i_pos, int i_roomNo) { + typeGroupData_c* groupData = getFirstData(listIdx); + + for (int i = getTypeGroupNumber(listIdx); i > 0; i--) { + if (dataNo == groupData->getNo()) { + Vec pos; + pos.x = i_pos->x; + pos.y = i_pos->y; + pos.z = i_pos->z; + + if (i_roomNo >= 0) { + groupData->setRoomNo(i_roomNo); + } + dMapInfo_n::correctionOriginPos(groupData->getRoomNo(), &pos); + groupData->setPos(pos); + return; + } + groupData = groupData->getNextDataPointer(); + } } -#pragma pop /* ############################################################################################## */ /* 8037B0D8-8037B100 007738 0022+06 2/2 0/0 0/0 .rodata typeToTypeGroup__7dTres_c */ -SECTION_RODATA u8 const dTres_c::typeToTypeGroup[34] = { - 0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, - 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x80, 0x09, 0x81, 0x0A, 0x82, 0x0B, - 0x83, 0x0C, 0x84, 0x0D, 0x85, 0x0E, 0x87, 0x0F, 0x88, 0x10, +SECTION_RODATA u8 const dTres_c::typeToTypeGroup[17][2] = { + {0xFF, 0x00}, {0x00, 0x01}, {0x01, 0x02}, {0x02, 0x03}, {0x03, 0x04}, {0x04, 0x05}, + {0x05, 0x06}, {0x06, 0x07}, {0x07, 0x08}, {0x80, 0x09}, {0x81, 0x0A}, {0x82, 0x0B}, + {0x83, 0x0C}, {0x84, 0x0D}, {0x85, 0x0E}, {0x87, 0x0F}, {0x88, 0x10}, }; COMPILER_STRIP_GATE(0x8037B0D8, &dTres_c::typeToTypeGroup); /* 8009C49C-8009C4B0 096DDC 0014+00 0/0 1/1 0/0 .text getTypeGroupNoToType__7dTres_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTres_c::getTypeGroupNoToType(u8 param_0) { - nofralloc -#include "asm/d/d_tresure/getTypeGroupNoToType__7dTres_cFUc.s" +int dTres_c::getTypeGroupNoToType(u8 i_typeGroupNo) { + return typeToTypeGroup[i_typeGroupNo][0]; } -#pragma pop /* 8009C4B0-8009C4FC 096DF0 004C+00 1/1 3/3 0/0 .text getTypeToTypeGroupNo__7dTres_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u8 dTres_c::getTypeToTypeGroupNo(u8 param_0) { - nofralloc -#include "asm/d/d_tresure/getTypeToTypeGroupNo__7dTres_cFUc.s" +int dTres_c::getTypeToTypeGroupNo(u8 i_type) { + u8 groupNo = 17; + for (int i = 0; i < 17; i++) { + if (i_type == typeToTypeGroup[i][0]) { + groupNo = typeToTypeGroup[i][1]; + break; + } + } + + return groupNo; } -#pragma pop diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp index 942fb09b8e..b4514d72d5 100644 --- a/src/d/event/d_event.cpp +++ b/src/d/event/d_event.cpp @@ -9,20 +9,9 @@ #include "dolphin/types.h" #include "f_op/f_op_actor_iter.h" #include "f_op/f_op_actor_mng.h" - -// -// Types: -// - -struct dDemo_c { - /* 80039CF8 */ void end(); - - static u8 m_mode[4]; -}; - -struct dCamera_c { - /* 801614C4 */ void QuickStart(); -}; +#include "d/d_demo.h" +#include "d/d_camera.h" +#include "d/msg/d_msg_object.h" // // Forward References: @@ -162,6 +151,14 @@ inline dEvt_control_c& dComIfGp_getEvent() { return g_dComIfG_gameInfo.play.getEvent(); } +inline u16 dComIfGs_getLife() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife(); +} + +inline dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); +} + /* 80041480-80041488 03BDC0 0008+00 1/1 0/0 0/0 .text event_debug_evnt__21@unnamed@d_event_cpp@Fv */ static bool func_80041480() { @@ -193,70 +190,173 @@ dEvt_order_c::dEvt_order_c() { /* 800415D8-80041668 03BF18 0090+00 1/1 0/0 0/0 .text orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv */ -bool dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4, +s32 dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4, void* param_5, void const* param_6) { int eventIdx = dComIfGp_getEventManager().getEventIdx((char*)param_6, -1, -1); return order(param_0, param_1, param_2, param_3, param_4, param_5, eventIdx, -1); } /* 80041668-80041804 03BFA8 019C+00 3/3 13/13 0/0 .text order__14dEvt_control_cFUsUsUsUsPvPvsUc */ +#ifdef NONMATCHING +s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, + void* param_5, s16 eventID, u8 infoIdx) { + if (!(flag & 0x400) && infoIdx != 0xFF) { + int roomNo = dComIfGp_roomControl_getStayNo(); + dStage_MapEvent_dt_c* data = searchMapEventData(infoIdx, roomNo); + + if (data != NULL && data->field_0x1B != 0xFF) { + if (dComIfGs_isSwitch(data->field_0x1B, roomNo)) { + return 0; + } + } + } + + if (mNum >= 8) { + return 0; + } + + dEvt_order_c* order = &mOrder[mNum]; + order->mEventType = eventType; + order->mPriority = priority; + order->mFlag = flag; + order->mActor1 = (fopAc_ac_c*)param_4; + order->mActor2 = (fopAc_ac_c*)param_5; + order->mEventId = eventID; + order->field_0x04 = param_3; + order->mEventInfoIdx = infoIdx; + + if (order->mPriority == 0) { + order->mPriority = 1; + } + + if (mNum == 0) { + field_0xe3 = 0; + order->mNextOrderIdx = -1; + } else { + s8 tmp_e3 = field_0xe3; + dEvt_order_c* order2 = &mOrder[tmp_e3]; + + if (order->mPriority < order2->mPriority) { + field_0xe3 = mNum; + order->mNextOrderIdx = tmp_e3; + } else { + + while (order2->mNextOrderIdx >= 0) { + if (order->mPriority >= mOrder[order2->mNextOrderIdx].mPriority) { + order2++; + } + } + + order->mNextOrderIdx = order2->mNextOrderIdx; + order2->mNextOrderIdx = mNum; + } + mNum++; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool dEvt_control_c::order(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4, - void* param_5, s16 param_6, u8 param_7) { +asm s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, + void* param_5, s16 eventID, u8 infoIdx) { nofralloc #include "asm/d/event/d_event/order__14dEvt_control_cFUsUsUsUsPvPvsUc.s" } #pragma pop - -/* ############################################################################################## */ -/* 80451EC0-80451EC4 0004C0 0004+00 1/1 0/0 0/0 .sdata2 @4361 */ -SECTION_SDATA2 static f32 lit_4361 = 1.0f; +#endif /* 80041804-80041934 03C144 0130+00 5/5 0/0 0/0 .text setParam__14dEvt_control_cFP12dEvt_order_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::setParam(dEvt_order_c* param_0) { - nofralloc -#include "asm/d/event/d_event/setParam__14dEvt_control_cFP12dEvt_order_c.s" +void dEvt_control_c::setParam(dEvt_order_c* p_order) { + setPt1(p_order->mActor1); + setPt2(p_order->mActor2); + + mSpecifiedEvent = p_order->mEventId; + mHindFlag = p_order->field_0x04; + + if (dComIfGp_getPlayer(0) != p_order->mActor1) { + setPtT(p_order->mActor1); + setPtI(p_order->mActor1); + } else { + setPtT(p_order->mActor2); + setPtI(p_order->mActor2); + } + + mMapToolId = p_order->mEventInfoIdx; + field_0xea = 0xFF; + field_0xec = 0xFF; + + int roomNo = dComIfGp_roomControl_getStayNo(); + dStage_MapEvent_dt_c* data = searchMapEventData(mMapToolId, roomNo); + mStageEventDt = data; + + if (data != NULL) { + field_0xea = data->field_0x16; + + if (data->field_0x1B != 0xFF) { + dComIfGs_onSwitch(data->field_0x1B, roomNo); + } + + if (p_order->mFlag & 0x300) { + field_0xec = data->field_0x5; + } + } + + if (!(p_order->mFlag & 0x200)) { + field_0xe0 = p_order->mEventId; + } + + mCullRate = 1.0f; + mEventFlag = 0; } -#pragma pop /* 80041934-80041964 03C274 0030+00 2/2 0/0 0/0 .text * beforeFlagProc__14dEvt_control_cFP12dEvt_order_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dEvt_control_c::beforeFlagProc(dEvt_order_c* param_0) { - nofralloc -#include "asm/d/event/d_event/beforeFlagProc__14dEvt_control_cFP12dEvt_order_c.s" +s32 dEvt_control_c::beforeFlagProc(dEvt_order_c* p_order) { + fopAc_ac_c* actor = p_order->mActor2; + + if (p_order->mFlag & 4 && actor->mEvtInfo.chkCondition(1) != true) { + return 0; + } + + return 1; } -#pragma pop /* ############################################################################################## */ /* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_80379D80 = "???"; -SECTION_DEAD static char const* const stringBase_80379D87 = "ALL"; #pragma pop /* 80041964-800419A8 03C2A4 0044+00 2/2 0/0 0/0 .text * afterFlagProc__14dEvt_control_cFP12dEvt_order_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::afterFlagProc(dEvt_order_c* param_0) { - nofralloc -#include "asm/d/event/d_event/afterFlagProc__14dEvt_control_cFP12dEvt_order_c.s" +void dEvt_control_c::afterFlagProc(dEvt_order_c* p_order) { + if (p_order->mFlag & 2) { + dComIfGp_getEventManager().issueStaff("ALL"); + } } -#pragma pop /* 800419A8-80041A20 03C2E8 0078+00 4/4 0/0 0/0 .text * commonCheck__14dEvt_control_cFP12dEvt_order_cUsUs */ +#ifdef NONMATCHING +int dEvt_control_c::commonCheck(dEvt_order_c* p_order, u16 param_1, u16 param_2) { + fopAc_ac_c* actor1 = p_order->mActor1; + fopAc_ac_c* actor2 = p_order->mActor2; + + if ((actor1 != NULL && actor1->mEvtInfo.chkCondition(param_1) == param_1) && + (actor2 != NULL && actor2->mEvtInfo.chkCondition(param_1) == param_1)) { + actor1->mEvtInfo.setCommand(param_2); + actor2->mEvtInfo.setCommand(param_2); + setParam(p_order); + return 1; + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -265,6 +365,7 @@ asm int dEvt_control_c::commonCheck(dEvt_order_c* param_0, u16 param_1, u16 para #include "asm/d/event/d_event/commonCheck__14dEvt_control_cFP12dEvt_order_cUsUs.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -279,7 +380,7 @@ SECTION_DEAD static char const* const stringBase_80379D98 = "MHINT_TALK"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::talkCheck(dEvt_order_c* param_0) { +asm int dEvt_control_c::talkCheck(dEvt_order_c* param_0) { nofralloc #include "asm/d/event/d_event/talkCheck__14dEvt_control_cFP12dEvt_order_c.s" } @@ -297,7 +398,7 @@ SECTION_DEAD static char const* const stringBase_80379DA3 = "DEFAULT_TALK_XY"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::talkXyCheck(dEvt_order_c* param_0) { +asm int dEvt_control_c::talkXyCheck(dEvt_order_c* param_0) { nofralloc #include "asm/d/event/d_event/talkXyCheck__14dEvt_control_cFP12dEvt_order_c.s" } @@ -308,7 +409,7 @@ asm void dEvt_control_c::talkXyCheck(dEvt_order_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::catchCheck(dEvt_order_c* param_0) { +asm int dEvt_control_c::catchCheck(dEvt_order_c* param_0) { nofralloc #include "asm/d/event/d_event/catchCheck__14dEvt_control_cFP12dEvt_order_c.s" } @@ -329,7 +430,7 @@ asm void dEvt_control_c::talkEnd() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::demoCheck(dEvt_order_c* param_0) { +asm int dEvt_control_c::demoCheck(dEvt_order_c* param_0) { nofralloc #include "asm/d/event/d_event/demoCheck__14dEvt_control_cFP12dEvt_order_c.s" } @@ -345,7 +446,7 @@ asm void dEvt_control_c::demoEnd() { } #pragma pop -s32 dEvt_control_c::potentialCheck(dEvt_order_c* param_0) { +int dEvt_control_c::potentialCheck(dEvt_order_c* param_0) { fopAc_ac_c* actor = param_0->mActor1; s32 ret; s32 tmp = beforeFlagProc(param_0); @@ -367,7 +468,7 @@ s32 dEvt_control_c::potentialCheck(dEvt_order_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::doorCheck(dEvt_order_c* param_0) { +asm int dEvt_control_c::doorCheck(dEvt_order_c* param_0) { nofralloc #include "asm/d/event/d_event/doorCheck__14dEvt_control_cFP12dEvt_order_c.s" } @@ -375,10 +476,10 @@ asm void dEvt_control_c::doorCheck(dEvt_order_c* param_0) { /* 8004212C-800421C0 03CA6C 0094+00 1/1 0/0 0/0 .text itemCheck__14dEvt_control_cFP12dEvt_order_c */ -int dEvt_control_c::itemCheck(dEvt_order_c* param_0) { +int dEvt_control_c::itemCheck(dEvt_order_c* p_order) { const char* event = "DEFAULT_GETITEM"; - if (commonCheck(param_0, 8, 4)) { + if (commonCheck(p_order, 8, 4)) { mMode = 2; mSpecifiedEvent = dComIfGp_getEventManager().getEventIdx(event, -1, -1); dComIfGp_getEventManager().order(mSpecifiedEvent); @@ -389,6 +490,7 @@ int dEvt_control_c::itemCheck(dEvt_order_c* param_0) { } /* 800421C0-80042254 03CB00 0094+00 1/1 0/0 0/0 .text endProc__14dEvt_control_cFv */ +// missing extra branch #ifdef NONMATCHING int dEvt_control_c::endProc() { switch (mMode) { @@ -406,7 +508,7 @@ int dEvt_control_c::endProc() { mStageEventDt = NULL; field_0xec = 255; field_0xed = 0; - field_0xe0 = -1; + field_0xe0 = 255; mPreItemNo = 255; dComIfGp_getEventManager().setStartDemo(-2); return 1; @@ -423,69 +525,131 @@ asm int dEvt_control_c::endProc() { #endif /* 80042254-800422C0 03CB94 006C+00 1/1 0/0 0/0 .text change__14dEvt_control_cFv */ +// reg swap +#ifdef NONMATCHING +int dEvt_control_c::change() { + if (mNum != 0) { + s8 var_r7 = field_0xe3; + + do { + dEvt_order_c* order = &mOrder[var_r7]; + + if (order->mFlag & 0xE00 && order->mActor1 == mChangeOK) { + field_0xe3 = var_r7; + mNum = 1; + order->mNextOrderIdx = -1; + return var_r7; + } + + var_r7 = order->mNextOrderIdx; + } while (var_r7 >= 0); + } + + return -1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::change() { +asm int dEvt_control_c::change() { nofralloc #include "asm/d/event/d_event/change__14dEvt_control_cFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 803A7F78-803A7FB0 -00001 0038+00 1/1 0/0 0/0 .data @4719 */ -SECTION_DATA static void* lit_4719[14] = { - (void*)(((char*)entry__14dEvt_control_cFv) + 0x70), - (void*)(((char*)entry__14dEvt_control_cFv) + 0xB8), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x94), - (void*)(((char*)entry__14dEvt_control_cFv) + 0xDC), - (void*)(((char*)entry__14dEvt_control_cFv) + 0xF4), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x118), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x13C), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x13C), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x184), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x184), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x160), - (void*)(((char*)entry__14dEvt_control_cFv) + 0xB8), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x184), - (void*)(((char*)entry__14dEvt_control_cFv) + 0x184), -}; +#endif /* 800422C0-80042468 03CC00 01A8+00 2/1 0/0 0/0 .text entry__14dEvt_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::entry() { - nofralloc -#include "asm/d/event/d_event/entry__14dEvt_control_cFv.s" +int dEvt_control_c::entry() { + if (mNum != 0) { + s8 orderIdx = field_0xe3; + mNum = 0; + + do { + dEvt_order_c* order = &mOrder[orderIdx]; + orderIdx = order->mNextOrderIdx; + + switch (order->mEventType) { + case 0: + if (dComIfGs_getLife() != 0 && talkCheck(order) != 0) { + return 1; + } + break; + case 2: + if (dComIfGs_getLife() != 0 && demoCheck(order) != 0) { + return 1; + } + break; + case 1: + case 11: + if (dComIfGs_getLife() != 0 && doorCheck(order) != 0) { + return 1; + } + break; + case 3: + mMode = 3; + setParam(order); + return 1; + case 4: + if (dComIfGs_getLife() != 0 && potentialCheck(order) != 0) { + return 1; + } + break; + case 5: + if (dComIfGs_getLife() != 0 && itemCheck(order) != 0) { + return 1; + } + break; + case 6: + case 7: + if (dComIfGs_getLife() != 0 && talkXyCheck(order) != 0) { + return 1; + } + break; + case 10: + if (dComIfGs_getLife() != 0 && catchCheck(order) != 0) { + return 1; + } + break; + case 13: + break; + } + } while (orderIdx >= 0); + } + + return 0; } -#pragma pop /* 80042468-80042518 03CDA8 00B0+00 1/1 8/8 388/388 .text reset__14dEvt_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::reset() { - nofralloc -#include "asm/d/event/d_event/reset__14dEvt_control_cFv.s" +void dEvt_control_c::reset() { + if (field_0xec != 0xFF) { + void* pt1 = getPt1(); + s16 eventIdx = dComIfGp_getEventManager().getEventIdx(NULL, field_0xec, -1); + void* pt2 = getPt2(); + + order(2, 3, 0x201, mHindFlag, pt1, pt2, eventIdx, field_0xec); + mChangeOK = pt1; + } + + onEventFlag(8); } -#pragma pop /* 80042518-800425B4 03CE58 009C+00 3/3 3/3 46/46 .text reset__14dEvt_control_cFPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::reset(void* param_0) { - nofralloc -#include "asm/d/event/d_event/reset__14dEvt_control_cFPv.s" +void dEvt_control_c::reset(void* param_0) { + if (field_0xec != 0xFF) { + s16 eventIdx = dComIfGp_getEventManager().getEventIdx((fopAc_ac_c*)param_0, field_0xec); + void* pt2 = getPt2(); + order(2, 3, 0x201, mHindFlag, param_0, pt2, eventIdx, field_0xec); + } + + mChangeOK = param_0; + onEventFlag(8); } -#pragma pop void dEvt_control_c::clearSkipSystem() { mSkipFunc = NULL; field_0x104 = -1; field_0x10c = 0; - field_0x108 = 0; + mSkipTimer = 0; if (!chkFlag2(3)) { mSkipFade = 0; @@ -494,40 +658,99 @@ void dEvt_control_c::clearSkipSystem() { } /* 800425E8-8004261C 03CF28 0034+00 0/0 2/2 5/5 .text dEv_defaultSkipProc__FPvi */ -int dEv_defaultSkipProc(void* param_0, int param_1) { +int dEv_defaultSkipProc(void* param_0, int) { dComIfGp_getEvent().reset(param_0); return 1; } -/* ############################################################################################## */ -/* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379DC3 = "$0"; -#pragma pop - /* 8004261C-80042778 03CF5C 015C+00 1/1 1/1 0/0 .text dEv_defaultSkipZev__FPvi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dEv_defaultSkipZev(void* param_0, int param_1) { - nofralloc -#include "asm/d/event/d_event/dEv_defaultSkipZev__FPvi.s" +int dEv_defaultSkipZev(void* param_0, int param_1) { + dEvt_control_c* evControl = &dComIfGp_getEvent(); + + s16 eventID = -1; + dStage_MapEvent_dt_c* data = evControl->getStageEventDt(); + bool var_r27 = true; + + if (data != NULL) { + if (data->field_0x9 != 0xFF) { + var_r27 = false; + } else if (data->field_0x7 != 0xFF) { + var_r27 = false; + } + } + + switch (param_1) { + case 0: + char eventName[32]; + strcpy(eventName, data->mName); + strcat(eventName, "$0"); + eventID = dComIfGp_getEventManager().getEventIdx(eventName, 0xFF, -1); + break; + case 1: + char* skipName = dComIfGp_getEvent().getSkipEventName(); + eventID = dComIfGp_getEventManager().getEventIdx(skipName, 0xFF, -1); + break; + } + + if (eventID != -1) { + evControl->reset(param_0); + fopAcM_orderOtherEventId((fopAc_ac_c*)param_0, eventID, evControl->getMapToolId(), -1, 3, 0x400); + return 2; + } else if (var_r27) { + evControl->reset(param_0); + return 1; + } else { + evControl->reset(param_0); + return 1; + } } -#pragma pop /* 80042778-800428DC 03D0B8 0164+00 0/0 1/1 0/0 .text dEv_defaultSkipStb__FPvi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dEv_defaultSkipStb(void* param_0, int param_1) { - nofralloc -#include "asm/d/event/d_event/dEv_defaultSkipStb__FPvi.s" +int dEv_defaultSkipStb(void* param_0, int param_1) { + dEvt_control_c* evControl = &dComIfGp_getEvent(); + + s16 eventID = -1; + dStage_MapEvent_dt_c* data = evControl->getStageEventDt(); + bool var_r27 = true; + + if (data != NULL) { + if (data->field_0x9 != 0xFF) { + var_r27 = false; + } else if (data->field_0x7 != 0xFF) { + var_r27 = false; + } + } + + switch (param_1) { + case 0: + char eventName[32]; + strcpy(eventName, data->mName); + strcat(eventName, "$0"); + eventID = dComIfGp_getEventManager().getEventIdx(eventName, 0xFF, -1); + break; + case 1: + char* skipName = dComIfGp_getEvent().getSkipEventName(); + eventID = dComIfGp_getEventManager().getEventIdx(skipName, 0xFF, -1); + break; + } + + if (eventID != -1) { + evControl->reset(param_0); + dDemo_c::end(); + fopAcM_orderOtherEventId((fopAc_ac_c*)param_0, eventID, evControl->getMapToolId(), -1, 3, 0x400); + return 2; + } else if (var_r27) { + evControl->reset(param_0); + dDemo_c::end(); + return 1; + } else { + evControl->reset(param_0); + return 1; + } } -#pragma pop /* 800428DC-8004290C 03D21C 0030+00 0/0 1/1 33/33 .text dEv_noFinishSkipProc__FPvi */ -int dEv_noFinishSkipProc(void* param_0, int param_1) { +int dEv_noFinishSkipProc(void*, int) { dComIfGp_getEvent().offSkipFade(); return 0; } @@ -542,9 +765,9 @@ void dEvt_control_c::setSkipProc(void* param_0, SkipFunc skipFunc, int param_2) field_0x10c = param_2; } -void dEvt_control_c::setSkipZev(void* param_0, char* pName) { +void dEvt_control_c::setSkipZev(void* param_0, char* evtName) { setSkipProc(param_0, dEv_defaultSkipZev, 1); - strcpy(mSkipEventName, pName); + strcpy(mSkipEventName, evtName); } void dEvt_control_c::onSkipFade() { @@ -558,74 +781,248 @@ void dEvt_control_c::offSkipFade() { mSkipFade = 0; } -/* ############################################################################################## */ -/* 80451EC4-80451EC8 0004C4 0004+00 1/1 0/0 0/0 .sdata2 @4904 */ -SECTION_SDATA2 static f32 lit_4904 = 1.0f / 10.0f; - /* 800429D4-80042BBC 03D314 01E8+00 1/1 0/0 0/0 .text skipper__14dEvt_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::skipper() { - nofralloc -#include "asm/d/event/d_event/skipper__14dEvt_control_cFv.s" +bool dEvt_control_c::skipper() { + bool startSkip = false; + bool canSkip = false; + + offFlag2(8); + if (mEventStatus == 1) { + if (mSkipFunc != NULL) { + canSkip = true; + } + + if (mDoCPd_c::getTrigStart(PAD_1)) { + if (mSkipTimer > 0) { + mSkipTimer = -1; + + if (canSkip && mSkipFade) { + mDoGph_gInf_c::fadeOut(0.1f); + } + } else if (mSkipTimer == 0) { + mSkipTimer = 1; + } + } + + if (mSkipTimer > 0) { + if (canSkip) { + dComIfGp_setSButtonStatusForce(0x43, 1); + } else { + dComIfGp_setSButtonStatusForce(0x4D, 1); + } + + int curTimer = mSkipTimer; + mSkipTimer++; + if (curTimer > 45) { + mSkipTimer = 0; + } + } else if (mSkipTimer != 0) { + if (canSkip && mSkipFade) { + int curTimer = mSkipTimer; + mSkipTimer--; + + if (curTimer < -20) { + startSkip = true; + mSkipTimer = 0; + } + } else { + if (canSkip) { + startSkip = true; + } + mSkipTimer = 0; + } + } + + if (startSkip) { + dMsgObject_onKillMessageFlag(); + + void* ptr = convPId(field_0x104); + if (ptr == NULL) { + ptr = dComIfGp_getPlayer(0); + } + + int skipRet = mSkipFunc(ptr, field_0x10c); + onFlag2(8); + + if (skipRet != 0) { + mSkipFunc = NULL; + + if (skipRet == 2) { + onFlag2(1); + } else { + onFlag2(2); + } + } + } + } + + return startSkip; } -#pragma pop /* ############################################################################################## */ /* 80451EC8-80451ECC 0004C8 0004+00 1/1 0/0 0/0 .sdata2 @5013 */ SECTION_SDATA2 static f32 lit_5013 = -1.0f / 20.0f; /* 80042BBC-80042FA8 03D4FC 03EC+00 0/0 1/1 0/0 .text Step__14dEvt_control_cFv */ +// small regalloc in checkFishingCastMode +#ifdef NONMATCHING +int dEvt_control_c::Step() { + dEvent_manager_c* evtMng = &dComIfGp_getEventManager(); + + field_0xe7 = 0; + field_0xe8 = mNum; + skipper(); + + if (chkEventFlag(8)) { + if (mEventStatus == 1) { + mEventStatus = 5; + + if (dMsgObject_getMsgObjectClass() != NULL) { + dMsgObject_endFlowGroup(); + } + } + + dEvDtEvent_c* eventDt = evtMng->getEventData(mSpecifiedEvent); + if (eventDt != NULL) { + eventDt->forceFinish(); + } + offEventFlag(8); + } + + if (mEventStatus != 0) { + evtMng->Sequencer(); + } + offEventFlag(0x300); + + if (mEventStatus == 2) { + evtMng->cancelStaff("ALL"); + evtMng->setCameraPlay(0); + mEventFlag = 0; + onEventFlag(0x200); + mEventStatus = 0; + } else if (mEventStatus == 0) { + mEventFlag = 0; + } + + if (mEventStatus == 5 && !dComIfGp_isEnableNextStage()) { + if (chkFlag2(2) || mSkipTimer < 0) { + if (mSkipFade) { + mDoGph_gInf_c::fadeOut(-0.05f); + } + offFlag2(2); + func_80041488(); + } + + endProc(); + if (!chkFlag2(3)) { + mSkipFade = false; + evtMng->setObjectArchive(NULL); + } + mEventStatus = 2; + } else if (mEventStatus == 5 && (chkFlag2(2) || mSkipTimer < 0)) { + func_80041488(); + } + + if (change() != -1) { + evtMng->cancelStaff("ALL"); + evtMng->setCameraPlay(0); + onEventFlag(0x200); + mEventStatus = 0; + + if (chkFlag2(1)) { + offFlag2(1); + onFlag2(2); + } + } + mCompulsory = 0; + + int roomNo = dComIfGp_roomControl_getStayNo(); + if (mRoomNo != roomNo) { + field_0x129 = 0; + mRoomNo = roomNo; + } + + if (mEventStatus == 0 && entry() != 0) { + if (dMsgObject_getMsgObjectClass() != NULL) { + dMsgObject_setKillMessageFlag(); + } + onEventFlag(0x100); + + dComIfGp_getVibration().StopQuake(31); + daAlink_c* player = daAlink_getAlinkActorClass(); + + if (!dCam_getBody()->Active() && player->checkFishingCastMode()) { + dCam_getBody()->QuickStart(); + } + mEventStatus = 1; + clearSkipSystem(); + } + + mNum = 0; + mChangeOK = NULL; + + if (chkEventFlag(0x200)) { + Z2AudioMgr::getInterface()->mStatusMgr.setDemoName(NULL); + } + + if (mEventStatus != 0) { + evtMng->Experts(); + return 1; + } else { + if (!field_0x129) { + char lastStageName[7]; + strncpy(lastStageName, dComIfGp_getStartStageName(), 7); + lastStageName[7] = 0; + + dComIfGp_setLastPlayStageName(lastStageName); + dComIfGs_onVisitedRoom(mRoomNo); + } + field_0x129 = 1; + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::Step() { +asm int dEvt_control_c::Step() { nofralloc #include "asm/d/event/d_event/Step__14dEvt_control_cFv.s" } #pragma pop +#endif /* 80042FA8-8004316C 03D8E8 01C4+00 0/0 2/2 0/0 .text moveApproval__14dEvt_control_cFPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::moveApproval(void* param_0) { +asm int dEvt_control_c::moveApproval(void* param_0) { nofralloc #include "asm/d/event/d_event/moveApproval__14dEvt_control_cFPv.s" } #pragma pop /* 8004316C-800431E8 03DAAC 007C+00 0/0 28/28 0/0 .text compulsory__14dEvt_control_cFPvPCcUs */ -#ifdef NONMATCHING -bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) { +BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) { bool check = false; - if (field_0xe5 == 0 || field_0xe5 == 2) { + u8 temp_r4 = mEventStatus; + if (temp_r4 == 0 || temp_r4 == 2) { check = true; } if (!check || mCompulsory) { - return false; - } else { - mCompulsory = 1; - return orderOld(3, 2, 0, param_2, param_0, NULL, param_1); + return 0; } + + mCompulsory = 1; + return orderOld(3, 2, 0, param_2, param_0, NULL, param_1); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) { - nofralloc -#include "asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s" -} -#pragma pop -#endif void dEvt_control_c::remove() { mMode = 0; - field_0xe5 = 0; + mEventStatus = 0; mNum = 0; mDebugStb = 0; field_0xe6 = 0; @@ -644,7 +1041,7 @@ void dEvt_control_c::remove() { clearSkipSystem(); mCompulsory = 0; field_0x129 = 0; - field_0x12c = -1; + mRoomNo = -1; } /* 80043278-80043280 03DBB8 0008+00 2/2 2/2 0/0 .text getStageEventDt__14dEvt_control_cFv @@ -654,14 +1051,14 @@ dStage_MapEvent_dt_c* dEvt_control_c::getStageEventDt() { } void dEvt_control_c::sceneChange(int exitId) { - dStage_changeScene4Event__FiScibfUlsi(exitId, field_0x12c, -1, field_0x129, 0.0f, 0, 0, -1); + dStage_changeScene4Event(exitId, mRoomNo, -1, field_0x129, 0.0f, 0, 0, -1); } -u32 dEvt_control_c::getPId(void* param_0) { - if (param_0 == NULL) { - return 0xffffffff; +u32 dEvt_control_c::getPId(void* actor) { + if (actor == NULL) { + return 0xFFFFFFFF; } else { - return fopAcM_GetID(param_0); + return fopAcM_GetID(actor); } } @@ -702,11 +1099,11 @@ dEvt_info_c::dEvt_info_c() { } /* 80043428-80043480 03DD68 0058+00 0/0 0/0 4/4 .text setEventName__11dEvt_info_cFPc */ -void dEvt_info_c::setEventName(char* param_0) { - if (param_0 == NULL) { +void dEvt_info_c::setEventName(char* name) { + if (name == NULL) { mEventId = -1; } else { - mEventId = dComIfGp_getEventManager().getEventIdx(param_0, -1, -1); + mEventId = dComIfGp_getEventManager().getEventIdx(name, -1, -1); } } @@ -729,50 +1126,71 @@ void dEvt_info_c::beforeProc() { } /* 800434D8-80043500 03DE18 0028+00 0/0 4/4 1/1 .text searchMapEventData__14dEvt_control_cFUc */ -dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 param_0) { - return searchMapEventData(param_0, (s32)struct_80450D64); +dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 mapToolID) { + return searchMapEventData(mapToolID, dComIfGp_roomControl_getStayNo()); } /* 80043500-8004360C 03DE40 010C+00 3/3 7/7 5/5 .text searchMapEventData__14dEvt_control_cFUcl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 param_0, s32 param_1) { - nofralloc -#include "asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUcl.s" +dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 mapToolID, s32 roomNo) { + if (mapToolID == 0xFF) { + return NULL; + } + + dStage_roomStatus_c* room = dComIfGp_roomControl_getStatusRoomDt(roomNo); + if (room != NULL) { + dStage_MapEventInfo_c* roomDt = room->mRoomDt.getMapEventInfo(); + + if (roomDt != NULL) { + for (int i = 0; i < roomDt->mCount; i++) { + if (mapToolID == roomDt->mData[i].field_0x4) { + return &roomDt->mData[i]; + } + } + } + } + + dStage_MapEventInfo_c* stageDt = dComIfGp_getStage()->getMapEventInfo(); + if (stageDt != NULL) { + for (int i = 0; i < stageDt->mCount; i++) { + if (mapToolID == stageDt->mData[i].field_0x4) { + return &stageDt->mData[i]; + } + } + } + + return NULL; } -#pragma pop s16 dEvt_control_c::runningEventID(s16 param_0) { return param_0 == field_0xe0 ? mSpecifiedEvent : param_0; } -void dEvt_control_c::setPt1(void* param_0) { - mPt1 = getPId(param_0); +void dEvt_control_c::setPt1(void* ptr) { + mPt1 = getPId(ptr); } -void dEvt_control_c::setPt2(void* param_0) { - mPt2 = getPId(param_0); +void dEvt_control_c::setPt2(void* ptr) { + mPt2 = getPId(ptr); } -void dEvt_control_c::setPtT(void* param_0) { - mPtT = getPId(param_0); +void dEvt_control_c::setPtT(void* ptr) { + mPtT = getPId(ptr); } -void dEvt_control_c::setPtI(void* param_0) { - mPtI = getPId(param_0); +void dEvt_control_c::setPtI(void* ptr) { + mPtI = getPId(ptr); } -void dEvt_control_c::setPtI_Id(unsigned int param_0) { - mPtI = param_0; +void dEvt_control_c::setPtI_Id(unsigned int id) { + mPtI = id; } -void dEvt_control_c::setPtD(void* param_0) { - mPtd = getPId(param_0); +void dEvt_control_c::setPtD(void* ptr) { + mPtd = getPId(ptr); } -void dEvt_control_c::setGtItm(u8 param_0) { - mGtItm = param_0; +void dEvt_control_c::setGtItm(u8 itemNo) { + mGtItm = itemNo; } /* ############################################################################################## */ diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp index 8a8420f48f..e49ce3ee0b 100644 --- a/src/d/event/d_event_manager.cpp +++ b/src/d/event/d_event_manager.cpp @@ -157,10 +157,11 @@ void dEvent_exception_c::init() { /* 800463F0-80046480 040D30 0090+00 0/0 2/2 0/0 .text setStartDemo__18dEvent_exception_cFi */ s32 dEvent_exception_c::setStartDemo(int index) { - int tmp = dComIfGp_roomControl_getStayNo(); - dStage_MapEvent_dt_c* eventData = dEvt_control_c::searchMapEventData(index, tmp); + int roomNo = dComIfGp_roomControl_getStayNo(); + dStage_MapEvent_dt_c* eventData = dEvt_control_c::searchMapEventData(index, roomNo); + if (eventData != NULL && eventData->field_0x1B != 0xFF && - dComIfGs_isSwitch(eventData->field_0x1B, tmp)) { + dComIfGs_isSwitch(eventData->field_0x1B, roomNo)) { return 0xFF; } else if (mEventInfoIdx != index) { mEventInfoIdx = index; @@ -170,19 +171,20 @@ s32 dEvent_exception_c::setStartDemo(int index) { /* 80046480-800465E8 040DC0 0168+00 1/1 0/0 0/0 .text getEventName__18dEvent_exception_cFv */ const char* dEvent_exception_c::getEventName() { - /* 803A8270-803A82A8 -00001 0038+00 1/1 0/0 0/0 .data soecial_names$3966 */ static char* soecial_names[14] = { "NORMAL_COMEBACK", "DEFAULT_START", "SHUTTER_START", "SHUTTER_START_STOP", "BS_SHUTTER_START", "BS_SHUTTER_START_B", "KNOB_START", "KNOB_START_B", "FMASTER_START", "FALL_START", "CRAWLOUT_START", "BOSSWARP_START", "PORTALWARP_START", "PORTALWARP_START_B", }; + s32 roomNo = dComIfGp_roomControl_getStayNo(); dStage_roomStatus_c* roomStatus = dComIfGp_roomControl_getStatusRoomDt(roomNo); dStage_MapEventInfo_c* eventInfo = roomStatus->mRoomDt.getMapEventInfo(); if (mEventInfoIdx == -1) { return "(!NO REGIST!)"; } + if (0xC8 < mEventInfoIdx && mEventInfoIdx < 0xD7) { if (mEventInfoIdx == 0xCB) { dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()); @@ -197,9 +199,11 @@ const char* dEvent_exception_c::getEventName() { if (eventInfo == NULL) { return "(!NO INFO!)"; } + if (mEventInfoIdx < 0 || mEventInfoIdx > eventInfo->mCount) { return "(!BAD NUMBER!)"; } + dStage_MapEvent_dt_c* revt = &eventInfo->mData[mEventInfoIdx]; switch (revt->mType) { case 1: @@ -265,11 +269,11 @@ int dEvent_manager_c::create() { } /* 80046800-80046888 041140 0088+00 0/0 8/8 24/24 .text setObjectArchive__16dEvent_manager_cFPc */ -bool dEvent_manager_c::setObjectArchive(char* param_0) { +bool dEvent_manager_c::setObjectArchive(char* arcName) { char* rt = NULL; - if (param_0 != NULL) { - char* res = (char*)dComIfG_getObjectRes(param_0, DataFileName); + if (arcName != NULL) { + char* res = (char*)dComIfG_getObjectRes(arcName, DataFileName); rt = res; mEventList[2].init(res, -1); } else { @@ -333,6 +337,7 @@ int dEvent_manager_c::orderStartDemo() { if (mEventException.mEventInfoIdx == -2) { return -2; } + s16 eventIdx; if (0xC8 < mEventException.mEventInfoIdx && mEventException.mEventInfoIdx < 0xD7) { eventIdx = this->getEventIdx(mEventException.getEventName(), -1, -1); @@ -346,10 +351,12 @@ int dEvent_manager_c::orderStartDemo() { daPy_py_c::checkNowWolf() ? "WOLF_WORLD_CHANGE_OUT" : "WORLD_CHANGE_OUT", 0xFF, -1); success = fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1); } + if (success == FALSE) { eventIdx = this->getEventIdx("DEFAULT_START", 0xFF, -1); fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1); } + return eventIdx; } @@ -394,11 +401,13 @@ void dEvent_manager_c::startProc(dEvDtEvent_c* p_evnt) { fopAcM_OnStatus(ac, 0x8000); } } + if (staff->getType() == dEvDtStaff_c::TYPE_ALL) { issueStaff(staff->getName()); } staff->init(); } + p_evnt->mEventState = 1; mFlags.init(); } @@ -416,6 +425,7 @@ void dEvent_manager_c::endProc(s16 param_0, int param_1) { if (param_1 != 0) { this->closeProc(event); } + if (event->mEventState == 2) { char* param = "ALL"; fopAcM_Search((fopAcIt_JudgeFunc)allOffObjectCallBack, (void*)param); @@ -447,6 +457,7 @@ void dEvent_manager_c::Sequencer() { name = mapEvent->mName; break; } + if (dStage_MapEvent_dt_c_getEventSCutSW(mapEvent) != 0 && !evtControl.chkFlag2(2)) { if (dStage_MapEvent_dt_c_getEventSCutType(mapEvent) == 2) { evtControl.onSkipFade(); @@ -475,11 +486,13 @@ void dEvent_manager_c::Sequencer() { } Z2GetAudioMgr()->mStatusMgr.setDemoName(name); } + if (event->finishCheck() != 0) { bool bVar1 = false; if (evtControl.chkFlag2(1)) { bVar1 = true; } + int exit = -1; bool iVar5; if (evtControl.chkFlag2(2)) { @@ -487,6 +500,7 @@ void dEvent_manager_c::Sequencer() { } else { iVar5 = false; } + if (mapEvent != NULL) { int cutType = dStage_MapEvent_dt_c_getEventSCutType(mapEvent); if (iVar5 && cutType != 1) { @@ -495,6 +509,7 @@ void dEvent_manager_c::Sequencer() { ((fopAc_ac_c*)dComIfGp_getPlayer(0))->mAttentionInfo.mPosition); cXyz camCenter = dCam_getBody()->Center(); f32 distance = cXyz((attentionPos - camCenter)).abs(); + if (cutType == 0) { if (distance > 180) { dCam_getBody()->EventRecoverNotime(); @@ -513,6 +528,7 @@ void dEvent_manager_c::Sequencer() { } } } + switch (mapEvent->mType) { case 0: switch (mapEvent->field_0x18) { @@ -523,6 +539,7 @@ void dEvent_manager_c::Sequencer() { mDoAud_seStart(0xD, NULL, 0, 0); break; } + if (!bVar1) { if (iVar5 && mapEvent->field_0x9 != 0xFF) { exit = mapEvent->field_0x9; @@ -557,6 +574,7 @@ void dEvent_manager_c::Sequencer() { break; } } + if (exit == -1) { getBase().advanceCut(event); closeProc(event); @@ -567,6 +585,7 @@ void dEvent_manager_c::Sequencer() { getBase().advanceCut(event); } } + if (field_0x1b8 != 0) { field_0x1b8--; } @@ -631,6 +650,7 @@ s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo) if (roomNo == -1) { roomNo = dComIfGp_roomControl_getStayNo(); } + if (param_1 != 0xFF) { dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_1, roomNo); if (data != NULL) { @@ -645,9 +665,11 @@ s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo) } } } + if (eventName == NULL) { return -1; } + dEvDtBase_c* event; int j; int i; @@ -688,6 +710,7 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 param_1) { * getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc */ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 param_2) { s8 actorRoomNo = pActor->getRoomNo(); + if (param_2 != 0xFF) { dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_2, actorRoomNo); if (data != NULL) { @@ -702,9 +725,11 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 } } } + if (eventName == NULL) { return -1; } + dEvDtBase_c* event; int j; int type; @@ -735,6 +760,7 @@ int dEvent_manager_c::isMapToolCamera(u8 param_0, s32 roomNo) { if (roomNo == -1) { roomNo = dComIfGp_roomControl_getStayNo(); } + dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_0, roomNo); if (data != NULL) { return data->mType == 0; @@ -811,12 +837,14 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i return -1; } else { dEvDtEvent_c* event = this->getEventData(mCurrentEventCompositId); + if (event != NULL && (event->mEventState == 1 || event->mEventState == 2)) { int staffCount = event->getNStaff(); bool hasDp = false; if (strchr(pStaffName, ':') != NULL) { hasDp = true; } + for (i = 0; i < staffCount; i++) { staffNum = event->getStaff(i); dEvDtStaff_c* staff = getBase().getStaffP(staffNum); @@ -832,6 +860,7 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i ptr++; } } + if (strcmp(pStaffName, buf) == 0 && (tagId < 0 || tagId == staff->mTagID)) { s16 num = 0; if (ptr != NULL) { @@ -851,6 +880,7 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i return staffNum; } } + if (strcmp(pStaffName, "Alink") == 0 && strcmp("Link", buf) == 0 && tagId == staff->mTagID) { return staffNum; @@ -907,6 +937,7 @@ int dEvent_manager_c::getMyActIdx(int param_0, char const* const* param_1, int p } else if (mCurrentEventCompositId == -1) { return -1; } + dEvDtStaff_c* staff = getBase().getStaffP(param_0); if (staff) { if (staff->field_0x41 != false && param_3 == 0) { @@ -1041,9 +1072,11 @@ int dEvent_manager_c::getEventPrio(fopAc_ac_c* pActor, s16 eventCompositId) { eventBase.init(data, -1); event = eventBase.mEventP; } + if (event == NULL) { event = getEventData(eventCompositId); } + if (event == NULL) { return 0; } else { @@ -1090,9 +1123,11 @@ const char* dEvent_manager_c::getRunEventName() { if (mCurrentEventCompositId == -1) { return "NO DATA"; } + if (getBase().getHeaderP() == NULL) { return "NO DATA"; } + dEvDtEvent_c* event = getEventData(mCurrentEventCompositId); if (event != NULL && event->mEventState == 1) { return event->getName(); @@ -1109,9 +1144,10 @@ struct FindShtrCbPrms { /* 8004846C-80048520 042DAC 00B4+00 1/1 0/0 0/0 .text findShutterCallBack__FP10fopAc_ac_cPv */ static fopAc_ac_c* findShutterCallBack(fopAc_ac_c* pActor, void* param_1) { FindShtrCbPrms* prms = (FindShtrCbPrms*)param_1; - if (prms->mBsTypeId != fpcAcM_GetProfName(pActor)) { + if (prms->mBsTypeId != fopAcM_GetProfName(pActor)) { return NULL; } + cXyz diff = pActor->mOrig.mPosition - prms->mActor->mOrig.mPosition; if (diff.x < 10 && diff.x > -10 && diff.y < 10 && diff.y > -10 && diff.z < 10 && diff.z > -10) { return pActor; @@ -1127,6 +1163,7 @@ fopAc_ac_c* dEvent_manager_c::specialCast_Shutter(s16 bsTypeId, int param_1) { prms.mActor = (fopAc_ac_c*)dComIfGp_getPlayer(0); fopAc_ac_c* shutterActor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)findShutterCallBack, &prms); + if (shutterActor != NULL && param_1 != 0) { cXyz goal(shutterActor->mOrig.mPosition); s16 angle = prms.mActor->mOrig.mAngle.y + 0x8000; @@ -1145,6 +1182,7 @@ fopAc_ac_c* dEvent_manager_c::specialCast(char const* pName, int param_1) { if (pName == NULL) { return NULL; } + if (!strcmp(pName, "SHUTTER_DOOR")) { shutterActor = specialCast_Shutter(0x226, param_1); if (shutterActor == NULL) { @@ -1163,6 +1201,7 @@ fopAc_ac_c* dEvent_manager_c::specialCast(char const* pName, int param_1) { dComIfGp_getEvent().onEventFlag(0x10); } } + if (shutterActor != NULL) { if (param_1 != 0) { fopAcM_OnStatus(shutterActor, 0x1000); @@ -1204,9 +1243,11 @@ int dEvent_manager_c::checkStartDemo() { if (!dComIfGp_getEvent().runCheck()) { return 0; } + if (mEventException.mEventInfoIdx == -1) { return 0; } + if (mEventException.mEventInfoIdx == -2) { return 0; } diff --git a/src/d/file/d_file_sel_info.cpp b/src/d/file/d_file_sel_info.cpp index a0b69cfe64..8d1a21276d 100644 --- a/src/d/file/d_file_sel_info.cpp +++ b/src/d/file/d_file_sel_info.cpp @@ -228,8 +228,8 @@ inline u16 dComIfGs_getLife() { /* 80192954-80192AA0 18D294 014C+00 0/0 3/3 0/0 .text setSaveData__12dFile_info_cFP10dSv_save_ciUc */ -int dFile_info_c::setSaveData(dSv_save_c* save, int param_1, u8 data_num) { - if (param_1 != 0) { +int dFile_info_c::setSaveData(dSv_save_c* save, int checksumValid, u8 data_num) { + if (checksumValid) { char* player_name = save->getPlayer().getPlayerInfo().getLinkName(); if (*player_name == NULL) { if (field_0x22 == 1 && data_num == dComIfGs_getDataNum()) { diff --git a/src/d/file/d_file_sel_warning.cpp b/src/d/file/d_file_sel_warning.cpp index aae5d71ee6..334ad8eecb 100644 --- a/src/d/file/d_file_sel_warning.cpp +++ b/src/d/file/d_file_sel_warning.cpp @@ -16,71 +16,15 @@ struct dMsgString_c { /* 80249D28 */ ~dMsgString_c(); }; -struct JUtility { - struct TColor {}; -}; - -struct JKRArchive {}; - -struct dFile_warning_c { - /* 80191BAC */ dFile_warning_c(JKRArchive*, u8); - /* 80191C18 */ ~dFile_warning_c(); - /* 80191CF4 */ void screenSet(); - /* 80191F18 */ void _move(); - /* 80191F90 */ void modeWait(); - /* 80191F94 */ void modeMove(); - /* 80191FD4 */ void baseMoveAnm(); - /* 801920B8 */ void openInit(); - /* 8019210C */ void closeInit(); - /* 80192160 */ void init(); - /* 80192190 */ void _draw(); - /* 801921CC */ void drawSelf(); - /* 801921F8 */ void setText(u32); - /* 80192240 */ void setFontColor(JUtility::TColor, JUtility::TColor); -}; - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - struct dDlst_FileWarn_c { /* 80192354 */ void draw(); /* 801923CC */ ~dDlst_FileWarn_c(); }; -struct JKRFileLoader { - /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*); -}; - -struct JKRExpHeap {}; - -struct J2DTextBox { - /* 8019230C */ void setBlackWhite(JUtility::TColor, JUtility::TColor); - /* 8030074C */ void setString(s16, char const*, ...); -}; - -struct J2DAnmTransform {}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 80192414 */ void setAnimation(J2DAnmTransform*); - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); - /* 802F9690 */ void animation(); -}; - struct J2DAnmLoaderDataBase { /* 80308A6C */ void load(void const*); }; -struct CPaneMgr { - /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); -}; - // // Forward References: // @@ -128,7 +72,6 @@ extern "C" void setString__10J2DTextBoxFsPCce(); extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); extern "C" void __ptmf_scall(); extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: @@ -217,7 +160,8 @@ asm dFile_warning_c::dFile_warning_c(JKRArchive* param_0, u8 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dFile_warning_c::~dFile_warning_c() { +// asm dFile_warning_c::~dFile_warning_c() { +extern "C" asm void __dt__15dFile_warning_cFv() { nofralloc #include "asm/d/file/d_file_sel_warning/__dt__15dFile_warning_cFv.s" } diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index 25cf1ff6b8..5898f283b5 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -18,10 +18,6 @@ struct sub_kankyo__class {}; -struct mDoMtx_stack_c { - static u8 now[48]; -}; - struct color_RGB_class {}; // @@ -2628,7 +2624,7 @@ asm void dKy_Sound_set(cXyz param_0, int param_1, unsigned int param_2, int para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dKy_Sound_get() { +asm SND_INFLUENCE* dKy_Sound_get() { nofralloc #include "asm/d/kankyo/d_kankyo/dKy_Sound_get__Fv.s" } diff --git a/src/d/menu/d_menu_fmap.cpp b/src/d/menu/d_menu_fmap.cpp index 5cdec65eac..70b5dd5ca3 100644 --- a/src/d/menu/d_menu_fmap.cpp +++ b/src/d/menu/d_menu_fmap.cpp @@ -418,7 +418,6 @@ extern "C" void getTotalFreeSize__7JKRHeapFv(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void DCStoreRangeNoSync(); extern "C" void __register_global_object(); extern "C" void __destroy_arr(); extern "C" void __ptmf_scall(); diff --git a/src/d/menu/d_menu_save.cpp b/src/d/menu/d_menu_save.cpp index 99d58569f3..f190801985 100644 --- a/src/d/menu/d_menu_save.cpp +++ b/src/d/menu/d_menu_save.cpp @@ -4,105 +4,19 @@ // #include "d/menu/d_menu_save.h" +#include "d/com/d_com_inf_game.h" +#include "d/file/d_file_sel_info.h" +#include "d/file/d_file_sel_warning.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "m_Do/m_Do_MemCard.h" +#include "msg/scrn/d_msg_scrn_explain.h" +#include "d/msg/d_msg_string.h" // // Types: // -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - -struct mDoMemCd_Ctrl_c { - /* 800169B4 */ void load(); - /* 80016AB0 */ void LoadSync(void*, u32, u32); - /* 80016B58 */ void save(void*, u32, u32); - /* 80016CE0 */ void SaveSync(); - /* 80016D74 */ void getStatus(u32); - /* 80016E58 */ void command_format(); - /* 80016F2C */ void FormatSync(); - /* 800170B8 */ void command_attach(); -}; - -struct mDoDvdThd_mountArchive_c { - /* 80015E14 */ void create(char const*, u8, JKRHeap*); -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct dSv_save_c {}; - -struct dSv_player_item_c { - /* 80032FB8 */ void setItem(int, u8); - /* 80033030 */ void getItem(int, bool) const; -}; - -struct dSv_player_get_item_c { - /* 80033EC8 */ void isFirstBit(u8) const; -}; - -struct dSv_info_c { - /* 800350F0 */ void putSave(int); - /* 80035798 */ void memory_to_card(char*, int); - /* 80035BD0 */ void initdata_to_card(char*, int); -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349A4 */ void offEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dMsgString_c { - /* 80249C20 */ dMsgString_c(); - /* 80249D28 */ ~dMsgString_c(); -}; - -struct J2DOrthoGraph {}; - -struct dMsgScrnExplain_c { - /* 8023CC88 */ dMsgScrnExplain_c(STControl*, u8, bool, u8); - /* 8023D7D8 */ void move(); - /* 8023D918 */ void draw(J2DOrthoGraph*); - /* 8023E558 */ void openExplain(u32, u8, u8, u8, bool); -}; - -struct dMs_HIO_c { - /* 801EF654 */ dMs_HIO_c(); - /* 801F6BD4 */ ~dMs_HIO_c(); -}; - -struct dMeter2Info_c { - /* 8021DE18 */ void setMiniGameItem(u8); - /* 8021E0C4 */ void resetMiniGameItem(bool); -}; - -struct dFile_warning_c { - /* 80191BAC */ dFile_warning_c(JKRArchive*, u8); - /* 80191F18 */ void _move(); - /* 801920B8 */ void openInit(); - /* 8019210C */ void closeInit(); - /* 80192160 */ void init(); - /* 80192190 */ void _draw(); -}; - -struct dFile_info_c { - /* 80192434 */ dFile_info_c(JKRArchive*, u8); - /* 80192954 */ void setSaveData(dSv_save_c*, int, u8); - /* 80192D60 */ void _draw(); -}; - -struct JFWDisplay { - static u8 sManager[4]; -}; - struct J2DAnmLoaderDataBase { /* 80308A6C */ void load(void const*); }; @@ -338,15 +252,11 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void printf(); extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__12dMenu_save_c[3 + 3 /* padding */]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern u8 g_mDoMemCd_control[8192]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; extern "C" u8 sManager__10JFWDisplay[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -355,6 +265,15 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // Declarations: // +inline u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { + return param_0->field_0x09 >> 1 & 0x1f; +} + +inline void mDoAud_seStartLevel(u32 sfx_id, const Vec* param_1, u32 param_2, s8 param_3) { + Z2AudioMgr::getInterface()->mSeMgr.seStartLevel(sfx_id, param_1, param_2, param_3, 1.0f, 1.0f, + -1.0f, -1.0f, 0); +} + /* ############################################################################################## */ /* 803BDF78-803BDF84 01B098 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { @@ -549,665 +468,73 @@ SECTION_DATA static u8 l_tagName13[24] = { }; #pragma pop -/* 803BE148-803BE154 -00001 000C+00 0/1 0/0 0/0 .data @4479 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4479[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveQuestion__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE154-803BE160 -00001 000C+00 0/1 0/0 0/0 .data @4480 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4480[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveQuestion2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE160-803BE16C -00001 000C+00 0/1 0/0 0/0 .data @4481 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4481[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveQuestion21__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE16C-803BE178 -00001 000C+00 0/1 0/0 0/0 .data @4482 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4482[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveQuestion3__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE178-803BE184 -00001 000C+00 0/1 0/0 0/0 .data @4483 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4483[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveQuestion4__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE184-803BE190 -00001 000C+00 0/1 0/0 0/0 .data @4484 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4484[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveGuide__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE190-803BE19C -00001 000C+00 0/1 0/0 0/0 .data @4485 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4485[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardCheck__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE19C-803BE1A8 -00001 000C+00 0/1 0/0 0/0 .data @4486 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4486[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backSaveQuestion__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1A8-803BE1B4 -00001 000C+00 0/1 0/0 0/0 .data @4487 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4487[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)backSaveQuestion2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1B4-803BE1C0 -00001 000C+00 0/1 0/0 0/0 .data @4488 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4488[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardErrMsgWaitKey__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1C0-803BE1CC -00001 000C+00 0/1 0/0 0/0 .data @4489 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4489[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)IPLSelectDisp1__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1CC-803BE1D8 -00001 000C+00 0/1 0/0 0/0 .data @4490 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4490[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)IPLSelectDisp2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1D8-803BE1E4 -00001 000C+00 0/1 0/0 0/0 .data @4491 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4491[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardErrGoIPLSel__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1E4-803BE1F0 -00001 000C+00 0/1 0/0 0/0 .data @4492 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4492[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)IPLSelect2Disp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1F0-803BE1FC -00001 000C+00 0/1 0/0 0/0 .data @4493 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4493[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardErrGoIPLSel2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE1FC-803BE208 -00001 000C+00 0/1 0/0 0/0 .data @4494 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4494[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardErrGotoIPL__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE208-803BE214 -00001 000C+00 0/1 0/0 0/0 .data @4495 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4495[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardErrMsgWaitFormatSel__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE214-803BE220 -00001 000C+00 0/1 0/0 0/0 .data @4496 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4496[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cardFormatYesSelDisp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE220-803BE22C -00001 000C+00 0/1 0/0 0/0 .data @4497 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4497[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cardFormatNoSelDisp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE22C-803BE238 -00001 000C+00 0/1 0/0 0/0 .data @4498 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4498[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardErrMsgWaitFormatSel2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE238-803BE244 -00001 000C+00 0/1 0/0 0/0 .data @4499 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4499[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cardFormatYesSel2Disp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE244-803BE250 -00001 000C+00 0/1 0/0 0/0 .data @4500 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4500[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardFormat__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE250-803BE25C -00001 000C+00 0/1 0/0 0/0 .data @4501 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4501[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardFormatWait__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE25C-803BE268 -00001 000C+00 0/1 0/0 0/0 .data @4502 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4502[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)makeGameFileSelDisp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE268-803BE274 -00001 000C+00 0/1 0/0 0/0 .data @4503 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4503[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardMakeGameFileSel__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE274-803BE280 -00001 000C+00 0/1 0/0 0/0 .data @4504 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4504[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)makeGameFileDisp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE280-803BE28C -00001 000C+00 0/1 0/0 0/0 .data @4505 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4505[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardMakeGameFile__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE28C-803BE298 -00001 000C+00 0/1 0/0 0/0 .data @4506 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4506[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardMakeGameFileWait__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE298-803BE2A4 -00001 000C+00 0/1 0/0 0/0 .data @4507 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4507[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardCommandEnd__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2A4-803BE2B0 -00001 000C+00 0/1 0/0 0/0 .data @4508 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4508[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardCommandEnd2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2B0-803BE2BC -00001 000C+00 0/1 0/0 0/0 .data @4509 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4509[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardDataLoadWait__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2BC-803BE2C8 -00001 000C+00 0/1 0/0 0/0 .data @4510 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4510[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardDataSaveWait__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2C8-803BE2D4 -00001 000C+00 0/1 0/0 0/0 .data @4511 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4511[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)memCardDataSaveWait2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2D4-803BE2E0 -00001 000C+00 0/1 0/0 0/0 .data @4512 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4512[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)gameContinueDisp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2E0-803BE2EC -00001 000C+00 0/1 0/0 0/0 .data @4513 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4513[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)gameContinue__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2EC-803BE2F8 -00001 000C+00 0/1 0/0 0/0 .data @4514 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4514[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)gameContinue2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE2F8-803BE304 -00001 000C+00 0/1 0/0 0/0 .data @4515 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4515[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)gameContinue3__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE304-803BE310 -00001 000C+00 0/1 0/0 0/0 .data @4516 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4516[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveEnd__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE310-803BE31C -00001 000C+00 0/1 0/0 0/0 .data @4517 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4517[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)endingNoSave__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE31C-803BE328 -00001 000C+00 0/1 0/0 0/0 .data @4518 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4518[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)endingNoSave2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE328-803BE334 -00001 000C+00 0/1 0/0 0/0 .data @4519 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4519[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)endingDataCheck__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE334-803BE340 -00001 000C+00 0/1 0/0 0/0 .data @4520 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4520[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveWait__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE340-803BE34C -00001 000C+00 0/1 0/0 0/0 .data @4521 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4521[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)messageChange__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE34C-803BE358 -00001 000C+00 0/1 0/0 0/0 .data @4522 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4522[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)retryQuestion0__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE358-803BE364 -00001 000C+00 0/1 0/0 0/0 .data @4523 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4523[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)retryQuestion1__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE364-803BE370 -00001 000C+00 0/1 0/0 0/0 .data @4524 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4524[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)retryQuestion2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE370-803BE37C -00001 000C+00 0/1 0/0 0/0 .data @4525 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4525[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)openSaveSelect__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE37C-803BE388 -00001 000C+00 0/1 0/0 0/0 .data @4526 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4526[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)openSaveSelect2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE388-803BE394 -00001 000C+00 0/1 0/0 0/0 .data @4527 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4527[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)openSaveSelect3__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE394-803BE3A0 -00001 000C+00 0/1 0/0 0/0 .data @4528 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4528[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveSelect__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3A0-803BE3AC -00001 000C+00 0/1 0/0 0/0 .data @4529 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4529[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveSelectMoveAnime__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3AC-803BE3B8 -00001 000C+00 0/1 0/0 0/0 .data @4530 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4530[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)selectDataOpenMove__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3B8-803BE3C4 -00001 000C+00 0/1 0/0 0/0 .data @4531 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4531[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveYesNoSelect__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3C4-803BE3D0 -00001 000C+00 0/1 0/0 0/0 .data @4532 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4532[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)yesNoCursorMoveAnm__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3D0-803BE3DC -00001 000C+00 0/1 0/0 0/0 .data @4533 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4533[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveYesNoCancelMove__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3DC-803BE3E8 -00001 000C+00 0/1 0/0 0/0 .data @4534 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4534[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveMoveDisp__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3E8-803BE3F4 -00001 000C+00 0/1 0/0 0/0 .data @4535 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4535[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)saveMoveDisp2__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE3F4-803BE400 -00001 000C+00 0/1 0/0 0/0 .data @4536 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4536[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)msgWindowInitOpen__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE400-803BE40C -00001 000C+00 0/1 0/0 0/0 .data @4537 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4537[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)msgWindowOpen__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE40C-803BE418 -00001 000C+00 0/1 0/0 0/0 .data @4538 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4538[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)msgWindowClose__12dMenu_save_cFv, -}; -#pragma pop - -/* 803BE418-803BE424 -00001 000C+00 0/1 0/0 0/0 .data @4539 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4539[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)errYesNoCursorMoveAnm__12dMenu_save_cFv, -}; -#pragma pop +/* 8042E84C-8042E860 05B56C 0010+04 21/21 0/0 0/0 .bss g_msHIO */ +static dMs_HIO_c g_msHIO; /* 803BE424-803BE70C 01B544 02E8+00 1/2 0/0 0/0 .data MenuSaveProc */ -SECTION_DATA static u8 MenuSaveProc[744] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +typedef void (dMenu_save_c::*menuProcFunc)(); +SECTION_DATA menuProcFunc MenuSaveProc[62] = { + &dMenu_save_c::saveQuestion, + &dMenu_save_c::saveQuestion2, + &dMenu_save_c::saveQuestion21, + &dMenu_save_c::saveQuestion3, + &dMenu_save_c::saveQuestion4, + &dMenu_save_c::saveGuide, + &dMenu_save_c::memCardCheck, + &dMenu_save_c::backSaveQuestion, + &dMenu_save_c::backSaveQuestion2, + &dMenu_save_c::memCardErrMsgWaitKey, + &dMenu_save_c::IPLSelectDisp1, + &dMenu_save_c::IPLSelectDisp2, + &dMenu_save_c::memCardErrGoIPLSel, + &dMenu_save_c::IPLSelect2Disp, + &dMenu_save_c::memCardErrGoIPLSel2, + &dMenu_save_c::memCardErrGotoIPL, + &dMenu_save_c::memCardErrMsgWaitFormatSel, + &dMenu_save_c::cardFormatYesSelDisp, + &dMenu_save_c::cardFormatNoSelDisp, + &dMenu_save_c::memCardErrMsgWaitFormatSel2, + &dMenu_save_c::cardFormatYesSel2Disp, + &dMenu_save_c::memCardFormat, + &dMenu_save_c::memCardFormatWait, + &dMenu_save_c::makeGameFileSelDisp, + &dMenu_save_c::memCardMakeGameFileSel, + &dMenu_save_c::makeGameFileDisp, + &dMenu_save_c::memCardMakeGameFile, + &dMenu_save_c::memCardMakeGameFileWait, + &dMenu_save_c::memCardCommandEnd, + &dMenu_save_c::memCardCommandEnd2, + &dMenu_save_c::memCardDataLoadWait, + &dMenu_save_c::memCardDataSaveWait, + &dMenu_save_c::memCardDataSaveWait2, + &dMenu_save_c::gameContinueDisp, + &dMenu_save_c::gameContinue, + &dMenu_save_c::gameContinue2, + &dMenu_save_c::gameContinue3, + &dMenu_save_c::saveEnd, + &dMenu_save_c::endingNoSave, + &dMenu_save_c::endingNoSave2, + &dMenu_save_c::endingDataCheck, + &dMenu_save_c::saveWait, + &dMenu_save_c::messageChange, + &dMenu_save_c::retryQuestion0, + &dMenu_save_c::retryQuestion1, + &dMenu_save_c::retryQuestion2, + &dMenu_save_c::openSaveSelect, + &dMenu_save_c::openSaveSelect2, + &dMenu_save_c::openSaveSelect3, + &dMenu_save_c::saveSelect, + &dMenu_save_c::saveSelectMoveAnime, + &dMenu_save_c::selectDataOpenMove, + &dMenu_save_c::saveYesNoSelect, + &dMenu_save_c::yesNoCursorMoveAnm, + &dMenu_save_c::saveYesNoCancelMove, + &dMenu_save_c::saveMoveDisp, + &dMenu_save_c::saveMoveDisp2, + &dMenu_save_c::msgWindowInitOpen, + &dMenu_save_c::msgWindowOpen, + &dMenu_save_c::msgWindowClose, + &dMenu_save_c::errYesNoCursorMoveAnm, }; /* 803BE70C-803BE718 -00001 000C+00 1/1 0/0 0/0 .data @4794 */ @@ -1283,32 +610,67 @@ SECTION_DATA extern void* __vt__23dDlst_MenuSaveExplain_c[4 + 18 /* padding */] NULL, }; -/* 803BE7CC-803BE7D8 01B8EC 000C+00 2/2 0/0 0/0 .data __vt__9dMs_HIO_c */ -SECTION_DATA extern void* __vt__9dMs_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__9dMs_HIO_cFv, -}; - /* 801EF654-801EF6A0 1E9F94 004C+00 1/1 0/0 0/0 .text __ct__9dMs_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMs_HIO_c::dMs_HIO_c() { - nofralloc -#include "asm/d/menu/d_menu_save/__ct__9dMs_HIO_cFv.s" +dMs_HIO_c::dMs_HIO_c() { + mDisplayWaitFrames = 15; + mCardWaitFrames = 90; + mEffectDispFrames = 5; + mCharSwitchFrames = 5; + mSelectIcon = 5; + mSelectFrames = 5; + mFadeOutTimer = 15; + mTitleMsgCheck = false; + field_0xd = 0; + mErrorMsgCheck = false; + field_0xf = 0; } -#pragma pop /* 801EF6A0-801EF7AC 1E9FE0 010C+00 0/0 3/3 0/0 .text __ct__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMenu_save_c::dMenu_save_c() { - nofralloc -#include "asm/d/menu/d_menu_save/__ct__12dMenu_save_cFv.s" +dMenu_save_c::dMenu_save_c() { + mpScrnExplain = NULL; + mWarning = NULL; + mSelIcon = NULL; + + for (int i = 0; i < 3; i++) { + field_0xd4[i] = NULL; + field_0xe0[i] = NULL; + field_0xec[i] = NULL; + field_0xf8[i] = NULL; + field_0x68[i] = NULL; + mFileInfo[i] = NULL; + } + field_0x58 = NULL; + + for (int i = 0; i < 2; i++) { + field_0x84[i] = NULL; + field_0x118[i] = NULL; + field_0x120[i] = NULL; + field_0x128[i] = NULL; + field_0x168[i] = NULL; + field_0xc0[i] = NULL; + field_0x138[i] = NULL; + } + + field_0x40 = NULL; + field_0x44 = NULL; + field_0x48 = NULL; + field_0x140 = NULL; + field_0x148 = NULL; + field_0x150 = NULL; + field_0x158 = NULL; + field_0x160 = NULL; + field_0x4c = NULL; + field_0x194 = NULL; + field_0x198 = NULL; + field_0x1a0 = NULL; + field_0x1a4 = NULL; + mpArchive = NULL; + + field_0x1b0 = 0; + mpMount = NULL; + field_0x21a2 = 0; + field_0x21a1 = 0; } -#pragma pop /* ############################################################################################## */ /* 80397960-80397960 023FC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1317,12 +679,6 @@ asm dMenu_save_c::dMenu_save_c() { SECTION_DEAD static char const* const stringBase_80397960 = "/res/Layout/saveres.arc"; #pragma pop -/* 8042E840-8042E84C 05B560 000C+00 1/1 0/0 0/0 .bss @3785 */ -static u8 lit_3785[12]; - -/* 8042E84C-8042E860 05B56C 0010+04 21/21 0/0 0/0 .bss g_msHIO */ -static u8 g_msHIO[16 + 4 /* padding */]; - /* 80454438-8045443C 002A38 0004+00 1/1 0/0 0/0 .sdata2 @3849 */ SECTION_SDATA2 static f32 lit_3849 = 9.0f / 10.0f; @@ -1330,14 +686,40 @@ SECTION_SDATA2 static f32 lit_3849 = 9.0f / 10.0f; SECTION_SDATA2 static f32 lit_3850 = 0.5f; /* 801EF7AC-801EF904 1EA0EC 0158+00 0/0 3/3 0/0 .text _create__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::_create() { - nofralloc -#include "asm/d/menu/d_menu_save/_create__12dMenu_save_cFv.s" +void dMenu_save_c::_create() { + stick = new STControl(2, 2, 1, 1, lit_3849, lit_3850, 0, 0x2000); + + if (mUseType == 1 || mUseType == 3 || mUseType == 4) { + mpMount = + mDoDvdThd_mountArchive_c::create("/res/Layout/saveres.arc", 0, mDoExt_getJ2dHeap()); + } + + if (mUseType == 2 || mUseType == 3 || mUseType == 4) { + u8 var_r31; + switch (mUseType) { + case 2: + var_r31 = 2; + break; + case 4: + var_r31 = 3; + break; + default: + case 3: + var_r31 = 1; + break; + } + + mpScrnExplain = new dMsgScrnExplain_c(stick, var_r31, false, 0); + field_0x219d = 0; + field_0x2190 = 0; + field_0x2192 = 0; + field_0x2194 = 0; + mMenuSaveExplain.setScrnExplain(mpScrnExplain); + } + + displayInit(); + g_msHIO.field_0x4 = -1; } -#pragma pop /* ############################################################################################## */ /* 80397960-80397960 023FC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1426,46 +808,236 @@ asm void dMenu_save_c::screenSet() { #pragma pop /* 801F0938-801F0958 1EB278 0020+00 0/0 2/2 0/0 .text initialize__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::initialize() { - nofralloc -#include "asm/d/menu/d_menu_save/initialize__12dMenu_save_cFv.s" +void dMenu_save_c::initialize() { + displayInit(); } -#pragma pop /* 801F0958-801F09AC 1EB298 0054+00 2/2 0/0 0/0 .text displayInit__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::displayInit() { - nofralloc -#include "asm/d/menu/d_menu_save/displayInit__12dMenu_save_cFv.s" +void dMenu_save_c::displayInit() { + field_0x1bf = 1; + field_0x1c0 = 0; + field_0x64 = 0; + field_0xd2 = 0; + field_0x9c = 0; + field_0x17a = 0; + field_0x65 = 0; + field_0x9d = 0; + field_0xd3 = 0; + field_0x19c = 0; + field_0x19d = 0; + field_0x1a8 = 0; + field_0x1a9 = 0; + mMenuProc = PROC_SAVE_WAIT; + mSaveStatus = 1; + mEndStatus = 2; } -#pragma pop /* 801F09AC-801F0B10 1EB2EC 0164+00 0/0 3/3 0/0 .text _open__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMenu_save_c::_open() { - nofralloc -#include "asm/d/menu/d_menu_save/_open__12dMenu_save_cFv.s" +bool dMenu_save_c::_open() { + field_0x1bf = 1; + + if (mUseType == 1 || mUseType == 3 || mUseType == 4) { + if (!mpMount->sync()) { + return false; + } + + if (mpArchive == NULL) { + mpArchive = mpMount->getArchive(); + screenSet(); + + if (mUseType == 1) { + field_0x1b0 = 1; + field_0x1bf = 0; + } + + g_mDoMemCd_control.command_attach(); + mpMount->destroy(); + mpMount = NULL; + } + } + + field_0x1b6 = 0; + field_0x2190 = 1; + + switch (mUseType) { + case 1: + mMenuProc = PROC_MEMCARD_CHECK; + break; + case 3: + case 4: + field_0x1b6 = 1; + msgTxtSet(0x3CE, true); // "Do you want to save?" + mMenuProc = PROC_SAVE_QUESTION; + break; + case 2: + mMenuProc = PROC_RETRY_QUESTION0; + break; + } + + mSaveStatus = 2; + + if (dMeter2Info_getMiniGameItemSetFlag() != 0) { + dMeter2Info_resetMiniGameItem(true); + } + + return true; } -#pragma pop /* 801F0B10-801F0B28 1EB450 0018+00 0/0 1/1 0/0 .text _close__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::_close() { - nofralloc -#include "asm/d/menu/d_menu_save/_close__12dMenu_save_cFv.s" +int dMenu_save_c::_close() { + mMenuProc = PROC_SAVE_WAIT; + mSaveStatus = 0; + return 1; } -#pragma pop /* 801F0B28-801F1048 1EB468 0520+00 0/0 4/4 0/0 .text _delete__12dMenu_save_cFv */ +// creates extra data +#ifdef NONMATCHING +void dMenu_save_c::_delete() { + delete stick; + + if (mpScrnExplain != NULL) { + delete mpScrnExplain; + mpScrnExplain = NULL; + } + + if (mMenuSave.mMsgString != NULL) { + delete mMenuSave.mMsgString; + } + + if (mMenuSave.Scr != NULL) { + delete mMenuSave.Scr; + } + + for (int i = 0; i < 3; i++) { + if (field_0xd4[i] != NULL) { + delete field_0xd4[i]; + } + + if (field_0xe0[i] != NULL) { + delete field_0xe0[i]; + } + + if (field_0xec[i] != NULL) { + delete field_0xec[i]; + } + + if (field_0xf8[i] != NULL) { + delete field_0xf8[i]; + } + + if (field_0x68[i] != NULL) { + delete field_0x68[i]; + } + + if (mFileInfo[i] != NULL) { + delete mFileInfo[i]; + } + } + + if (field_0x58 != NULL) { + delete field_0x58; + } + + for (int i = 0; i < 2; i++) { + if (field_0x84[i] != NULL) { + delete field_0x84[i]; + } + + if (field_0x118[i] != NULL) { + delete field_0x118[i]; + } + + if (field_0x120[i] != NULL) { + delete field_0x120[i]; + } + + if (field_0x128[i] != NULL) { + delete field_0x128[i]; + } + + if (field_0x168[i] != NULL) { + delete field_0x168[i]; + } + + if (field_0xc0[i] != NULL) { + delete field_0xc0[i]; + } + + if (field_0x138[i] != NULL) { + delete field_0x138[i]; + } + } + + if (field_0x40 != NULL) { + delete field_0x40; + } + + if (field_0x44 != NULL) { + delete field_0x44; + } + + if (field_0x48 != NULL) { + delete field_0x48; + } + + if (field_0x140 != NULL) { + delete field_0x140; + } + + if (field_0x148 != NULL) { + delete field_0x148; + } + + if (field_0x150 != NULL) { + delete field_0x150; + } + + if (field_0x158 != NULL) { + delete field_0x158; + } + + if (field_0x160 != NULL) { + delete field_0x160; + } + + if (field_0x4c != NULL) { + delete field_0x4c; + } + + if (field_0x194 != NULL) { + delete field_0x194; + } + + if (field_0x198 != NULL) { + delete field_0x198; + } + + if (field_0x1a0 != NULL) { + delete field_0x1a0; + } + + if (field_0x1a4 != NULL) { + delete field_0x1a4; + } + + if (mSelIcon != NULL) { + delete mSelIcon; + } + + if (mWarning != NULL) { + delete mWarning; + } + + mDoExt_removeMesgFont(); + mDoExt_removeSubFont(); + + if (mpArchive != NULL) { + mpArchive->removeResourceAll(); + mpArchive->unmount(); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1474,28 +1046,54 @@ asm void dMenu_save_c::_delete() { #include "asm/d/menu/d_menu_save/_delete__12dMenu_save_cFv.s" } #pragma pop +#endif /* 801F1048-801F1100 1EB988 00B8+00 0/0 4/4 0/0 .text _move__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::_move() { - nofralloc -#include "asm/d/menu/d_menu_save/_move__12dMenu_save_cFv.s" +void dMenu_save_c::_move() { + if (!mDoRst::isReset() || field_0x21a0 != 0) { + memCardWatch(); + if (mMenuProc != PROC_MESSAGE_CHANGE && mpScrnExplain != NULL) { + field_0x219d = mpScrnExplain->getStatus(); + if (mpScrnExplain->getStatus() != 0) { + mpScrnExplain->move(); + } + } + + (this->*MenuSaveProc[mMenuProc])(); + saveSelAnm(); + + if (mWarning != NULL) { + mWarning->_move(); + } + } } -#pragma pop /* 801F1100-801F1148 1EBA40 0048+00 1/1 0/0 0/0 .text saveSelAnm__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::saveSelAnm() { - nofralloc -#include "asm/d/menu/d_menu_save/saveSelAnm__12dMenu_save_cFv.s" +void dMenu_save_c::saveSelAnm() { + if (field_0x1b0 != 0) { + selFileWakuAnm(); + bookIconAnm(); + mMenuSave.Scr->animation(); + } } -#pragma pop /* 801F1148-801F11F4 1EBA88 00AC+00 1/1 0/0 0/0 .text selFileWakuAnm__12dMenu_save_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMenu_save_c::selFileWakuAnm() { + field_0x144 += 2; + if (field_0x144 >= field_0x140->getFrameMax()) { + field_0x144 -= field_0x140->getFrameMax(); + } + field_0x140->setFrame(field_0x144); + + field_0x14c += 2; + if (field_0x14c >= field_0x148->getFrameMax()) { + field_0x14c -= field_0x148->getFrameMax(); + } + field_0x148->setFrame(field_0x14c); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1504,8 +1102,31 @@ asm void dMenu_save_c::selFileWakuAnm() { #include "asm/d/menu/d_menu_save/selFileWakuAnm__12dMenu_save_cFv.s" } #pragma pop +#endif /* 801F11F4-801F12F0 1EBB34 00FC+00 1/1 0/0 0/0 .text bookIconAnm__12dMenu_save_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMenu_save_c::bookIconAnm() { + field_0x154 += 2; + if (field_0x154 >= field_0x150->getFrameMax()) { + field_0x154 -= field_0x150->getFrameMax(); + } + field_0x150->setFrame(field_0x154); + + field_0x15c += 2; + if (field_0x15c >= field_0x158->getFrameMax()) { + field_0x15c -= field_0x158->getFrameMax(); + } + field_0x158->setFrame(field_0x15c); + + field_0x164 += 2; + if (field_0x164 >= field_0x160->getFrameMax()) { + field_0x164 -= field_0x160->getFrameMax(); + } + field_0x160->setFrame(field_0x164); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1514,18 +1135,77 @@ asm void dMenu_save_c::bookIconAnm() { #include "asm/d/menu/d_menu_save/bookIconAnm__12dMenu_save_cFv.s" } #pragma pop +#endif /* 801F12F0-801F1378 1EBC30 0088+00 1/1 0/0 0/0 .text memCardWatch__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::memCardWatch() { - nofralloc -#include "asm/d/menu/d_menu_save/memCardWatch__12dMenu_save_cFv.s" +void dMenu_save_c::memCardWatch() { + if (mUseType == 2) { + return; + } + + if (g_mDoMemCd_control.mProbeStat != 0 && g_mDoMemCd_control.mProbeStat != 1) { + return; + } + + if (mDoRst::isReset()) { + return; + } + + if (field_0x1bf == 0) { + if (mpScrnExplain != NULL) { + u8 status = mpScrnExplain->getStatus(); + if (status != 0 && (status == 3 || status == 4)) { + mpScrnExplain->setForceSelect(); + } + } + mMenuProc = PROC_MEMCARD_CHECK; + } + + g_mDoMemCd_control.mProbeStat = 2; } -#pragma pop /* 801F1378-801F1558 1EBCB8 01E0+00 1/0 0/0 0/0 .text saveQuestion__12dMenu_save_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMenu_save_c::saveQuestion() { + if (YesNoSelect()) { + if (field_0x1b6 == 1) { + field_0x1c0 = 1; + + J2DPane* pane = mMenuSave.Scr->search('Nm_02'); + pane->setAnimation(field_0x40); + + field_0xd2 = 0; + field_0x9c = 0; + field_0x17a = 0; + + strcpy(field_0x170[field_0x178], ""); + strcpy(field_0x170[field_0x178 ^ 1], ""); + field_0x64 = 0; + field_0x50 = 1; + field_0x40->setFrame(field_0x50); + pane->animationTransform(); + pane->setAnimation((J2DAnmTransformKey*)NULL); + field_0x168[0]->getPanePtr()->scale(1.0f, 1.0f); + field_0x168[1]->getPanePtr()->scale(1.0f, 1.0f); + mMenuProc = PROC_SAVE_QUESTION2; + } else { + switch (mUseType) { + case 3: + mEndStatus = 1; + mSaveStatus = 3; + mMenuProc = PROC_SAVE_WAIT; + break; + case 4: + field_0x2190 = 0; + msgTxtSet(0x4E4, true); // To save your progress, press START then choose Save + mMenuProc = PROC_SAVE_GUIDE; + break; + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1534,6 +1214,7 @@ asm void dMenu_save_c::saveQuestion() { #include "asm/d/menu/d_menu_save/saveQuestion__12dMenu_save_cFv.s" } #pragma pop +#endif /* 801F1558-801F1620 1EBE98 00C8+00 1/0 0/0 0/0 .text saveQuestion2__12dMenu_save_cFv */ #pragma push @@ -1586,6 +1267,77 @@ asm void dMenu_save_c::saveGuide() { #pragma pop /* 801F1720-801F191C 1EC060 01FC+00 2/0 0/0 0/0 .text memCardCheck__12dMenu_save_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMenu_save_c::memCardCheck() { + u32 cardState = g_mDoMemCd_control.getStatus(0); + + if (cardState != 14) { + switch (cardState) { + case 0: + field_0x1c0 = 0; + errDispInitSet(0x3AB); // There is no Memory Card in Slot A. + field_0x9e = 0; + field_0x1b4 = 9; + field_0x1b5 = 0x3d; + break; + case 8: + field_0x1c0 = 0; + errDispInitSet(0x3AC); // The Memory Card in Slot A is damaged + field_0x9e = 0; + field_0x1b4 = 9; + field_0x1b5 = 0x3d; + break; + case 9: + field_0x1c0 = 0; + errDispInitSet(0x3AD); // Wrong Device in Slot A. + field_0x9e = 0; + field_0x1b4 = 9; + field_0x1b5 = 0x3d; + break; + case 10: + field_0x1c0 = 0; + errDispInitSet(0x3AE); // The Memory Card in Slot A is not compatible. + field_0x9e = 0; + field_0x1b4 = 9; + field_0x1b5 = 0x3d; + break; + case 6: + case 7: + field_0x1c0 = 0; + errDispInitSet(0x3B0); // The Memory Card in Slot A is corrupted + field_0x9e = 1; + field_0x1b4 = 0x10; + break; + case 11: + case 12: + field_0x1c0 = 0; + errDispInitSet(0x3B4); // There is Insufficient space on the Memory Card in Slot A. + field_0x9e = 0; + field_0x1cc = &iplSelMsgInitSet; + field_0x1b5 = 10; + field_0x1b4 = 9; + break; + case 2: + g_mDoMemCd_control.load(); + mMenuProc = PROC_MEMCARD_DATA_LOAD_WAIT; + break; + case 1: + field_0x1c0 = 0; + errDispInitSet(0x3C4); // There is no save for this game on the Memory Card in Slot A. + field_0x9e = 0; + field_0x1cc = &gameFileMakeSelInitSet; + field_0x1b5 = 0x17; + field_0x1b4 = 9; + break; + case 3: + case 4: + case 5: + break; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1594,16 +1346,21 @@ asm void dMenu_save_c::memCardCheck() { #include "asm/d/menu/d_menu_save/memCardCheck__12dMenu_save_cFv.s" } #pragma pop +#endif /* 801F191C-801F19A8 1EC25C 008C+00 1/0 0/0 0/0 .text memCardErrMsgWaitKey__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::memCardErrMsgWaitKey() { - nofralloc -#include "asm/d/menu/d_menu_save/memCardErrMsgWaitKey__12dMenu_save_cFv.s" +void dMenu_save_c::memCardErrMsgWaitKey() { + if (cAPICPad_ANY_BUTTON(PAD_1) && dMeter2Info_getMsgKeyWaitTimer() == 0) { + if (field_0x1b5 == 0x3D) { + closeSelect(); + } else { + if (field_0x1cc != NULL) { + (this->*field_0x1cc)(); + } + mMenuProc = field_0x1b5; + } + } } -#pragma pop /* 801F19A8-801F19DC 1EC2E8 0034+00 1/1 0/0 0/0 .text backSaveQuestionInitSet__12dMenu_save_cFv */ #pragma push @@ -1663,14 +1420,9 @@ asm void dMenu_save_c::closeSelect2() { /* 801F1C70-801F1C94 1EC5B0 0024+00 1/0 0/0 0/0 .text iplSelMsgInitSet__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::iplSelMsgInitSet() { - nofralloc -#include "asm/d/menu/d_menu_save/iplSelMsgInitSet__12dMenu_save_cFv.s" +void dMenu_save_c::iplSelMsgInitSet() { + errorTxtSet(0x3B5); // Either insert a MemCard with free space or manage card contents } -#pragma pop /* 801F1C94-801F1CEC 1EC5D4 0058+00 1/0 0/0 0/0 .text iplSelInitSet__12dMenu_save_cFv */ #pragma push @@ -1796,14 +1548,17 @@ asm void dMenu_save_c::cardFormatYesSel2Disp() { #pragma pop /* 801F22CC-801F232C 1ECC0C 0060+00 1/0 0/0 0/0 .text memCardFormat__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::memCardFormat() { - nofralloc -#include "asm/d/menu/d_menu_save/memCardFormat__12dMenu_save_cFv.s" +void dMenu_save_c::memCardFormat() { + if (mWaitTimer != 0) { + mWaitTimer--; + } + + mCmdState = g_mDoMemCd_control.FormatSync(); + + if (mCmdState != 0) { + mMenuProc = PROC_MEMCARD_FORMAT_WAIT; + } } -#pragma pop /* 801F232C-801F23A4 1ECC6C 0078+00 1/0 0/0 0/0 .text memCardFormatWait__12dMenu_save_cFv */ @@ -1817,45 +1572,55 @@ asm void dMenu_save_c::memCardFormatWait() { #pragma pop /* 801F23A4-801F23FC 1ECCE4 0058+00 1/0 0/0 0/0 .text gameFileMakeSelInitSet__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::gameFileMakeSelInitSet() { - nofralloc -#include "asm/d/menu/d_menu_save/gameFileMakeSelInitSet__12dMenu_save_cFv.s" +void dMenu_save_c::gameFileMakeSelInitSet() { + errorTxtSet(0x3C1); // Create a save file on the Memory Card in Slot A? + ketteiTxtDispAnmInit(1); + field_0x1b6 = 0; + yesnoMenuMoveAnmInitSet(2999, 3009, 0); } -#pragma pop /* 801F23FC-801F247C 1ECD3C 0080+00 1/0 0/0 0/0 .text makeGameFileSelDisp__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::makeGameFileSelDisp() { - nofralloc -#include "asm/d/menu/d_menu_save/makeGameFileSelDisp__12dMenu_save_cFv.s" +void dMenu_save_c::makeGameFileSelDisp() { + bool txtChangeAnm = errorTxtChangeAnm(); + bool moveAnm = yesnoMenuMoveAnm(); + bool ketteiDispAnm = ketteiTxtDispAnm(); + + if (txtChangeAnm == true && moveAnm == true && ketteiDispAnm == true) { + yesnoCursorShow(); + mMenuProc = PROC_MEMCARD_MAKE_GAME_FILE_SEL; + } } -#pragma pop /* 801F247C-801F2514 1ECDBC 0098+00 1/0 0/0 0/0 .text memCardMakeGameFileSel__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::memCardMakeGameFileSel() { - nofralloc -#include "asm/d/menu/d_menu_save/memCardMakeGameFileSel__12dMenu_save_cFv.s" +void dMenu_save_c::memCardMakeGameFileSel() { + if (errYesNoSelect(1, 0)) { + if (field_0x1b6 != 0) { + field_0x1bf = 1; + errorTxtSet(0x3C5); // Creating a file... + ketteiTxtDispAnmInit(0); + field_0x9e = 0; + yesnoMenuMoveAnmInitSet(3009, 2999, 0); + mMenuProc = PROC_MAKE_GAME_FILE_DISP; + } else { + closeSelect(); + } + } } -#pragma pop /* 801F2514-801F25AC 1ECE54 0098+00 1/0 0/0 0/0 .text makeGameFileDisp__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::makeGameFileDisp() { - nofralloc -#include "asm/d/menu/d_menu_save/makeGameFileDisp__12dMenu_save_cFv.s" +void dMenu_save_c::makeGameFileDisp() { + bool txtChangeAnm = errorTxtChangeAnm(); + bool moveAnm = yesnoMenuMoveAnm(); + bool ketteiDispAnm = ketteiTxtDispAnm(); + + if (txtChangeAnm == true && moveAnm == true && ketteiDispAnm == true) { + mWaitTimer = g_msHIO.mCardWaitFrames; + setInitSaveData(); + dataSave(); + mMenuProc = PROC_MEMCARD_MAKE_GAME_FILE; + } } -#pragma pop /* 801F25AC-801F260C 1ECEEC 0060+00 1/0 0/0 0/0 .text memCardMakeGameFile__12dMenu_save_cFv */ #pragma push @@ -1909,14 +1674,21 @@ asm void dMenu_save_c::memCardDataLoadWait() { #pragma pop /* 801F2840-801F28E4 1ED180 00A4+00 2/2 0/0 0/0 .text dataWrite__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::dataWrite() { - nofralloc -#include "asm/d/menu/d_menu_save/dataWrite__12dMenu_save_cFv.s" +void dMenu_save_c::dataWrite() { + int stageNo = dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()); + + dComIfGs_putSave(stageNo); + dComIfGs_setMemoryToCard(mSaveBuffer, field_0x54); + mDoMemCdRWm_SetCheckSumGameData(mSaveBuffer, field_0x54); + + u8* save = mSaveBuffer; + for (int i = 0; i < 3; i++) { + mDoMemCdRWm_TestCheckSumGameData(save); + save += 0xA94; + } + + dataSave(); } -#pragma pop /* ############################################################################################## */ /* 80397960-80397960 023FC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1926,6 +1698,22 @@ SECTION_DEAD static char const* const stringBase_80397A06 = "save cmdState %d\n" #pragma pop /* 801F28E4-801F298C 1ED224 00A8+00 1/0 0/0 0/0 .text memCardDataSaveWait__12dMenu_save_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMenu_save_c::memCardDataSaveWait() { + mDoAud_seStartLevel(Z2SE_SY_FILE_SAVE_LEVEL, NULL, 0, 0); + + if (mWaitTimer != 0) { + mWaitTimer--; + } + + mCmdState = g_mDoMemCd_control.SaveSync(); + if (mCmdState != 0) { + printf("save cmdState %d\n", mCmdState); + mMenuProc = PROC_MEMCARD_DATA_SAVE_WAIT2; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1934,6 +1722,7 @@ asm void dMenu_save_c::memCardDataSaveWait() { #include "asm/d/menu/d_menu_save/memCardDataSaveWait__12dMenu_save_cFv.s" } #pragma pop +#endif /* 801F298C-801F2B5C 1ED2CC 01D0+00 1/0 0/0 0/0 .text memCardDataSaveWait2__12dMenu_save_cFv */ #pragma push @@ -2086,21 +1875,36 @@ asm void dMenu_save_c::messageChange() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_save_c::YesNoSelect() { +asm int dMenu_save_c::YesNoSelect() { nofralloc #include "asm/d/menu/d_menu_save/YesNoSelect__12dMenu_save_cFv.s" } #pragma pop /* 801F34BC-801F3588 1EDDFC 00CC+00 8/8 0/0 0/0 .text msgTxtSet__12dMenu_save_cFUsb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::msgTxtSet(u16 param_0, bool param_1) { - nofralloc -#include "asm/d/menu/d_menu_save/msgTxtSet__12dMenu_save_cFUsb.s" +void dMenu_save_c::msgTxtSet(u16 msgID, bool param_1) { + if (msgID != 0xFFFF) { + bool check; + + if (mpScrnExplain == NULL) { + check = false; + } else if (field_0x2190 == 1) { + check = mpScrnExplain->openExplain(msgID, 1, field_0x1b6 == 0, 0xFF, param_1); + mpScrnExplain->setKeyWaitTimer(30); + } else { + check = mpScrnExplain->openExplain(msgID, 0, 0, 0xFF, true); + } + + if (!check) { + field_0x219c = param_1; + field_0x2192 = msgID; + field_0x2194 = mMenuProc; + mMenuProc = PROC_MESSAGE_CHANGE; + } + } + + field_0x1b9 = 0; } -#pragma pop /* 801F3588-801F36B4 1EDEC8 012C+00 1/0 0/0 0/0 .text openSaveSelect__12dMenu_save_cFv */ #pragma push @@ -2270,14 +2074,17 @@ asm void dMenu_save_c::saveYesNoCancelMove() { #pragma pop /* 801F485C-801F4928 1EF19C 00CC+00 7/7 0/0 0/0 .text headerTxtSet__12dMenu_save_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::headerTxtSet(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_save/headerTxtSet__12dMenu_save_cFUs.s" +void dMenu_save_c::headerTxtSet(u16 msgID) { + if (msgID == 0xFFFF) { + strcpy(field_0x170[field_0x178 ^ 1], ""); + } else { + mMenuSave.mMsgString->getString(msgID, (J2DTextBox*)field_0x168[field_0x178 ^ 1]->getPanePtr(), NULL, mMenuSave.font[0], NULL, 0); + } + + field_0x168[field_0x178]->alphaAnimeStart(0); + field_0x168[field_0x178 ^ 1]->alphaAnimeStart(0); + field_0x179 = 0; } -#pragma pop /* 801F4928-801F4A10 1EF268 00E8+00 10/10 0/0 0/0 .text headerTxtChangeAnm__12dMenu_save_cFv */ #pragma push @@ -2335,7 +2142,7 @@ asm void dMenu_save_c::msgWindowClose() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_save_c::errYesNoSelect(u8 param_0, u8 param_1) { +asm bool dMenu_save_c::errYesNoSelect(u8 param_0, u8 param_1) { nofralloc #include "asm/d/menu/d_menu_save/errYesNoSelect__12dMenu_save_cFUcUc.s" } @@ -2362,21 +2169,25 @@ asm void dMenu_save_c::errYesNoCursorMoveAnm() { #pragma pop /* 801F50C4-801F5190 1EFA04 00CC+00 9/9 0/0 0/0 .text errorTxtSet__12dMenu_save_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::errorTxtSet(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_save/errorTxtSet__12dMenu_save_cFUs.s" +void dMenu_save_c::errorTxtSet(u16 msgID) { + if (msgID == 0xFFFF) { + strcpy(field_0xc8[field_0xd0 ^ 1], ""); + } else { + J2DTextBox* tbox = (J2DTextBox*)field_0xc0[field_0xd0 ^ 1]->getPanePtr(); + mMenuSave.mMsgString->getString(msgID, tbox, NULL, mMenuSave.font[0], NULL, 0); + } + + field_0xc0[field_0xd0]->alphaAnimeStart(0); + field_0xc0[field_0xd0 ^ 1]->alphaAnimeStart(0); + field_0xd1 = 0; } -#pragma pop /* 801F5190-801F5278 1EFAD0 00E8+00 9/9 0/0 0/0 .text errorTxtChangeAnm__12dMenu_save_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_save_c::errorTxtChangeAnm() { +asm bool dMenu_save_c::errorTxtChangeAnm() { nofralloc #include "asm/d/menu/d_menu_save/errorTxtChangeAnm__12dMenu_save_cFv.s" } @@ -2460,7 +2271,7 @@ asm void dMenu_save_c::yesnoMenuMoveAnmInitSet(int param_0, int param_1, u8 para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_save_c::yesnoMenuMoveAnm() { +asm bool dMenu_save_c::yesnoMenuMoveAnm() { nofralloc #include "asm/d/menu/d_menu_save/yesnoMenuMoveAnm__12dMenu_save_cFv.s" } @@ -2553,7 +2364,7 @@ asm void dMenu_save_c::ketteiTxtDispAnmInit(u8 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_save_c::ketteiTxtDispAnm() { +asm bool dMenu_save_c::ketteiTxtDispAnm() { nofralloc #include "asm/d/menu/d_menu_save/ketteiTxtDispAnm__12dMenu_save_cFv.s" } @@ -2613,55 +2424,84 @@ asm void dMenu_save_c::yesnoWakuAlpahAnm(u8 param_0) { #pragma pop /* 801F67B8-801F67F0 1F10F8 0038+00 2/2 0/0 0/0 .text dataSave__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::dataSave() { - nofralloc -#include "asm/d/menu/d_menu_save/dataSave__12dMenu_save_cFv.s" +void dMenu_save_c::dataSave() { + g_mDoMemCd_control.save(mSaveBuffer, sizeof(mSaveBuffer), 0); } -#pragma pop /* 801F67F0-801F6954 1F1130 0164+00 2/2 0/0 0/0 .text setSaveData__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::setSaveData() { - nofralloc -#include "asm/d/menu/d_menu_save/setSaveData__12dMenu_save_cFv.s" +void dMenu_save_c::setSaveData() { + u8* save = mSaveBuffer; + + for (int i = 0; i < 3; i++) { + BOOL checksumTest = mDoMemCdRWm_TestCheckSumGameData(save); + + int saveStatus = mFileInfo[i]->setSaveData((dSv_save_c*)save, checksumTest, i); + if (saveStatus == -1) { + field_0x1ad[i] = 1; + field_0x1aa[i] = 0; + } else { + field_0x1aa[i] = saveStatus; + field_0x1ad[i] = 0; + + if ((dComIfGs_getNewFile() & 1 || !(dComIfGs_getNewFile() & 0x80)) && + field_0x1aa[i] == 2) { + field_0x1aa[i] = 1; + } + } + + if (field_0x1ad[i] != 0 || field_0x1aa[i] == 1) { + field_0x17c[i]->setAlpha(0); + field_0x188[i]->setAlpha(255); + } else { + field_0x17c[i]->setAlpha(255); + field_0x188[i]->setAlpha(0); + } + + if (field_0x1aa[i] == 2) { + field_0x1aa[i] = 1; + } + + save += 0xA94; + } } -#pragma pop /* 801F6954-801F69B8 1F1294 0064+00 1/1 0/0 0/0 .text setInitSaveData__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::setInitSaveData() { - nofralloc -#include "asm/d/menu/d_menu_save/setInitSaveData__12dMenu_save_cFv.s" +void dMenu_save_c::setInitSaveData() { + for (int i = 0; i < 3; i++) { + dComIfGs_setInitDataToCard(mSaveBuffer, i); + mDoMemCdRWm_SetCheckSumGameData(mSaveBuffer, i); + } } -#pragma pop /* 801F69B8-801F69FC 1F12F8 0044+00 0/0 1/1 0/0 .text _draw__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::_draw() { - nofralloc -#include "asm/d/menu/d_menu_save/_draw__12dMenu_save_cFv.s" +void dMenu_save_c::_draw() { + if (field_0x21a1 == 0 && mpScrnExplain != NULL) { + mpScrnExplain->draw((J2DOrthoGraph*)dComIfGp_getCurrentGrafPort()); + } } -#pragma pop /* 801F69FC-801F6ADC 1F133C 00E0+00 0/0 2/2 0/0 .text _draw2__12dMenu_save_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_save_c::_draw2() { - nofralloc -#include "asm/d/menu/d_menu_save/_draw2__12dMenu_save_cFv.s" +void dMenu_save_c::_draw2() { + if (field_0x21a1 == 0) { + if (mpScrnExplain != NULL) { + dComIfGd_set2DOpa(&mMenuSaveExplain); + } + + if (field_0x1b0 != 0) { + dComIfGd_set2DOpa(&mMenuSave); + + for (int i = 0; i < 3; i++) { + mFileInfo[i]->_draw(); + } + dComIfGd_set2DOpa(mSelIcon); + } + + if (mWarning != NULL) { + mWarning->_draw(); + } + } } -#pragma pop /* 801F6ADC-801F6B0C 1F141C 0030+00 1/0 0/0 0/0 .text draw__23dDlst_MenuSaveExplain_cFv */ @@ -2687,49 +2527,11 @@ extern "C" asm void draw__16dDlst_MenuSave_cFv() { #pragma pop /* 801F6B44-801F6B8C 1F1484 0048+00 1/0 0/0 0/0 .text __dt__16dDlst_MenuSave_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dDlst_MenuSave_c::~dDlst_MenuSave_c() { - nofralloc -#include "asm/d/menu/d_menu_save/__dt__16dDlst_MenuSave_cFv.s" -} -#pragma pop +dDlst_MenuSave_c::~dDlst_MenuSave_c() {} /* 801F6B8C-801F6BD4 1F14CC 0048+00 1/0 0/0 0/0 .text __dt__23dDlst_MenuSaveExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dDlst_MenuSaveExplain_c::~dDlst_MenuSaveExplain_c() { - nofralloc -#include "asm/d/menu/d_menu_save/__dt__23dDlst_MenuSaveExplain_cFv.s" -} -#pragma pop +dDlst_MenuSaveExplain_c::~dDlst_MenuSaveExplain_c() {} /* 801F6BD4-801F6C1C 1F1514 0048+00 2/1 0/0 0/0 .text __dt__9dMs_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMs_HIO_c::~dMs_HIO_c() { - nofralloc -#include "asm/d/menu/d_menu_save/__dt__9dMs_HIO_cFv.s" -} -#pragma pop - -/* 801F6C1C-801F7224 1F155C 0608+00 0/0 1/0 0/0 .text __sinit_d_menu_save_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_menu_save_cpp() { - nofralloc -#include "asm/d/menu/d_menu_save/__sinit_d_menu_save_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x801F6C1C, __sinit_d_menu_save_cpp); -#pragma pop - -/* 80397960-80397960 023FC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +dMs_HIO_c::~dMs_HIO_c() {} diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index af15b9a5d8..286e53a653 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -257,7 +257,6 @@ extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */]; extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" extern void* __vt__10CSTControl[4]; diff --git a/src/d/meter/d_meter2.cpp b/src/d/meter/d_meter2.cpp index 067832a2eb..d85c8d49af 100644 --- a/src/d/meter/d_meter2.cpp +++ b/src/d/meter/d_meter2.cpp @@ -1485,7 +1485,7 @@ SECTION_DATA static leafdraw_method_class l_dMeter2_Method = { }; /* 803BFA68-803BFA90 -00001 0028+00 0/0 0/0 1/0 .data g_profile_METER2 */ -SECTION_DATA extern leaf_process_profile_definition g_profile_METER2 = { +SECTION_DATA extern process_profile_definition g_profile_METER2 = { -3, 12, -3, 0x0316, 0, (process_method_class*)&g_fpcLf_Method, diff --git a/src/d/meter/d_meter2_info.cpp b/src/d/meter/d_meter2_info.cpp index 2cd09a7966..56aee913f3 100644 --- a/src/d/meter/d_meter2_info.cpp +++ b/src/d/meter/d_meter2_info.cpp @@ -9,6 +9,8 @@ #include "d/save/d_save.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "d/a/d_a_npc.h" +#include "d/d_item_data.h" // // Forward References: @@ -111,7 +113,6 @@ extern "C" void __ct__5csXyzFsss(); extern "C" void __dl__FPv(); extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(); extern "C" void readIdxResource__10JKRArchiveFPvUlUl(); -extern "C" void DCStoreRangeNoSync(); extern "C" void __register_global_object(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_19(); @@ -139,127 +140,18 @@ inline s8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { return param_0->field_0x09 >> 1 & 0x1f; } +inline BOOL dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); +} + /* ############################################################################################## */ /* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_80399168 = ""; SECTION_DEAD static char const* const stringBase_80399169 = "zel_00.bmg"; -SECTION_DEAD static char const* const stringBase_80399174 = "D_MN01"; -SECTION_DEAD static char const* const stringBase_8039917B = "D_MN07"; -SECTION_DEAD static char const* const stringBase_80399182 = - "im_font_number_32_32_ganshinkyo_0_02.bti"; -SECTION_DEAD static char const* const stringBase_803991AB = - "im_font_number_32_32_ganshinkyo_1_02.bti"; -SECTION_DEAD static char const* const stringBase_803991D4 = - "im_font_number_32_32_ganshinkyo_2_02.bti"; -SECTION_DEAD static char const* const stringBase_803991FD = - "im_font_number_32_32_ganshinkyo_3_02.bti"; -SECTION_DEAD static char const* const stringBase_80399226 = - "im_font_number_32_32_ganshinkyo_4_03.bti"; -SECTION_DEAD static char const* const stringBase_8039924F = - "im_font_number_32_32_ganshinkyo_5_02.bti"; -SECTION_DEAD static char const* const stringBase_80399278 = - "im_font_number_32_32_ganshinkyo_6_02.bti"; -SECTION_DEAD static char const* const stringBase_803992A1 = - "im_font_number_32_32_ganshinkyo_7_02.bti"; -SECTION_DEAD static char const* const stringBase_803992CA = - "im_font_number_32_32_ganshinkyo_8_02.bti"; -SECTION_DEAD static char const* const stringBase_803992F3 = - "im_font_number_32_32_ganshinkyo_9_02.bti"; #pragma pop -/* 803BF760-803BF7F4 -00001 0094+00 1/1 0/0 0/0 .data @4572 */ -SECTION_DATA static void* lit_4572[37] = { - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x64), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x24), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x24), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x24), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x24), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x24), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x24), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x24), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x34), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x3C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x44), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x4C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x2C), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x64), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x54), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x54), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x54), - (void*)(((char*)get2ndTexture__13dMeter2Info_cFUc) + 0x5C), -}; - -/* 803BF7F4-803BF81C -00001 0028+00 1/1 0/0 0/0 .data tex_name$5183 */ -SECTION_DATA static char* tex_name_5183[10] = { - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x1A), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x43), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x6C), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x95), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0xBE), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0xE7), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x110), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x139), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x162), - (char*)(((char*)&d_meter_d_meter2_info__stringBase0) + 0x18B), -}; - -/* 803BF81C-803BFA1C 01C93C 0200+00 3/3 6/6 0/0 .data letter_data__12dMenu_Letter */ -SECTION_DATA dMenu_LetterData dMenu_Letter::letter_data[64] = { - {0x09C5, 0x0A29, 0x0A8D, 0x010B}, {0x09C6, 0x0A2A, 0x0A8E, 0x0237}, - {0x09C7, 0x0A2B, 0x0A8F, 0x0236}, {0x09C8, 0x0A2C, 0x0A90, 0x0037}, - {0x09C9, 0x0A2D, 0x0A91, 0x0039}, {0x09CA, 0x0A2E, 0x0A92, 0x0067}, - {0x09CB, 0x0A2F, 0x0A93, 0x0109}, {0x09CC, 0x0A30, 0x0A94, 0x004D}, - {0x09CD, 0x0A31, 0x0A95, 0x0119}, {0x09CE, 0x0A32, 0x0A96, 0x0108}, - {0x09CF, 0x0A33, 0x0A97, 0x010C}, {0x09D4, 0x0A38, 0x0A9E, 0x010C}, - {0x09D1, 0x0A35, 0x0A9B, 0x00B6}, {0x09D2, 0x0A36, 0x0A9C, 0x0067}, - {0x09D5, 0x0A39, 0x0AA0, 0x031C}, {0x09D6, 0x0A3A, 0x0AA1, 0x010A}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, - {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, -}; - /* 8021BDDC-8021BE20 21671C 0044+00 1/1 0/0 0/0 .text __ct__13dMeter2Info_cFv */ dMeter2Info_c::dMeter2Info_c() { init(); @@ -366,21 +258,21 @@ void dMeter2Info_c::init() { } for (int i = 0; i < 4; i++) { - unk196[i] = 0; - unk200[i] = 0; - unk208[i] = 0; - unk212[i] = 0; + mSaveSelItemIdx[i] = 0; + mSaveMixItemIdx[i] = 0; + mSaveSelItemIdxMG[i] = 0; + mSaveMixItemIdxMG[i] = 0; } - unk204 = 0; - unk205 = 0; - unk206 = 0; - unk207 = 0; - unk216 = 0; - unk217 = 0; - unk218 = 0; - unk219 = 0; - mRentalBombBag = 0xFF; + mSaveBombNum = 0; + mSaveArrowNum = 0; + mSaveBowItem = 0; + mSaveBombItem = 0; + mSaveBombNumMG = 0; + mSaveArrowNumMG = 0; + mSaveBowItemMG = 0; + mSaveBombItemMG = 0; + mRentalBombBagIdx = 0xFF; mMiniGameItemSetFlag = 0; mMiniGameCount = 0; setSaveStageName(""); @@ -413,24 +305,36 @@ asm void dMeter2Info_c::init() { #endif /* 8021C0E0-8021C11C 216A20 003C+00 0/0 1/1 2/2 .text setFloatingMessage__13dMeter2Info_cFUssb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMeter2Info_c::setFloatingMessage(u16 param_0, s16 param_1, bool param_2) { - nofralloc -#include "asm/d/meter/d_meter2_info/setFloatingMessage__13dMeter2Info_cFUssb.s" +int dMeter2Info_c::setFloatingMessage(u16 msgID, s16 msgTimer, bool wakuVisible) { + if (dComIfGp_event_runCheck()) { + return 0; + } + + mFloatingFlowID = 0xFFFF; + mFloatingMessageID = msgID; + mFloatingMessageTimer = msgTimer; + mFloatingMessageWakuVisible = wakuVisible; + return 1; } -#pragma pop /* 8021C11C-8021C1DC 216A5C 00C0+00 0/0 0/0 1/1 .text setFloatingFlow__13dMeter2Info_cFUssb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2Info_c::setFloatingFlow(u16 param_0, s16 param_1, bool param_2) { - nofralloc -#include "asm/d/meter/d_meter2_info/setFloatingFlow__13dMeter2Info_cFUssb.s" +int dMeter2Info_c::setFloatingFlow(u16 flowID, s16 msgTimer, bool wakuVisible) { + if (dComIfGp_event_runCheck()) { + return 0; + } + + mFloatingFlowID = flowID; + + dMsgFlow_c flow; + flow.init(NULL, flowID, 0, NULL); + flow.doFlow(NULL, NULL, 0); + + mFloatingFlowID = 0xFFFF; + mFloatingMessageID = flow.getMsgNo(); + mFloatingMessageTimer = msgTimer; + mFloatingMessageWakuVisible = wakuVisible; + return 1; } -#pragma pop /* 8021C1DC-8021C1F0 216B1C 0014+00 0/0 4/4 0/0 .text isFloatingMessageVisible__13dMeter2Info_cFv */ @@ -468,23 +372,37 @@ void dMeter2Info_c::decMsgKeyWaitTimer() { /* 8021C250-8021C370 216B90 0120+00 0/0 16/16 0/0 .text * getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c */ +// missing branch + some regalloc #ifdef NONMATCHING -void dMeter2Info_c::getString(u32 param_0, char* param_1, JMSMesgEntry_c* param_2) { - strcpy(param_1, ""); +void dMeter2Info_c::getString(u32 stringID, char* outStr, JMSMesgEntry_c* p_msgEntry) { + strcpy(outStr, ""); - bmgHeader* res; - if (mMsgResource == NULL) { + u8* msgRes = (u8*)mMsgResource; + if (msgRes == NULL) { JKRArchive* msgDtArc = dComIfGp_getMsgDtArchive(0); - res = (bmgHeader*)JKRArchive::getGlbResource('ROOT', "zel_00.bmg", msgDtArc); - if (res == NULL) { + msgRes = (u8*)JKRArchive::getGlbResource('ROOT', "zel_00.bmg", msgDtArc); + if (msgRes == NULL) { return; } - } else { - for (u16 i = bmgHeader->unk1; i < bmgHeader->entrycount; i++) { - JMSMesgEntry_c* entry = (JMSMesgEntry_c*)res + 0x20 + i; - if (param_0 == entry->mStringId) { - strcpy(param_1, (char*)&res + 0x20 + 0x24 + 8 + 0x14); + } + + u8* inf = msgRes + 0x20; + u32 stringOffset = (*(u32*)(msgRes + 0x24)); + u8* strPtr = inf + stringOffset + 8; + + u16 i = 0; + u16 entryCount = *(u16*)(inf + 8); + + for (; i < entryCount; i++) { + u8* entry = (inf + (i * 0x14)); + + if (stringID == *(u16*)(entry + 0x14)) { + strcpy(outStr, (char*)(strPtr + *(u32*)(entry + 0x10))); + if (p_msgEntry == NULL) { + return; } + memcpy(p_msgEntry, entry + 0x10, 0x14); + return; } } @@ -496,7 +414,7 @@ void dMeter2Info_c::getString(u32 param_0, char* param_1, JMSMesgEntry_c* param_ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeter2Info_c::getString(u32 param_0, char* param_1, JMSMesgEntry_c* param_2) { +asm void dMeter2Info_c::getString(u32 stringID, char* outStr, JMSMesgEntry_c* p_msgEntry) { nofralloc #include "asm/d/meter/d_meter2_info/getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c.s" } @@ -531,20 +449,49 @@ SECTION_SDATA2 static f64 lit_4108 = 4503601774854144.0 /* cast s32 to float */; /* 8021C6A4-8021C7F4 216FE4 0150+00 0/0 1/1 0/0 .text * getStringLength__13dMeter2Info_cFP10J2DTextBoxPc */ +#ifdef NONMATCHING +f32 dMeter2Info_c::getStringLength(J2DTextBox* p_textBox, char* str) { + f32 strWidth = 0.0f; + f32 strLength = strWidth; + + JUTFont* font = p_textBox->getFont(); + f32 charSpace = p_textBox->getCharSpace(); + J2DTextBox::TFontSize fontSize; + p_textBox->getFontSize(fontSize); + + for (; *str != 0; str++) { + if (*str == '\n') { + if (strLength < strWidth) { + strLength = strWidth; + } + strWidth = 0.0f; + } else { + strWidth += charSpace + (fontSize.mSizeX * ((f32)font->getWidth(*str) / (f32)font->getCellWidth())); + } + } + + if (strLength < strWidth) { + strLength = strWidth; + } + + return strLength; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm double dMeter2Info_c::getStringLength(J2DTextBox* param_0, char* param_1) { +asm f32 dMeter2Info_c::getStringLength(J2DTextBox* param_0, char* param_1) { nofralloc #include "asm/d/meter/d_meter2_info/getStringLength__13dMeter2Info_cFP10J2DTextBoxPc.s" } #pragma pop +#endif /* 8021C7F4-8021C7FC 217134 0008+00 0/0 1/0 0/0 .text getFont__10J2DTextBoxCFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DTextBox::getFont() const { +asm JUTFont* J2DTextBox::getFont() const { nofralloc #include "asm/d/meter/d_meter2_info/getFont__10J2DTextBoxCFv.s" } @@ -555,7 +502,7 @@ asm void J2DTextBox::getFont() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter2Info_c* dMeter2Info_c::getStringLength(JUTFont* param_0, f32 param_1, f32 param_2, +asm f32 dMeter2Info_c::getStringLength(JUTFont* param_0, f32 param_1, f32 param_2, char* param_3) { nofralloc #include "asm/d/meter/d_meter2_info/getStringLength__13dMeter2Info_cFP7JUTFontffPc.s" @@ -579,14 +526,24 @@ dMeter2Info_c g_meter2_info; /* 8021C970-8021C9DC 2172B0 006C+00 0/0 0/0 5/5 .text setMeterString__13dMeter2Info_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMeter2Info_c::setMeterString(s32 param_0) { - nofralloc -#include "asm/d/meter/d_meter2_info/setMeterString__13dMeter2Info_cFl.s" +int dMeter2Info_c::setMeterString(s32 meterStr) { + if (mMeterString != 0) { + return 0; + } + + if (meterStr == 0) { + return 0; + } + + if (dMeter2Info_getMeterClass() != NULL && + (dMeter2Info_getMeterClass()->getSubContents() == 0 || + (dMeter2Info_getMeterClass()->getSubContents() == 5 && dMeter2Info_getMeterClass()->getSubContentsStringType() == 0))) { + mMeterString = meterStr; + return 1; + } + + return 0; } -#pragma pop /* 8021C9DC-8021CA04 21731C 0028+00 1/1 3/3 0/0 .text resetWarpStatus__13dMeter2Info_cFv */ @@ -608,14 +565,38 @@ void dMeter2Info_c::warpInProc() { } /* 8021CA70-8021CC00 2173B0 0190+00 0/0 1/1 0/0 .text warpOutProc__13dMeter2Info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2Info_c::warpOutProc() { - nofralloc -#include "asm/d/meter/d_meter2_info/warpOutProc__13dMeter2Info_cFv.s" +void dMeter2Info_c::warpOutProc() { + stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); + s8 saveTbl = dStage_stagInfo_GetSaveTbl(stag_info); + dComIfGs_setLastWarpAcceptStage(saveTbl); + + cXyz warpPos(dComIfGs_getRestartRoomPos()); + csXyz warpAngle(0, dComIfGs_getRestartRoomAngleY(), 0); + + s8 warpRoomNo = dComIfGs_getRestartRoomNo(); + if (!strcmp(dComIfGp_getStartStageName(), "D_MN01")) { + s32 index = -1; + if (warpRoomNo == 0) { + index = 1; + } else if (warpRoomNo == 5) { + index = 2; + } else if (warpRoomNo == 6) { + index = 2; + } else if (warpRoomNo == 9) { + index = 4; + } + + if (index != -1) { + daNpcF_getPlayerInfoFromPlayerList(index, warpRoomNo, warpPos, warpAngle); + } + } else if (!strcmp(dComIfGp_getStartStageName(), "D_MN07") && warpRoomNo == 0) { + daNpcF_getPlayerInfoFromPlayerList(5, warpRoomNo, warpPos, warpAngle); + } + + dComIfGs_setWarpItemData(dComIfGp_getStartStageName(), warpPos, warpAngle.y, warpRoomNo, 0, 1); + dComIfGs_setItem(SLOT_18, DUNGEON_BACK); } -#pragma pop + /* 8021CC00-8021CC0C 217540 000C+00 0/0 1/1 1/1 .text resetMeterString__13dMeter2Info_cFv */ @@ -636,6 +617,94 @@ void dMeter2Info_c::setWarpInfo(const char* i_stageName, const cXyz& i_position, } /* 8021CC80-8021CF08 2175C0 0288+00 2/2 0/0 0/0 .text getItemType__13dMeter2Info_cFUc */ +// probably missing fallthrough cases +#ifdef NONMATCHING +u8 dMeter2Info_c::getItemType(u8 itemNo) { + switch (itemNo) { + case 1: + return 1; + case 2: + return 2; + case 3: + return 3; + case 4: + return 4; + case 5: + case 0xED: + return 5; + case 6: + return 6; + case 7: + return 7; + case 0x60: + return 8; + case 0x61: + case 0x69: + return 9; + case 0x62: + return 10; + case 0x63: + return 11; + case 0x64: + return 12; + case 0x65: + return 13; + case 0x66: + case 0x68: + case 0x9D: + return 14; + case 0x67: + return 15; + case 0x6B: + case 0x6D: + return 0x10; + // case 0x6E: + case 0x6F: + case 0x7D: + return 0x11; + case 0x7F: + return 0x12; + case 0x6A: + return 0x13; + case 0x78: + return 0x14; + case 0x79: + return 0x15; + case 0x7A: + return 0x16; + case 0x7B: + case 0x7E: + return 0x17; + case 0x7C: + return 0x18; + case 0x77: + return 0x19; + case 0x9F: + return 0x1A; + case 0xF2: + return 0x1B; + case 0x6C: + return 0x1C; + case 0x76: + case 0x9E: + return 0x1D; + case 0x70: + case 0x71: + case 0x72: + case 0x74: + return 0x1E; + case 0x73: + case 0x75: + return 0x1F; + case 0x59: + return 33; + case 0x5A: + return 34; + default: + return 0; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -644,20 +713,97 @@ asm u8 dMeter2Info_c::getItemType(u8 param_0) { #include "asm/d/meter/d_meter2_info/getItemType__13dMeter2Info_cFUc.s" } #pragma pop +#endif /* 8021CF08-8021D36C 217848 0464+00 0/0 9/9 0/0 .text * readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei */ +#ifdef NONMATCHING +int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2, void* param_3, + J2DPicture* param_4, void* param_5, J2DPicture* param_6, + void* param_7, J2DPicture* param_8, int param_9) { + u8 itemType = getItemType(itemNo); + int ret = 0; + + if (param_1 != NULL) { + if ((itemNo == KANTERA && dComIfGs_getOil() == 0) || itemNo == KANTERA2) { + dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, 0x23); + } else if (itemNo == COPY_ROD && !daPy_getPlayerActorClass()->checkCopyRodTopUse() && param_9 == -1) { + dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, 0x57); + } else if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) && param_5 == NULL) { + dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, get2ndTexture(itemType)); + } else if (param_9 >= 0) { + dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, param_9); + } else { + dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, dItem_data::getTexture(itemNo)); + } + + DCStoreRangeNoSync(param_1, 0xC00); + if (param_2 != NULL) { + if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) && param_5 == NULL) { + set2ndColor(itemType, param_2); + } else { + set1stColor(itemType, param_2); + } + param_2->changeTexture((ResTIMG*)param_1, 0); + } + + ret = 1; + if (param_3 != NULL && get2ndTexture(itemType) > 0) { + if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) && param_5 == NULL) { + dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00, get3rdTexture(itemType)); + DCStoreRangeNoSync(param_3, 0xC00); + if (param_4 != NULL) { + set3rdColor(itemType, param_4); + param_4->changeTexture((ResTIMG*)param_3, 0); + } + ret = 2; + } else { + dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00, get2ndTexture(itemType)); + DCStoreRangeNoSync(param_3, 0xC00); + if (param_4 != NULL) { + set2ndColor(itemType, param_4); + param_4->changeTexture((ResTIMG*)param_3, 0); + } + ret = 2; + + if (param_5 != NULL && get3rdTexture(itemType) > 0) { + dComIfGp_getItemIconArchive()->readIdxResource(param_5, 0xC00, get3rdTexture(itemType)); + DCStoreRangeNoSync(param_5, 0xC00); + if (param_6 != NULL) { + set3rdColor(itemType, param_6); + param_6->changeTexture((ResTIMG*)param_5, 0); + } + ret = 3; + + if (param_7 != NULL && get4thTexture(itemType) > 0) { + dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00, get4thTexture(itemType)); + DCStoreRangeNoSync(param_7, 0xC00); + if (param_8 != NULL) { + set4thColor(itemType, param_8); + param_8->changeTexture((ResTIMG*)param_7, 0); + } + ret = 4; + } + } + } + } + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm u8 dMeter2Info_c::readItemTexture(u8 param_0, void* param_1, J2DPicture* param_2, void* param_3, +asm int dMeter2Info_c::readItemTexture(u8 param_0, void* param_1, J2DPicture* param_2, void* param_3, J2DPicture* param_4, void* param_5, J2DPicture* param_6, void* param_7, J2DPicture* param_8, int param_9) { nofralloc #include "asm/d/meter/d_meter2_info/func_8021CF08.s" } #pragma pop +#endif /* 8021D36C-8021D44C 217CAC 00E0+00 0/0 2/2 0/0 .text * setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture */ @@ -673,10 +819,8 @@ asm void dMeter2Info_c::setItemColor(u8 param_0, J2DPicture* param_1, J2DPicture /* 8021D44C-8021D4B8 217D8C 006C+00 2/1 0/0 0/0 .text get2ndTexture__13dMeter2Info_cFUc */ -// switch label weirdness -#ifdef NONMATCHING -s8 dMeter2Info_c::get2ndTexture(u8 param_0) { - switch (param_0) { +s16 dMeter2Info_c::get2ndTexture(u8 itemType) { + switch (itemType) { case 1: case 2: case 3: @@ -720,28 +864,18 @@ s8 dMeter2Info_c::get2ndTexture(u8 param_0) { return 0x69; case 36: return 0x2a; - case 32: default: + case 32: return -1; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s8 dMeter2Info_c::get2ndTexture(u8 param_0) { - nofralloc -#include "asm/d/meter/d_meter2_info/get2ndTexture__13dMeter2Info_cFUc.s" -} -#pragma pop -#endif /* 8021D4B8-8021D4FC 217DF8 0044+00 1/1 0/0 0/0 .text get3rdTexture__13dMeter2Info_cFUc */ // one instruction off #ifdef NONMATCHING -s8 dMeter2Info_c::get3rdTexture(u8 p1) { - switch (p1) { +s16 dMeter2Info_c::get3rdTexture(u8 itemType) { + switch (itemType) { case 1: case 2: case 3: @@ -779,7 +913,7 @@ s8 dMeter2Info_c::get3rdTexture(u8 p1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s8 dMeter2Info_c::get3rdTexture(u8 param_0) { +asm s16 dMeter2Info_c::get3rdTexture(u8 param_0) { nofralloc #include "asm/d/meter/d_meter2_info/get3rdTexture__13dMeter2Info_cFUc.s" } @@ -788,8 +922,8 @@ asm s8 dMeter2Info_c::get3rdTexture(u8 param_0) { /* 8021D4FC-8021D524 217E3C 0028+00 1/1 0/0 0/0 .text get4thTexture__13dMeter2Info_cFUc */ -s8 dMeter2Info_c::get4thTexture(u8 p1) { - switch (p1) { +s16 dMeter2Info_c::get4thTexture(u8 itemType) { + switch (itemType) { case 1: case 2: case 3: @@ -803,16 +937,9 @@ s8 dMeter2Info_c::get4thTexture(u8 p1) { } } -struct TColor { - u8 r; - u8 g; - u8 b; - u8 a; -}; - /* ############################################################################################## */ /* 80398A78-80398B0C 0250D8 0094+00 2/2 0/0 0/0 .rodata black_color$4634 */ -SECTION_RODATA static TColor const black_color_4634[37] = { +SECTION_RODATA static GXColor const black_color_4634[37] = { {0x00, 0x00, 0x00, 0x00}, {0x00, 0x60, 0x00, 0x00}, {0x00, 0x00, 0xC0, 0x00}, {0xA0, 0x60, 0x00, 0x00}, {0xA0, 0x00, 0x00, 0x00}, {0x40, 0x00, 0x60, 0x00}, {0xE0, 0x00, 0x00, 0x00}, {0x40, 0x40, 0x40, 0x00}, {0x6E, 0x6E, 0x64, 0x00}, @@ -832,7 +959,7 @@ COMPILER_STRIP_GATE(0x80398A78, &black_color_4634); /* 80398B0C-80398BA0 02516C 0094+00 0/1 0/0 0/0 .rodata white_color$4635 */ #pragma push #pragma force_active on -SECTION_RODATA static TColor const white_color_4635[37] = { +SECTION_RODATA static GXColor const white_color_4635[37] = { {0xFF, 0xFF, 0xFF, 0xFF}, {0x60, 0xFF, 0x00, 0xFF}, {0x00, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0x80, 0x80, 0xFF}, {0xBE, 0x40, 0xFF, 0xFF}, {0xFF, 0xC0, 0x00, 0xFF}, {0xC0, 0xC0, 0xC0, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, @@ -1076,8 +1203,8 @@ asm void dMeter2Info_c::set4thColor(u8 param_0, J2DPicture* param_1) { #pragma pop /* 8021DCC4-8021DCE0 218604 001C+00 0/0 2/2 0/0 .text setHotSpringTimer__13dMeter2Info_cFUc */ -void dMeter2Info_c::setHotSpringTimer(u8 p1) { - int i_bottleIdx = p1 - 11; +void dMeter2Info_c::setHotSpringTimer(u8 slotNo) { + int i_bottleIdx = slotNo - 11; mHotSpringTimer[i_bottleIdx] = 900; } @@ -1087,7 +1214,7 @@ void dMeter2Info_c::decHotSpringTimer() { if (mHotSpringTimer[i] != 0) { mHotSpringTimer[i]--; if (mHotSpringTimer[i] == 0) { - changeWater(i + 11); + changeWater(i + SLOT_11); } } } @@ -1111,116 +1238,116 @@ void dMeter2Info_c::changeWater(u8 i_slotNo) { /* 8021DE18-8021E0C4 218758 02AC+00 0/0 3/3 3/3 .text setMiniGameItem__13dMeter2Info_cFUc */ -void dMeter2Info_c::setMiniGameItem(u8 param_0) { - bool bvar1 = false; +void dMeter2Info_c::setMiniGameItem(u8 minigameFlag) { + bool mgItemSet = false; - if (mMiniGameItemSetFlag) { - bvar1 = true; + if (mMiniGameItemSetFlag != 0) { + mgItemSet = true; } - if (mRentalBombBag == 0xFF) { - bool bvar2 = false; + if (mRentalBombBagIdx == 0xFF) { + bool setRentBagIdx = false; for (int bagIdx = 0; bagIdx < 3; bagIdx++) { - if (!bvar2 && dComIfGs_getItem((u8)(bagIdx + SLOT_15), true) == 0xFF) { - mRentalBombBag = bagIdx; - bvar2 = true; + if (!setRentBagIdx && dComIfGs_getItem((u8)(bagIdx + SLOT_15), true) == NO_ITEM) { + mRentalBombBagIdx = bagIdx; + setRentBagIdx = true; } } - if (!bvar2) { - mRentalBombBag = 2; + if (!setRentBagIdx) { + mRentalBombBagIdx = 2; } } - mMiniGameItemSetFlag = param_0; + mMiniGameItemSetFlag = minigameFlag; for (int i = 0; i < 2; i++) { - unk200[i] = dComIfGs_getMixItemIndex(i); - unk196[i] = dComIfGs_getSelectItemIndex(i); + mSaveMixItemIdx[i] = dComIfGs_getMixItemIndex(i); + mSaveSelItemIdx[i] = dComIfGs_getSelectItemIndex(i); } - unk204 = dComIfGs_getBombNum(mRentalBombBag); - unk205 = dComIfGs_getArrowNum(); - unk206 = dComIfGs_getItem(SLOT_4, false); - unk207 = dComIfGs_getItem((u8)(mRentalBombBag + SLOT_15), false); + mSaveBombNum = dComIfGs_getBombNum(mRentalBombBagIdx); + mSaveArrowNum = dComIfGs_getArrowNum(); + mSaveBowItem = dComIfGs_getItem(SLOT_4, false); + mSaveBombItem = dComIfGs_getItem((u8)(mRentalBombBagIdx + SLOT_15), false); - if (bvar1) { + if (mgItemSet) { for (int i = 0; i < 2; i++) { - dComIfGs_setMixItemIndex(i, unk212[i]); - dComIfGs_setSelectItemIndex(i, unk208[i]); + dComIfGs_setMixItemIndex(i, mSaveMixItemIdxMG[i]); + dComIfGs_setSelectItemIndex(i, mSaveSelItemIdxMG[i]); } - dComIfGs_setItem(SLOT_4, unk218); - dComIfGp_setItem(SLOT_4, unk218); - dComIfGs_setItem((u8)(mRentalBombBag + SLOT_15), unk219); - dComIfGp_setItem((u8)(mRentalBombBag + SLOT_15), unk219); - dComIfGs_setBombNum(mRentalBombBag, unk216); - dComIfGs_setArrowNum(unk217); + dComIfGs_setItem(SLOT_4, mSaveBowItemMG); + dComIfGp_setItem(SLOT_4, mSaveBowItemMG); + dComIfGs_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItemMG); + dComIfGp_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItemMG); + dComIfGs_setBombNum(mRentalBombBagIdx, mSaveBombNumMG); + dComIfGs_setArrowNum(mSaveArrowNumMG); } - dComIfGs_setItem((u8)(mRentalBombBag + SLOT_15), NORMAL_BOMB); - dComIfGp_setItem((u8)(mRentalBombBag + SLOT_15), NORMAL_BOMB); + dComIfGs_setItem((u8)(mRentalBombBagIdx + SLOT_15), NORMAL_BOMB); + dComIfGp_setItem((u8)(mRentalBombBagIdx + SLOT_15), NORMAL_BOMB); if (mMiniGameItemSetFlag != 3) { dComIfGs_setItem(SLOT_4, BOW); dComIfGp_setItem(SLOT_4, BOW); - dComIfGs_setMixItemIndex(1, 0xFF); - dComIfGs_setSelectItemIndex(1, 0xFF); - dComIfGs_setMixItemIndex(0, 4); - dComIfGs_setSelectItemIndex(0, (u8)(mRentalBombBag + SLOT_15)); + dComIfGs_setMixItemIndex(SELECT_ITEM_Y, 0xFF); + dComIfGs_setSelectItemIndex(SELECT_ITEM_Y, 0xFF); + dComIfGs_setMixItemIndex(SELECT_ITEM_X, SLOT_4); + dComIfGs_setSelectItemIndex(SELECT_ITEM_X, (u8)(mRentalBombBagIdx + SLOT_15)); } - if (!bvar1) { - dComIfGs_setBombNum(mRentalBombBag, 30); + if (!mgItemSet) { + dComIfGs_setBombNum(mRentalBombBagIdx, 30); u8 arrow_max = dComIfGs_getArrowMax(); dComIfGs_setArrowNum(arrow_max); } } /* 8021E0C4-8021E268 218A04 01A4+00 0/0 3/3 4/4 .text resetMiniGameItem__13dMeter2Info_cFb */ -void dMeter2Info_c::resetMiniGameItem(bool param_0) { - if (mMiniGameItemSetFlag) { - if (param_0) { +void dMeter2Info_c::resetMiniGameItem(bool saveMGItem) { + if (mMiniGameItemSetFlag != 0) { + if (saveMGItem) { for (int i = 0; i < 2; i++) { - unk212[i] = dComIfGs_getMixItemIndex(i); - unk208[i] = dComIfGs_getSelectItemIndex(i); + mSaveMixItemIdxMG[i] = dComIfGs_getMixItemIndex(i); + mSaveSelItemIdxMG[i] = dComIfGs_getSelectItemIndex(i); } - unk216 = dComIfGs_getBombNum(mRentalBombBag); - unk217 = dComIfGs_getArrowNum(); - unk218 = dComIfGs_getItem(SLOT_4, false); - unk219 = dComIfGs_getItem((u8)(mRentalBombBag + SLOT_15), false); + mSaveBombNumMG = dComIfGs_getBombNum(mRentalBombBagIdx); + mSaveArrowNumMG = dComIfGs_getArrowNum(); + mSaveBowItemMG = dComIfGs_getItem(SLOT_4, false); + mSaveBombItemMG = dComIfGs_getItem((u8)(mRentalBombBagIdx + SLOT_15), false); } for (int i = 0; i < 2; i++) { - dComIfGs_setMixItemIndex(i, unk200[i]); - dComIfGs_setSelectItemIndex(i, unk196[i]); + dComIfGs_setMixItemIndex(i, mSaveMixItemIdx[i]); + dComIfGs_setSelectItemIndex(i, mSaveSelItemIdx[i]); } - dComIfGs_setItem(SLOT_4, unk206); - dComIfGp_setItem(SLOT_4, unk206); + dComIfGs_setItem(SLOT_4, mSaveBowItem); + dComIfGp_setItem(SLOT_4, mSaveBowItem); - dComIfGs_setItem((u8)(mRentalBombBag + SLOT_15), unk207); - dComIfGp_setItem((u8)(mRentalBombBag + SLOT_15), unk207); + dComIfGs_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItem); + dComIfGp_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItem); - dComIfGs_setBombNum(mRentalBombBag, unk204); - dComIfGs_setArrowNum(unk205); + dComIfGs_setBombNum(mRentalBombBagIdx, mSaveBombNum); + dComIfGs_setArrowNum(mSaveArrowNum); - if (!param_0) { + if (!saveMGItem) { mMiniGameItemSetFlag = 0; - mRentalBombBag = 0xFF; + mRentalBombBagIdx = 0xFF; } } } /* 8021E268-8021E290 218BA8 0028+00 0/0 0/0 5/5 .text setMiniGameCount__13dMeter2Info_cFSc */ -void dMeter2Info_c::setMiniGameCount(s8 pCount) { - if (pCount < -99) { - pCount = -99; +void dMeter2Info_c::setMiniGameCount(s8 count) { + if (count < -99) { + count = -99; } - if (pCount > 99) { - pCount = 99; + if (count > 99) { + count = 99; } - mMiniGameCount = pCount; + mMiniGameCount = count; } /* 8021E290-8021E2B4 218BD0 0024+00 1/1 2/2 0/0 .text setSaveStageName__13dMeter2Info_cFPCc */ @@ -1229,32 +1356,37 @@ void dMeter2Info_c::setSaveStageName(const char* i_stageName) { } /* 8021E2B4-8021E2C8 218BF4 0014+00 0/0 0/0 1/1 .text dMeter2Info_getNowLifeGauge__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2Info_getNowLifeGauge() { - nofralloc -#include "asm/d/meter/d_meter2_info/dMeter2Info_getNowLifeGauge__Fv.s" +s16 dMeter2Info_getNowLifeGauge() { + return dMeter2Info_getMeterClass()->getNowLifeGauge(); } -#pragma pop /* 8021E2C8-8021E2DC 218C08 0014+00 0/0 11/11 3/3 .text dMeter2Info_getNumberTextureName__Fi */ -char* dMeter2Info_getNumberTextureName(int pIndex) { - return tex_name_5183[pIndex]; +char* dMeter2Info_getNumberTextureName(int nameIdx) { + static char* tex_name[10] = { + "im_font_number_32_32_ganshinkyo_0_02.bti", + "im_font_number_32_32_ganshinkyo_1_02.bti", + "im_font_number_32_32_ganshinkyo_2_02.bti", + "im_font_number_32_32_ganshinkyo_3_02.bti", + "im_font_number_32_32_ganshinkyo_4_03.bti", + "im_font_number_32_32_ganshinkyo_5_02.bti", + "im_font_number_32_32_ganshinkyo_6_02.bti", + "im_font_number_32_32_ganshinkyo_7_02.bti", + "im_font_number_32_32_ganshinkyo_8_02.bti", + "im_font_number_32_32_ganshinkyo_9_02.bti", + }; + + return tex_name[nameIdx]; } -/* 804510B8-804510BC 0005B8 0004+00 1/1 0/0 0/0 .sbss tex_name$5188 */ -static char* tex_name_5188; - -/* 804510BC-804510C0 0005BC 0004+00 1/1 0/0 0/0 .sbss None */ -static s8 data_804510BC; - char* dMeter2Info_getPlusTextureName() { - if (data_804510BC == 0) { - tex_name_5188 = "im_plus_metal_24x24_00.bti"; - data_804510BC = 1; + static char* tex_name; + static s8 initTexName; + + if (!initTexName) { + tex_name = "im_plus_metal_24x24_00.bti"; + initTexName = true; } - return tex_name_5188; + return tex_name; } /* ############################################################################################## */ @@ -1274,7 +1406,13 @@ asm void dMeter2Info_getPixel(f32 param_0, f32 param_1, f32 param_2, f32 param_3 /* 8021E4B0-8021E530 218DF0 0080+00 0/0 2/2 1/1 .text dMeter2Info_setCloth__FUcb */ void dMeter2Info_setCloth(u8 i_clothId, bool param_1) { - if ((int)i_clothId >= MAGIC_LV1 || (int)i_clothId < WEAR_CASUAL) { + switch (i_clothId) { + case WEAR_CASUAL: + case WEAR_KOKIRI: + case ARMOR: + case WEAR_ZORA: + break; + default: i_clothId = WEAR_CASUAL; param_1 = false; } @@ -1342,25 +1480,48 @@ bool dMeter2Info_isMapOpenCheck() { } /* 8021E688-8021E6E4 218FC8 005C+00 0/0 2/2 0/0 .text dMeter2Info_isItemOpenCheck__Fv */ -#ifdef NONMATCHING bool dMeter2Info_isItemOpenCheck() { - if (!daPy_getPlayerActorClass()->checkCanoeSlider()) { - if (!daPy_getPlayerActorClass()->getSumouMode() && !dMeter2Info_isSub2DStatus(1)) { - return true; - } + if (daPy_getPlayerActorClass()->checkCanoeSlider() || daPy_getPlayerActorClass()->i_getSumouMode() || dMeter2Info_isSub2DStatus(1)) { + return false; } - return false; + return true; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2Info_isItemOpenCheck() { - nofralloc -#include "asm/d/meter/d_meter2_info/dMeter2Info_isItemOpenCheck__Fv.s" -} -#pragma pop -#endif + +/* 803BF81C-803BFA1C 01C93C 0200+00 3/3 6/6 0/0 .data letter_data__12dMenu_Letter */ +SECTION_DATA dMenu_LetterData dMenu_Letter::letter_data[64] = { + {0x09C5, 0x0A29, 0x0A8D, 0x010B}, {0x09C6, 0x0A2A, 0x0A8E, 0x0237}, + {0x09C7, 0x0A2B, 0x0A8F, 0x0236}, {0x09C8, 0x0A2C, 0x0A90, 0x0037}, + {0x09C9, 0x0A2D, 0x0A91, 0x0039}, {0x09CA, 0x0A2E, 0x0A92, 0x0067}, + {0x09CB, 0x0A2F, 0x0A93, 0x0109}, {0x09CC, 0x0A30, 0x0A94, 0x004D}, + {0x09CD, 0x0A31, 0x0A95, 0x0119}, {0x09CE, 0x0A32, 0x0A96, 0x0108}, + {0x09CF, 0x0A33, 0x0A97, 0x010C}, {0x09D4, 0x0A38, 0x0A9E, 0x010C}, + {0x09D1, 0x0A35, 0x0A9B, 0x00B6}, {0x09D2, 0x0A36, 0x0A9C, 0x0067}, + {0x09D5, 0x0A39, 0x0AA0, 0x031C}, {0x09D6, 0x0A3A, 0x0AA1, 0x010A}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, + {0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000}, +}; /* 8021E6E4-8021E754 219024 0070+00 1/1 2/2 0/0 .text dMeter2Info_getRecieveLetterNum__Fv */ diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index 4363fcea84..a70b4d677a 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -4,6 +4,7 @@ // #include "d/msg/d_msg_object.h" +#include "d/msg/d_msg_out_font.h" #include "JSystem/JGadget/binary.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -71,20 +72,6 @@ struct dMsgScrnBase_c { /* 8023C3EC */ void setRubyString(char*); }; -struct COutFont_c { - /* 80225C94 */ COutFont_c(u8); -}; - -struct dMsgObject_HowlHIO_c { - /* 80232AEC */ dMsgObject_HowlHIO_c(); - /* 80238B94 */ ~dMsgObject_HowlHIO_c(); -}; - -struct dMsgObject_HIO_c { - /* 80232D6C */ dMsgObject_HIO_c(); - /* 80238BDC */ ~dMsgObject_HIO_c(); -}; - struct dDemo_c { static u8 m_control[4]; static u8 m_mesgControl[4]; @@ -378,11 +365,11 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; /* ############################################################################################## */ /* 804510C8-804510D0 0005C8 0002+06 5/4 0/0 0/0 .sbss s_groupID */ -static u8 s_groupID[2 + 6 /* padding */]; +static s16 s_groupID; /* 80232A3C-80232A44 -00001 0008+00 0/0 0/0 0/0 .text dMsgObject_getGroupID__Fv */ s16 dMsgObject_getGroupID() { - return (s32) * (s16*)(&s_groupID); + return s_groupID; } /* 80232A44-80232AEC 22D384 00A8+00 1/1 0/0 0/0 .text dMsgObject_searchSSItem__FPvPv */ @@ -733,7 +720,7 @@ asm void dMsgObject_c::getMessageIDAlways(u32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::getMessageGroup(u32 param_0) { +asm s16 dMsgObject_c::getMessageGroup(u32 param_0) { nofralloc #include "asm/d/msg/d_msg_object/getMessageGroup__12dMsgObject_cFUl.s" } @@ -945,59 +932,44 @@ asm void dMsgObject_c::isSend() { } #pragma pop -/* ############################################################################################## */ -/* 80399660-80399660 025CC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803996CF = "/res/Msgus/bmgres%d.arc"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_803996E7 = ""; -#pragma pop - -/* 8043069C-804306B8 05D3BC 0016+06 1/1 0/0 0/0 .bss arcName$6106 */ -static u8 arcName[22 + 6 /* padding */]; +inline dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); +} /* 80236BF8-80236C90 231538 0098+00 1/1 0/0 0/0 .text * readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::readMessageGroupLocal(mDoDvdThd_mountXArchive_c** param_0) { - nofralloc -#include "asm/d/msg/d_msg_object/readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c.s" +void dMsgObject_c::readMessageGroupLocal(mDoDvdThd_mountXArchive_c** p_arcMount) { + static char arcName[22]; + + int msgGroup = dStage_stagInfo_GetMsgGroup(dComIfGp_getStage()->getStagInfo()); + sprintf(arcName, "/res/Msgus/bmgres%d.arc", msgGroup); + + *p_arcMount = mDoDvdThd_mountXArchive_c::create(arcName, 0, JKRArchive::MOUNT_MEM, NULL); + + if (msgGroup == 99) { + msgGroup = 9; + } + + s_groupID = msgGroup; } -#pragma pop /* 80236C90-80236CD4 2315D0 0044+00 1/1 0/0 0/0 .text changeFlowGroupLocal__12dMsgObject_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::changeFlowGroupLocal(s32 param_0) { - nofralloc -#include "asm/d/msg/d_msg_object/changeFlowGroupLocal__12dMsgObject_cFl.s" +void dMsgObject_c::changeFlowGroupLocal(s32 param_0) { + mFlowChk = 1; + changeGroup(param_0 >= 3000 ? (s16)0 : s_groupID); } -#pragma pop /* 80236CD4-80236D00 231614 002C+00 1/1 0/0 0/0 .text demoMessageGroupLocal__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::demoMessageGroupLocal() { - nofralloc -#include "asm/d/msg/d_msg_object/demoMessageGroupLocal__12dMsgObject_cFv.s" +void dMsgObject_c::demoMessageGroupLocal() { + mFlowChk = 0; + changeGroup(0); } -#pragma pop /* 80236D00-80236D0C 231640 000C+00 1/1 0/0 0/0 .text endFlowGroupLocal__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::endFlowGroupLocal() { - nofralloc -#include "asm/d/msg/d_msg_object/endFlowGroupLocal__12dMsgObject_cFv.s" +void dMsgObject_c::endFlowGroupLocal() { + mFlowChk = 0; } -#pragma pop /* 80236D0C-80236DE4 23164C 00D8+00 1/1 0/0 0/0 .text changeGroupLocal__12dMsgObject_cFs */ @@ -1025,35 +997,23 @@ asm void dMsgObject_c::getStringLocal(u32 param_0, J2DTextBox* param_1, J2DTextB /* 802370A8-802370BC 2319E8 0014+00 0/0 1/1 0/0 .text isGetItemMessage__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::isGetItemMessage() { - nofralloc -#include "asm/d/msg/d_msg_object/isGetItemMessage__12dMsgObject_cFv.s" +BOOL dMsgObject_c::isGetItemMessage() { + return mFukiKind == 9; } -#pragma pop /* 802370BC-802370E8 2319FC 002C+00 4/4 2/2 0/0 .text isKanbanMessage__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::isKanbanMessage() { - nofralloc -#include "asm/d/msg/d_msg_object/isKanbanMessage__12dMsgObject_cFv.s" +BOOL dMsgObject_c::isKanbanMessage() { + if (mFukiKind == 2 || mFukiKind == 6 || mFukiKind == 15) { + return true; + } + return false; } -#pragma pop /* 802370E8-802370FC 231A28 0014+00 6/6 3/3 0/0 .text isHowlMessage__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::isHowlMessage() { - nofralloc -#include "asm/d/msg/d_msg_object/isHowlMessage__12dMsgObject_cFv.s" +BOOL dMsgObject_c::isHowlMessage() { + return mFukiKind == 17; } -#pragma pop /* 802370FC-80237138 231A3C 003C+00 3/3 2/2 0/0 .text isMidonaMessage__12dMsgObject_cFv */ @@ -1311,7 +1271,7 @@ asm void dMsgObject_c::resetSelectBomBag() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::getSelectBombBagIDLocal() { +asm u8 dMsgObject_c::getSelectBombBagIDLocal() { nofralloc #include "asm/d/msg/d_msg_object/getSelectBombBagIDLocal__12dMsgObject_cFv.s" } @@ -1321,7 +1281,7 @@ asm void dMsgObject_c::getSelectBombBagIDLocal() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::getSelectBombPriceLocal() { +asm s16 dMsgObject_c::getSelectBombPriceLocal() { nofralloc #include "asm/d/msg/d_msg_object/getSelectBombPriceLocal__12dMsgObject_cFv.s" } @@ -1368,7 +1328,7 @@ void dMsgObject_c::setSelectWordFlagLocal(u8 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::isHowlHearingModeLocal() { +asm bool dMsgObject_c::isHowlHearingModeLocal() { nofralloc #include "asm/d/msg/d_msg_object/isHowlHearingModeLocal__12dMsgObject_cFv.s" } @@ -2043,65 +2003,35 @@ asm void dMsgObject_c::getSelectWordFlag() { /* 80238588-802385B4 232EC8 002C+00 0/0 1/1 0/0 .text isHowlHearingMode__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::isHowlHearingMode() { - nofralloc -#include "asm/d/msg/d_msg_object/isHowlHearingMode__12dMsgObject_cFv.s" +bool dMsgObject_c::isHowlHearingMode() { + return dMsgObject_getMsgObjectClass()->isHowlHearingModeLocal(); } -#pragma pop /* 802385B4-802385E0 232EF4 002C+00 0/0 1/1 0/0 .text getSelectBombBagID__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u8 dMsgObject_c::getSelectBombBagID() { - nofralloc -#include "asm/d/msg/d_msg_object/getSelectBombBagID__12dMsgObject_cFv.s" +u8 dMsgObject_c::getSelectBombBagID() { + return dMsgObject_getMsgObjectClass()->getSelectBombBagIDLocal(); } -#pragma pop /* 802385E0-8023860C 232F20 002C+00 0/0 6/6 0/0 .text getSelectBombPrice__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s16 dMsgObject_c::getSelectBombPrice() { - nofralloc -#include "asm/d/msg/d_msg_object/getSelectBombPrice__12dMsgObject_cFv.s" +s16 dMsgObject_c::getSelectBombPrice() { + return dMsgObject_getMsgObjectClass()->getSelectBombPriceLocal(); } -#pragma pop /* 8023860C-80238638 232F4C 002C+00 0/0 1/1 0/0 .text setEquipBombInfo__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::setEquipBombInfo() { - nofralloc -#include "asm/d/msg/d_msg_object/setEquipBombInfo__12dMsgObject_cFv.s" +void dMsgObject_c::setEquipBombInfo() { + dMsgObject_getMsgObjectClass()->setEquipBombInfoLocal(); } -#pragma pop /* 80238638-8023864C 232F78 0014+00 0/0 2/2 0/0 .text getItemEquipButton__12dMsgObject_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::getItemEquipButton() { - nofralloc -#include "asm/d/msg/d_msg_object/getItemEquipButton__12dMsgObject_cFv.s" +u8 dMsgObject_c::getItemEquipButton() { + return dMsgObject_getMsgObjectClass()->getItemEquipButtonLocal(); } -#pragma pop /* 8023864C-80238660 232F8C 0014+00 0/0 2/2 0/0 .text setSelectCancelPos__12dMsgObject_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgObject_c::setSelectCancelPos(u8 param_0) { - nofralloc -#include "asm/d/msg/d_msg_object/setSelectCancelPos__12dMsgObject_cFUc.s" +void dMsgObject_c::setSelectCancelPos(u8 pos) { + dMsgObject_getMsgObjectClass()->setSelectCancelPosLocal(pos); } -#pragma pop /* 80238660-802386C8 232FA0 0068+00 1/1 0/0 3/3 .text dMsgObject_getTotalPrice__Fv */ #pragma push @@ -2232,7 +2162,8 @@ REGISTER_CTORS(0x80238B58, __sinit_d_msg_object_cpp); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMsgObject_HowlHIO_c::~dMsgObject_HowlHIO_c() { +// asm dMsgObject_HowlHIO_c::~dMsgObject_HowlHIO_c() { +extern "C" asm void __dt__20dMsgObject_HowlHIO_cFv() { nofralloc #include "asm/d/msg/d_msg_object/__dt__20dMsgObject_HowlHIO_cFv.s" } @@ -2242,7 +2173,8 @@ asm dMsgObject_HowlHIO_c::~dMsgObject_HowlHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMsgObject_HIO_c::~dMsgObject_HIO_c() { +// asm dMsgObject_HIO_c::~dMsgObject_HIO_c() { +extern "C" asm void __dt__16dMsgObject_HIO_cFv() { nofralloc #include "asm/d/msg/d_msg_object/__dt__16dMsgObject_HIO_cFv.s" } @@ -2314,7 +2246,8 @@ void dMsgScrnBase_c::dotAnimeInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void jmessage_tReference::setActorPos(cXyz param_0) { +// asm void jmessage_tReference::setActorPos(cXyz param_0) { +extern "C" asm void setActorPos__19jmessage_tReferenceF4cXyz() { nofralloc #include "asm/d/msg/d_msg_object/setActorPos__19jmessage_tReferenceF4cXyz.s" } diff --git a/src/d/msg/d_msg_out_font.cpp b/src/d/msg/d_msg_out_font.cpp index 5b678b42d7..465a97d955 100644 --- a/src/d/msg/d_msg_out_font.cpp +++ b/src/d/msg/d_msg_out_font.cpp @@ -4,48 +4,10 @@ // #include "d/msg/d_msg_out_font.h" +#include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct ResTIMG {}; - -struct J2DTextBox {}; - -struct J2DRotateAxis {}; - -struct J2DPicture { - /* 802FC708 */ J2DPicture(ResTIMG const*); -}; - -struct J2DPane { - /* 802F71DC */ void rotate(f32, f32, J2DRotateAxis, f32); - /* 802F7AFC */ void getParentPane(); -}; - -struct COutFont_c { - /* 80225C94 */ COutFont_c(u8); - /* 80225D60 */ ~COutFont_c(); - /* 80225E7C */ void setPane(J2DPicture*); - /* 80225EA8 */ void createPane(); - /* 80226CF8 */ void initialize(); - /* 80226D4C */ void drawFont(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); - /* 80226DA8 */ void setAlphaRatio(f32); - /* 80226DB0 */ void draw(J2DTextBox*, f32, f32, f32); - /* 80228448 */ void reset(J2DTextBox*); - /* 80228490 */ void setBlendAnime(J2DPicture*, s16); - /* 80228530 */ void getBtiName(int); -}; - -struct COutFontSet_c { - /* 80225BB8 */ COutFontSet_c(); - /* 80225BF4 */ ~COutFontSet_c(); - /* 80225C3C */ void initialize(); - /* 80225C70 */ void drawFont(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); -}; +#include "d/com/d_com_inf_game.h" // // Forward References: @@ -85,8 +47,7 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_24(); extern "C" void _restgpr_26(); extern "C" void _restgpr_29(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_MsgObject_HIO_c[1040]; +extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; // // Declarations: @@ -291,121 +252,13 @@ SECTION_DATA static void* lit_5000[65] = { (void*)(((char*)draw__10COutFont_cFP10J2DTextBoxfff) + 0x1248), }; -/* 803BFCAC-803BFDC4 -00001 0118+00 1/1 0/0 0/0 .data mpIconName$5045 */ -SECTION_DATA static void* mpIconName[70] = { - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x4B), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x57), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x63), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x6F), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x7B), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x87), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x93), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x9F), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xAB), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xDE), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xEA), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x10B), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x121), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x12D), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x139), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x159), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x16D), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x179), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x185), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x191), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x19D), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xF), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x19D), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1A9), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1B5), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1C1), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1CD), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1D9), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1E5), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1F1), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1FD), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x27), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x33), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1F1), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1FD), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x209), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x215), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x221), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x22D), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x239), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x245), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x251), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x25D), - (void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x269), -}; - -/* 803BFDC4-803BFDE8 01CEE4 0024+00 2/2 0/0 0/0 .data __vt__10COutFont_c */ -SECTION_DATA extern void* __vt__10COutFont_c[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10COutFont_cFv, - (void*)setPane__10COutFont_cFP10J2DPicture, - (void*)createPane__10COutFont_cFv, - (void*)draw__10COutFont_cFP10J2DTextBoxfff, - (void*)reset__10COutFont_cFP10J2DTextBox, - (void*)drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc, - (void*)setAlphaRatio__10COutFont_cFf, -}; - -/* 803BFDE8-803BFDF8 01CF08 000C+04 2/2 0/0 0/0 .data __vt__13COutFontSet_c */ -SECTION_DATA extern void* __vt__13COutFontSet_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13COutFontSet_cFv, - /* padding */ - NULL, -}; - /* 80225BB8-80225BF4 2204F8 003C+00 1/1 0/0 0/0 .text __ct__13COutFontSet_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm COutFontSet_c::COutFontSet_c() { - nofralloc -#include "asm/d/msg/d_msg_out_font/__ct__13COutFontSet_cFv.s" +COutFontSet_c::COutFontSet_c() { + initialize(); } -#pragma pop /* 80225BF4-80225C3C 220534 0048+00 1/0 0/0 0/0 .text __dt__13COutFontSet_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm COutFontSet_c::~COutFontSet_c() { - nofralloc -#include "asm/d/msg/d_msg_out_font/__dt__13COutFontSet_cFv.s" -} -#pragma pop +COutFontSet_c::~COutFontSet_c() {} /* ############################################################################################## */ /* 80454A10-80454A14 003010 0004+00 4/4 0/0 0/0 .sdata2 @3748 */ @@ -420,57 +273,85 @@ SECTION_SDATA2 static u8 lit_3748[4] = { SECTION_SDATA2 static f32 lit_3749 = 1.0f; /* 80225C3C-80225C70 22057C 0034+00 2/2 0/0 0/0 .text initialize__13COutFontSet_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFontSet_c::initialize() { - nofralloc -#include "asm/d/msg/d_msg_out_font/initialize__13COutFontSet_cFv.s" +void COutFontSet_c::initialize() { + mpTextBoxPtr = NULL; + f32 tmp_0 = FLOAT_LABEL(lit_3748); + mPosX = tmp_0; + mPosY = tmp_0; + f32 tmp_1 = lit_3749; + mSizeX = tmp_1; + mSizeY = tmp_1; + mAlpha = 255; + mType = 0x47; } -#pragma pop /* 80225C70-80225C94 2205B0 0024+00 1/1 0/0 0/0 .text * drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFontSet_c::drawFont(J2DTextBox* param_0, u8 param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5, u32 param_6, u8 param_7) { - nofralloc -#include "asm/d/msg/d_msg_out_font/drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc.s" +void COutFontSet_c::drawFont(J2DTextBox* p_textBox, u8 type, f32 posX, f32 posY, + f32 sizeX, f32 sizeY, u32 color, u8 alpha) { + mpTextBoxPtr = p_textBox; + mPosX = posX; + mPosY = posY; + mSizeX = sizeX; + mSizeY = sizeY; + mAlpha = alpha; + mColor = color; + mType = type; } -#pragma pop /* 80225C94-80225D60 2205D4 00CC+00 0/0 5/5 0/0 .text __ct__10COutFont_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm COutFont_c::COutFont_c(u8 param_0) { - nofralloc -#include "asm/d/msg/d_msg_out_font/__ct__10COutFont_cFUc.s" +COutFont_c::COutFont_c(u8 param_0) { + field_0x242 = param_0; + + for (int i = 0; i < 35; i++) { + mpOfs[i] = new COutFontSet_c(); + } + + for (int i = 0; i < 70; i++) { + mpPane[i] = NULL; + field_0x1b4[i] = 0; + } + + mAlphaRatio = FLOAT_LABEL(lit_3748); + f32 tmp_1 = lit_3749; + field_0x1b0 = tmp_1; + field_0x1ac = tmp_1; + field_0x240 = 0; + mRupeeColor = 0; } -#pragma pop /* 80225D60-80225E7C 2206A0 011C+00 1/0 0/0 0/0 .text __dt__10COutFont_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm COutFont_c::~COutFont_c() { - nofralloc -#include "asm/d/msg/d_msg_out_font/__dt__10COutFont_cFv.s" +COutFont_c::~COutFont_c() { + for (int i = 0; i < 35; i++) { + delete mpOfs[i]; + mpOfs[i] = NULL; + } + + if (field_0x240) { + field_0x240 = 0; + + for (int i = 0; i < 70; i++) { + if (mpPane[i] != NULL) { + delete mpPane[i]; + mpPane[i] = NULL; + } + } + } + + if (dComIfGp_getExpHeap2D() == NULL) { + dComIfGp_getItemIconArchive()->removeResourceAll(); + } } -#pragma pop /* 80225E7C-80225EA8 2207BC 002C+00 1/0 0/0 0/0 .text setPane__10COutFont_cFP10J2DPicture */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFont_c::setPane(J2DPicture* param_0) { - nofralloc -#include "asm/d/msg/d_msg_out_font/setPane__10COutFont_cFP10J2DPicture.s" +void COutFont_c::setPane(J2DPicture* p_pic) { + for (int i = 0; i < 70; i++) { + mpPane[i] = p_pic; + p_pic++; + } + field_0x240 = false; } -#pragma pop /* ############################################################################################## */ /* 80454A18-80454A20 003018 0008+00 2/2 0/0 0/0 .sdata2 @4397 */ @@ -487,36 +368,29 @@ asm void COutFont_c::createPane() { #pragma pop /* 80226CF8-80226D4C 221638 0054+00 0/0 2/2 0/0 .text initialize__10COutFont_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFont_c::initialize() { - nofralloc -#include "asm/d/msg/d_msg_out_font/initialize__10COutFont_cFv.s" +void COutFont_c::initialize() { + for (int i = 0; i < 35; i++) { + mpOfs[i]->initialize(); + } } -#pragma pop /* 80226D4C-80226DA8 22168C 005C+00 1/0 0/0 0/0 .text * drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFont_c::drawFont(J2DTextBox* param_0, u8 param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5, u32 param_6, u8 param_7) { - nofralloc -#include "asm/d/msg/d_msg_out_font/drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc.s" +void COutFont_c::drawFont(J2DTextBox* p_textBox, u8 type, f32 posX, f32 posY, + f32 sizeX, f32 sizeY, u32 color, u8 alpha) { + posY += lit_3749; + for (int i = 0; i < 35; i++) { + if (mpOfs[i]->getType() == 0x47) { + mpOfs[i]->drawFont(p_textBox, type, posX, posY, sizeX, sizeY, color, alpha); + return; + } + } } -#pragma pop /* 80226DA8-80226DB0 2216E8 0008+00 1/0 0/0 0/0 .text setAlphaRatio__10COutFont_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFont_c::setAlphaRatio(f32 param_0) { - nofralloc -#include "asm/d/msg/d_msg_out_font/setAlphaRatio__10COutFont_cFf.s" +void COutFont_c::setAlphaRatio(f32 ratio) { + mAlphaRatio = ratio; } -#pragma pop /* ############################################################################################## */ /* 80454A20-80454A24 003020 0004+00 1/1 0/0 0/0 .sdata2 @4986 */ @@ -560,6 +434,336 @@ SECTION_SDATA2 static f64 lit_5001 = 4503601774854144.0 /* cast s32 to float */; /* 80226DB0-80228448 2216F0 1698+00 2/0 0/0 0/0 .text draw__10COutFont_cFP10J2DTextBoxfff */ +#ifdef NONMATCHING +void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param_3) { + s16 sp256[70]; + + for (int i = 0; i < 70; i++) { + sp256[i] = field_0x1b4[i]; + } + + for (int i = 0; i < 35; i++) { + u8 type = mpOfs[i]->getType(); + J2DTextBox* tbox = mpOfs[i]->getTextBoxPtr(); + + if (p_textBox == tbox && type != 0x47) { + f32 local_10c = 1.0f; + f32 local_110 = 1.0f; + + if (p_textBox != NULL) { + for (J2DPane* pane = p_textBox; pane != NULL; pane = pane->getParentPane()) { + local_10c *= pane->getScaleX(); + local_110 *= pane->getScaleY(); + } + } + + f32 posX = param_1 + param_3 * (local_10c * mpOfs[i]->getPosX()); + f32 posY = param_2 + (local_110 * mpOfs[i]->getPosY()); + f32 sizeX = local_10c * mpOfs[i]->getSizeX(); + f32 sizeY = local_110 * mpOfs[i]->getSizeY(); + + if (mpPane[type] != NULL) { + mpPane[type]->setAlpha(mAlphaRatio * mpPane[i]->getAlpha()); + + switch (type) { + case 10: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, true); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); + break; + case 11: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, true); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, true); + break; + case 29: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, true); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 80, 80, 255)); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, true); + break; + case 12: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, false); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, false); + break; + case 5: + case 6: { + posY += 1.0f; + sizeY -= 3.0f; + JUtility::TColor black = mpPane[type]->getBlack(); + JUtility::TColor white = mpPane[type]->getWhite(); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); + + mpPane[type]->setBlackWhite(black, white); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + } + case 9: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 80) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + + if (field_0x1b4[type] < 20) { + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); + } else if (field_0x1b4[type] < 40) { + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + } else if (field_0x1b4[type] < 60) { + mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true); + } else { + mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false); + } + break; + case 14: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 20) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); + break; + case 15: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 20) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true); + break; + case 16: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 20) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 17: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 20) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false); + break; + case 18: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 40) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + + if (field_0x1b4[type] < 20) { + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true); + } else { + mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true); + } + break; + case 19: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 40) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + + if (field_0x1b4[type] < 20) { + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + } else { + mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false); + } + break; + case 13: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 24: + case 27: + case 28: + case 43: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 42: + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 20: + case 21: + case 22: + field_0x1b4[type]++; + if (field_0x1b4[type] >= 28) { + field_0x1b4[type] = 0; + } + + mpPane[type]->rotate(0.5f * posX, 0.5f * posY, ROTATE_Z, (360.0f * (f32)field_0x1b4[type]) / 28.0f); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 25: // some issues in here, 2020 + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 18) { + field_0x1b4[type] -= 18; + } + } + + f32 alpha; + if (field_0x1b4[type] < 9) { + alpha = field_0x1b4[type]; + } else { + alpha = 18.0f - field_0x1b4[type]; + } + + mpPane[26]->setAlpha(((alpha / 9.0f) * 205.0f + 50.0f) * mAlphaRatio); + f32 tmpX = 0.5f * (g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeX; + f32 tmpY = 0.5f * (g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeY; + mpPane[26]->draw(posX - tmpX, posY - tmpY, g_MsgObject_HIO_c.mPortalIconScale * sizeX, g_MsgObject_HIO_c.mPortalIconScale * sizeY, false, false, false); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 26: + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 30: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); + mpPane[type]->draw(posX + (0.5f * (sizeX * (field_0x1ac - 1.0f))), posY + (0.5f * (sizeY * (field_0x1b0 - 1.0f))), sizeX * field_0x1ac, sizeY * field_0x1b0, false, false, false); + break; + case 31: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 41: + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 44: + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + ((posY + -3.0f) - 4.0f), sizeX, sizeY * 1.25f, false, false, false); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor()); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 45: + mpPane[type]->draw(posX, (posY + -3.0f) - 4.0f, sizeX, sizeY * 1.25f, false, false, false); + break; + case 46: + case 47: + case 55: + case 56: + case 57: + case 58: + case 61: + case 69: + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 49: + case 50: + case 65: + case 66: + case 67: + case 68: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 40) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255)); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 48: + case 59: + case 60: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 40) { + field_0x1b4[type] = 0; + } + setBlendAnime(mpPane[type], field_0x1b4[type]); + } + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + case 62: + if (sp256[type] == field_0x1b4[type]) { + field_0x1b4[type]++; + + if (field_0x1b4[type] >= 10) { + field_0x1b4[type] = 0; + } + + if (field_0x1b4[type] < 5) { + mpPane[type]->setBlendRatio(1.0f, 0.0f); + } else { + mpPane[type]->setBlendRatio(0.0f, 1.0f); + } + } + + mpPane[type]->draw(posX, -3.0f + posY, sizeX, 1.25f * sizeY, false, false, false); + break; + default: + JUtility::TColor black = mpPane[type]->getBlack(); + JUtility::TColor white = mpPane[type]->getWhite(); + + mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false); + + mpPane[type]->setBlackWhite(black, white); + mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false); + break; + } + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -568,17 +772,20 @@ asm void COutFont_c::draw(J2DTextBox* param_0, f32 param_1, f32 param_2, f32 par #include "asm/d/msg/d_msg_out_font/draw__10COutFont_cFP10J2DTextBoxfff.s" } #pragma pop +#endif /* 80228448-80228490 222D88 0048+00 1/0 0/0 0/0 .text reset__10COutFont_cFP10J2DTextBox */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFont_c::reset(J2DTextBox* param_0) { - nofralloc -#include "asm/d/msg/d_msg_out_font/reset__10COutFont_cFP10J2DTextBox.s" +void COutFont_c::reset(J2DTextBox* p_textBox) { + if (p_textBox != NULL) { + for (int i = 0; i < 35; i++) { + if (p_textBox == mpOfs[i]->getTextBoxPtr()) { + mpOfs[i]->setTextBoxPtr(NULL); + mpOfs[i]->resetType(); + } + } + } } -#pragma pop /* 80228490-80228530 222DD0 00A0+00 1/1 0/0 0/0 .text setBlendAnime__10COutFont_cFP10J2DPictures */ @@ -592,13 +799,85 @@ asm void COutFont_c::setBlendAnime(J2DPicture* param_0, s16 param_1) { #pragma pop /* 80228530-80228578 222E70 0048+00 1/1 0/0 0/0 .text getBtiName__10COutFont_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void COutFont_c::getBtiName(int param_0) { - nofralloc -#include "asm/d/msg/d_msg_out_font/getBtiName__10COutFont_cFi.s" +const char* COutFont_c::getBtiName(int nameIdx) { + static char* mpIconName[70] = { + "font_00.bti", + "font_01.bti", + "font_09.bti", + "font_04.bti", + "font_05.bti", + "font_02.bti", + "font_03.bti", + "font_06.bti", + "font_08.bti", + "font_07_01.bti", + "font_10.bti", + "font_10.bti", + "font_10.bti", + "font_10.bti", + "font_07_01.bti", + "font_07_01.bti", + "font_07_01.bti", + "font_07_01.bti", + "font_07_01.bti", + "font_07_01.bti", + "font_15.bti", + "font_15.bti", + "font_15.bti", + "font_12.bti", + "font_15.bti", + "im_map_icon_portal_4ia_40_05.bti", + "font_16_backlight.bti", + "font_13.bti", + "font_14.bti", + "font_10.bti", + "im_zelda_item_icon_rupy_13.bti", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "st_bompoach_lv1.bti", + "font_46.bti", + "font_47.bti", + "font_35.bti", + "font_36.bti", + "font_19.bti", + "font_20.bti", + "font_19.bti", + "font_22.bti", + "font_23.bti", + "font_24.bti", + "font_25.bti", + "font_40.bti", + "font_39.bti", + "font_29.bti", + "font_28.bti", + "font_30.bti", + "font_31.bti", + "font_29.bti", + "font_28.bti", + "font_32.bti", + "font_33.bti", + "font_41.bti", + "font_42.bti", + "font_50.bti", + "font_49.bti", + "font_51.bti", + "font_52.bti", + "font_53.bti", + }; + + if (nameIdx >= 31 && nameIdx <= 40) { + return dMeter2Info_getNumberTextureName(nameIdx - 31); + } + + return mpIconName[nameIdx]; } -#pragma pop /* 80399350-80399350 0259B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/msg/d_msg_string.cpp b/src/d/msg/d_msg_string.cpp index 6d42f06d93..3e29d44b76 100644 --- a/src/d/msg/d_msg_string.cpp +++ b/src/d/msg/d_msg_string.cpp @@ -7,41 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct J2DTextBox {}; - -struct JUTFont {}; - -struct COutFont_c { - /* 80225C94 */ COutFont_c(u8); -}; - -struct dMsgString_c { - /* 80191B6C */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); - /* 801E1D10 */ void getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, - u8); - /* 80249C20 */ dMsgString_c(); - /* 80249CA0 */ dMsgString_c(u8); - /* 80249D28 */ ~dMsgString_c(); - /* 80249DB4 */ void resetStringLocal(J2DTextBox*); - /* 80249DE4 */ void drawOutFontLocal(J2DTextBox*, f32); - /* 80249ED0 */ void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); -}; - -struct dMsgStringBase_c { - /* 802493B4 */ dMsgStringBase_c(); - /* 80249528 */ ~dMsgStringBase_c(); - /* 80249700 */ void getResource(); - /* 80249BF8 */ void getMessage(u32, char*); -}; - -struct J2DPane { - /* 802F79A8 */ void getGlbVtx(u8) const; -}; - // // Forward References: // diff --git a/src/d/msg/d_msg_string_base.cpp b/src/d/msg/d_msg_string_base.cpp index 76fc19a2fd..2fe10220c5 100644 --- a/src/d/msg/d_msg_string_base.cpp +++ b/src/d/msg/d_msg_string_base.cpp @@ -16,10 +16,6 @@ struct jmessage_string_tControl { /* 8022FB5C */ jmessage_string_tControl(); }; -struct J2DTextBox {}; - -struct JUTFont {}; - struct COutFont_c {}; struct jmessage_string_tReference { @@ -37,49 +33,6 @@ struct jmessage_string_tRenderingProcessor { /* 80230BC8 */ jmessage_string_tRenderingProcessor(jmessage_string_tReference const*); }; -struct dMsgStringBase_c { - /* 802493B4 */ dMsgStringBase_c(); - /* 80249528 */ ~dMsgStringBase_c(); - /* 80249700 */ void getResource(); - /* 80249768 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); - /* 802498D8 */ void getStringPageLocal(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, - COutFont_c*, u8); - /* 80249A48 */ void getPageMax(int); - /* 80249A70 */ void getMessageLocal(u32, char*); - /* 80249BAC */ void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); - /* 80249BB0 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8); - /* 80249BD0 */ void getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, - u8); - /* 80249BF8 */ void getMessage(u32, char*); - /* 80249C18 */ void resetStringLocal(J2DTextBox*); - /* 80249C1C */ void drawOutFontLocal(J2DTextBox*, f32); -}; - -struct JMessage { - struct TControl { - /* 802A75D4 */ void reset(); - /* 802A7634 */ void update(); - /* 802A76BC */ void render(); - /* 802A78F4 */ void setMessageID(u32, u32, bool*); - }; - - struct TResourceContainer { - struct TCResource { - /* 802A8EF8 */ ~TCResource(); - }; - - /* 802A906C */ TResourceContainer(); - }; - - struct TParse { - /* 802A9130 */ TParse(JMessage::TResourceContainer*); - }; -}; - -struct JKRArchive { - /* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*); -}; - // // Forward References: // @@ -135,9 +88,6 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_25(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcpy(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; // // Declarations: diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp index b581e837dd..d46eb184db 100644 --- a/src/d/particle/d_particle.cpp +++ b/src/d/particle/d_particle.cpp @@ -150,16 +150,6 @@ struct dPa_fsenthPcallBack { /* 8004FE6C */ ~dPa_fsenthPcallBack(); }; -struct dPa_followEcallBack { - /* 80049580 */ dPa_followEcallBack(u8, u8); - /* 800495BC */ void execute(JPABaseEmitter*); - /* 800496B0 */ void draw(JPABaseEmitter*); - /* 800496B4 */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - /* 8004974C */ void end(); - /* 80050200 */ ~dPa_followEcallBack(); - /* 80050284 */ void cleanup(); -}; - struct cBgS_PolyInfo {}; struct dJntCol_c { @@ -1498,7 +1488,7 @@ asm void dPa_control_c::level_c::allForceOnEventMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_control_c::level_c::emitter_c* dPa_control_c::level_c::getEmitter(u32 param_0) { +asm JPABaseEmitter* dPa_control_c::level_c::getEmitter(u32 param_0) { nofralloc #include "asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s" } @@ -2472,7 +2462,8 @@ asm void dPa_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_followEcallBack::~dPa_followEcallBack() { +// asm dPa_followEcallBack::~dPa_followEcallBack() { +extern "C" asm void __dt__19dPa_followEcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__19dPa_followEcallBackFv.s" } diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index c9ec6f018c..2d863b57d7 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -14,32 +14,21 @@ #include "f_op/f_op_overlap_mng.h" #include "f_op/f_op_scene_mng.h" #include "m_Do/m_Do_audio.h" +#include "d/d_demo.h" +#include "d/d_model.h" +#include "d/d_procname.h" +#include "f_op/f_op_msg_mng.h" +#include "d/save/d_save_HIO.h" // // Types: // -struct daYkgr_c { - static u8 m_emitter[4]; -}; - struct daSus_c { /* 800313BC */ void reset(); /* 800315A4 */ static void execute(); }; -struct dMdl_mng_c { - /* 8009C7AC */ void create(); - /* 8009C864 */ void remove(); - /* 8009C8C0 */ static void reset(); -}; - -struct dDemo_c { - /* 80039678 */ void create(); - /* 80039910 */ void remove(); - /* 80039DA4 */ static void update(); -}; - struct cDylPhs { /* 8001884C */ void Link(request_of_phase_process_class*, s16); /* 80018890 */ void Unlink(request_of_phase_process_class*, s16); @@ -202,7 +191,7 @@ extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" u8 mRoofCheck__11fopAcM_rc_c[80]; extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; extern "C" extern dScnKy_env_light_c g_env_light; -extern "C" extern u8 g_save_bit_HIO[1184 + 4 /* padding */]; +extern "C" extern dSvBit_HIO_c g_save_bit_HIO; extern "C" extern GXColor g_saftyWhiteColor; extern "C" u8 mFader__13mDoGph_gInf_c[4]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; @@ -236,6 +225,7 @@ static u8 dylPreLoadTime1[4]; static u8 data_8045110C[4]; /* 80451110-80451114 000610 0004+00 1/1 0/0 0/0 .sbss resPreLoadTime0 */ +//static OSTime resPreLoadTime0; static u8 resPreLoadTime0[4]; /* 80451114-80451118 000614 0004+00 1/1 0/0 0/0 .sbss None */ @@ -433,7 +423,7 @@ static int dScnPly_Draw(dScnPly_c* scn) { dMdl_mng_c::reset(); if (!dComIfGp_isPauseFlag() && struct_80451124 == 0) { - if (fpcM_GetName(scn) == 0xB) { + if (fpcM_GetName(scn) == PROC_PLAY_SCENE) { dComIfGp_getVibration().Run(); } daSus_c::execute(); @@ -537,12 +527,12 @@ SECTION_DEAD static char const* const stringBase_8039A2DF = "T_JOINT"; SECTION_SDATA static char* T_JOINT_resName = "Always"; /* 80450764-80450768 -00001 0004+00 4/4 0/0 0/0 .sdata None */ -SECTION_SDATA static u8 struct_80450764[2] = { - /* 80450764 0001+00 data_80450764 None */ - 0xFF, - /* 80450765 0003+00 data_80450765 None */ - 0x01, -}; +SECTION_SDATA static s8 struct_80450764 = 0xFF; + +#pragma push +#pragma force_active on +SECTION_SDATA static u8 data_80450765 = 1; +#pragma pop /* 802598AC-80259AC4 2541EC 0218+00 1/0 0/0 0/0 .text dScnPly_Delete__FP9dScnPly_c */ #pragma push @@ -556,7 +546,7 @@ static asm void dScnPly_Delete(dScnPly_c* param_0) { /* 80259AC4-80259BFC 254404 0138+00 1/1 0/0 0/0 .text resetGame__9dScnPly_cFv */ bool dScnPly_c::resetGame() { - if (fpcM_GetName(this) == 0xC) { + if (fpcM_GetName(this) == PROC_OPENING_SCENE) { if (!dStage_roomControl_c::resetArchiveBank(0)) { return false; } @@ -847,8 +837,8 @@ static u8 lit_4050[12]; #pragma pop /* 8043079C-804307E0 05D4BC 0044+00 1/2 3/3 0/0 .bss g_envHIO */ -extern u8 g_envHIO[68]; -u8 g_envHIO[68]; +extern s8 g_envHIO[68]; +s8 g_envHIO[68]; /* 80454F30-80454F34 003530 0004+00 1/1 0/0 0/0 .sdata2 @4804 */ SECTION_SDATA2 static f32 lit_4804 = 608.0f; @@ -863,7 +853,99 @@ SECTION_SDATA2 static f32 lit_4806[1 + 1 /* padding */] = { 0.0f, }; +class daYkgr_c { +public: + static void init() { + m_emitter = 0; + *struct_80450D8C = 0; + *(struct_80450D8C + 1) = 1; + *(struct_80450D8C + 2) = 0xFF; + } + + static u32 m_emitter; +}; + /* 8025A654-8025A9F4 254F94 03A0+00 1/0 0/0 0/0 .text phase_4__FP9dScnPly_c */ +#ifdef NONMATCHING +static int phase_4(dScnPly_c* i_this) { + if (i_this->sceneCommand) { + dComIfGp_particle_createScene(i_this->sceneCommand->getMemAddress()); + i_this->sceneCommand->destroy(); + } else { + dComIfGp_particle_createScene(NULL); + } + + if (i_this->field_0x1d0 != NULL) { + dComIfGp_setMsgDtArchive(1, i_this->field_0x1d0->getArchive()); + i_this->field_0x1d0->destroy(); + } + + dComIfGp_calcNowRegion(); + dComIfG_Bgsp().Ct(); + fopAcM_lc_c::getLineCheck()->ClearPi(); + fopAcM_gc_c::getGroundCheck()->ClearPi(); + fopAcM_rc_c::getRoofCheck()->ClearPi(); + fopAcM_wt_c::getWaterCheck()->ClearPi(); + dComIfG_Ccsp()->Ct(); + dDemo_c::create(); + + dComIfGp_setPlayerInfo(0, NULL, 0); + for (int i = 0; i < 2; i++) { + dComIfGp_setPlayerPtr(i, NULL); + } + + dComIfGp_setWindow(0, 0.0f, 0.0f, 608.0f, 448.0f, 0.0f, 1.0f, 0, 2); + dComIfGp_setCameraInfo(0, NULL, 0, 0, -1); + dComIfGd_setWindow(NULL); + dComIfGd_setViewport(NULL); + dComIfGd_setView(NULL); + + dComIfGp_setExpHeap2D(fopMsgM_createExpHeap(0xBB800, NULL)); + dComIfGp_setMsgExpHeap(fopMsgM_createExpHeap(0xA800, NULL)); + + if (fpcM_GetName(i_this) == PROC_OPENING_SCENE) { + fopAcM_create(PROC_TITLE, 0, NULL, -1, NULL, NULL, -1); + dComIfGs_init(); + dComIfGs_setOptPointer(0); + dComIfGs_setLife(12); + dMeter2Info_setCloth(WEAR_KOKIRI, false); + dMeter2Info_setSword(SWORD, false); + dMeter2Info_setShield(HYLIA_SHIELD, false); + dComIfGs_onEventBit(0x0601); // Epona Tamed + } + + dMpath_c::create(); + dTres_c::create(); + dStage_Create(); + dComIfGp_createSimpleModel(); + dMdl_mng_c::create(); + + mDoGph_gInf_c::setTickRate((OS_BUS_CLOCK / 4) / 30); + g_envHIO[4] = -1; + g_save_bit_HIO.field_0x4 = -1; + new (&dComIfGp_getAttention()) dAttention_c((fopAc_ac_c*)dComIfGp_getPlayer(0), 0); + dComIfGp_getVibration().Init(); + daYkgr_c::init(); + + dComIfG_setBrightness(255); + mDoGph_gInf_c::offFade(); + mDoAud_zelAudio_c::onBgmSet(); + struct_80451124 = 0; + data_80451125 = 0; + struct_80450764 = -1; + + if (data_80450765 != 0 && !strcmp(dComIfGp_getStartStageName(), (char*)PreLoadInfoT[0])) { + struct_80450764 = 0; + } + + if (struct_80450764 < 0) { + return 4; + } + + resPreLoadTime0 = OSGetTime(); + return 2; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -872,6 +954,7 @@ static asm void phase_4(dScnPly_c* param_0) { #include "asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s" } #pragma pop +#endif /* 8025A9F4-8025AAC0 255334 00CC+00 1/0 0/0 0/0 .text phase_5__FP9dScnPly_c */ #pragma push diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index 21578c3f41..0246a96efb 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -4,10 +4,16 @@ // #include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_tag.h" #include "d/d_stage.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "d/com/d_com_static.h" +#include "d/com/d_com_inf_actor.h" +#include "d/s/d_s_play.h" +#include "d/d_demo.h" // // Types: @@ -20,40 +26,6 @@ struct fopEn_enemy_c { /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); }; -struct daSus_c { - /* 800314D4 */ void check(fopAc_ac_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct dPa_control_c { - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042FA8 */ void moveApproval(void*); -}; - -struct dDemo_object_c { - /* 80039088 */ void getActor(u8); -}; - -struct dDemo_c { - static u8 m_object[4]; -}; - -struct dDemo_actor_c { - /* 8003815C */ void setActor(fopAc_ac_c*); -}; - // // Forward References: // @@ -125,25 +97,15 @@ extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); extern "C" void __construct_array(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" f32 Zero__4cXyz[3]; -extern "C" extern u8 g_dComIfAc_gameInfo[8]; extern "C" u8 m_object__7dDemo_c[4]; -extern "C" extern u8 struct_80451124[4]; // // Declarations: // /* 80018B64-80018BD0 0134A4 006C+00 0/0 7/7 562/562 .text __ct__10fopAc_ac_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm fopAc_ac_c::fopAc_ac_c() { - nofralloc -#include "asm/f_op/f_op_actor/__ct__10fopAc_ac_cFv.s" -} -#pragma pop +fopAc_ac_c::fopAc_ac_c() {} /* 80018BD0-80018C0C 013510 003C+00 0/0 12/12 0/0 .text __dt__5csXyzFv */ #pragma push @@ -193,78 +155,117 @@ SECTION_DATA extern void* __vt__11dEvt_info_c[3 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dEvt_info_c::~dEvt_info_c() { +// asm dEvt_info_c::~dEvt_info_c() { +extern "C" asm void __dt__11dEvt_info_cFv() { nofralloc #include "asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s" } #pragma pop + /* 80018C8C-80018CE0 0135CC 0054+00 0/0 5/5 270/270 .text __dt__10fopAc_ac_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm fopAc_ac_c::~fopAc_ac_c() { - nofralloc -#include "asm/f_op/f_op_actor/__dt__10fopAc_ac_cFv.s" -} -#pragma pop +fopAc_ac_c::~fopAc_ac_c() {} /* ############################################################################################## */ /* 80450CB8-80450CBC 0001B8 0004+00 2/2 0/0 0/0 .sbss g_fopAc_type */ -static u8 g_fopAc_type[4]; +static int g_fopAc_type; /* 80018CE0-80018D0C 013620 002C+00 0/0 12/12 391/391 .text fopAc_IsActor__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAc_IsActor(void* param_0) { - nofralloc -#include "asm/f_op/f_op_actor/fopAc_IsActor__FPv.s" +s32 fopAc_IsActor(void* actor) { + return fpcM_IsJustType(g_fopAc_type, ((fopAc_ac_c*)actor)->mAcType); } -#pragma pop /* ############################################################################################## */ /* 80450CBC-80450CC0 0001BC 0004+00 2/2 1/1 0/0 .sbss stopStatus__10fopAc_ac_c */ u32 fopAc_ac_c::stopStatus; /* 80018D0C-80018DD8 01364C 00CC+00 1/0 0/0 0/0 .text fopAc_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAc_Draw(void* param_0) { - nofralloc -#include "asm/f_op/f_op_actor/fopAc_Draw__FPv.s" +static int fopAc_Draw(void* actor) { + fopAc_ac_c* ac = (fopAc_ac_c*)actor; + + int ret = 1; + if (!dComIfGp_isPauseFlag()) { + if ((dComIfGp_event_moveApproval(ac) == 2 || (!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) && !fopAcM_checkStatus(ac, 0x21000000)) { + fopAcM_OffCondition(ac, 4); + ret = fpcLf_DrawMethod((leafdraw_method_class*)ac->mSubMtd, ac); + } else { + fopAcM_OnCondition(ac, 4); + } + + fopAcM_OffStatus(ac, 0x1000000); + } + + return ret; } -#pragma pop - -/* ############################################################################################## */ -/* 80451BC8-80451BCC 0001C8 0004+00 1/1 0/0 0/0 .sdata2 @4324 */ -SECTION_SDATA2 static f32 lit_4324 = 5000.0f; - -/* 80451BCC-80451BD0 0001CC 0004+00 1/1 0/0 0/0 .sdata2 @4325 */ -SECTION_SDATA2 static f32 lit_4325 = -9.999999848243207e+30f; /* 80018DD8-80018F78 013718 01A0+00 1/0 0/0 0/0 .text fopAc_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAc_Execute(void* param_0) { - nofralloc -#include "asm/f_op/f_op_actor/fopAc_Execute__FPv.s" +static int fopAc_Execute(void* actor) { + fopAc_ac_c* ac = (fopAc_ac_c*)actor; + + int ret = 1; + if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) { + if (!dComIfA_PauseCheck()) { + daSus_c::check(ac); + ac->mEvtInfo.beforeProc(); + s32 move = dComIfGp_event_moveApproval(actor); + fopAcM_OffStatus(ac, 0x40000000); + + if (!fopAcM_checkStatus(ac, 0x20000000) && (move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4))))) { + fopAcM_OffCondition(ac, 2); + ac->mNext = ac->mCurrent; + ret = fpcMtd_Execute((process_method_class*)ac->mSubMtd, ac); + } else { + ac->mEvtInfo.suspendProc(ac); + fopAcM_OnCondition(ac, 2); + } + + if (fopAcM_checkStatus(ac, 0x20) && ac->mOrig.mPosition.y - ac->mCurrent.mPosition.y > 5000.0f) { + fopAcM_delete(ac); + } + + if (ac->mCurrent.mPosition.y < -9.999999848243207e+30f) { + ac->mCurrent.mPosition.y = -9.999999848243207e+30f; + } + + dKy_depth_dist_set(ac); + } + } + + return ret; } -#pragma pop /* 80018F78-80018FCC 0138B8 0054+00 1/0 0/0 0/0 .text fopAc_IsDelete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAc_IsDelete(void* param_0) { - nofralloc -#include "asm/f_op/f_op_actor/fopAc_IsDelete__FPv.s" +static int fopAc_IsDelete(void* actor) { + fopAc_ac_c* ac = (fopAc_ac_c*)actor; + + int isDelete = fpcMtd_IsDelete((process_method_class*)ac->mSubMtd, ac); + if (isDelete == true) { + fopDwTg_DrawQTo(&ac->mDwTg); + } + + return isDelete; } -#pragma pop /* 80018FCC-8001904C 01390C 0080+00 1/0 0/0 0/0 .text fopAc_Delete__FPv */ +#ifdef NONMATCHING +static int fopAc_Delete(void* actor) { + fopAc_ac_c* ac = (fopAc_ac_c*)actor; + + int deleted = fpcMtd_Delete((process_method_class*)ac->mSubMtd, ac); + if (deleted == true) { + fopAcTg_ActorQTo(&ac->mAcTg); + fopDwTg_DrawQTo(&ac->mDwTg); + fopAcM_DeleteHeap(ac); + + dDemo_actor_c* demoAc = dDemo_c::getActor(ac->mDemoActorId); + if (demoAc != NULL) { + demoAc->setActor(NULL); + } + } + + return deleted; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -273,6 +274,7 @@ static asm void fopAc_Delete(void* param_0) { #include "asm/f_op/f_op_actor/fopAc_Delete__FPv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451BD0-80451BD4 0001D0 0004+00 2/2 0/0 0/0 .sdata2 @4431 */ @@ -285,14 +287,99 @@ SECTION_SDATA2 static f32 lit_4432 = -100.0f; SECTION_SDATA2 static f64 lit_4434 = 4503599627370496.0 /* cast u32 to float */; /* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */ +// swapped registers +#ifdef NONMATCHING +static int fopAc_Create(void* actor) { + fopAc_ac_c* ac = (fopAc_ac_c*)actor; + + if (fpcM_IsFirstCreating(actor)) { + leaf_process_profile_definition* profile = fpcM_GetProfile(actor); + ac->mAcType = fpcBs_MakeOfType(&g_fopAc_type); + ac->mSubMtd = (profile_method_class*)profile->mBase.mMethods; + + fopAcTg_Init(&ac->mAcTg, ac); + fopAcTg_ToActorQ(&ac->mAcTg); + fopDwTg_Init(&ac->mDwTg, ac); + + ac->mStatus = profile->field_0x28; + ac->mGroup = profile->field_0x2c; + ac->mCullType = profile->field_0x2d; + + fopAcM_prm_class* append = fopAcM_GetAppend(ac); + if (append != NULL) { + fopAcM_SetParam(ac, append->mParameter); + ac->mOrig.mPosition = append->mPos; + ac->mOrig.mAngle = append->mAngle; + ac->mCollisionRot = append->mAngle; + ac->mParentPcId = append->mParentPId; + ac->mSubtype = append->mSubtype; + ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f, append->mScale[2] * 0.1f); + ac->mSetID = append->mEnemyNo; + ac->mOrig.mRoomNo = append->mRoomNo; + } + + ac->mNext = ac->mOrig; + ac->mCurrent = ac->mOrig; + ac->mEyePos = ac->mOrig.mPosition; + ac->mMaxFallSpeed = -100.0f; + ac->mAttentionInfo.field_0x0[0] = 1; + ac->mAttentionInfo.field_0x0[1] = 2; + ac->mAttentionInfo.field_0x0[2] = 3; + ac->mAttentionInfo.field_0x0[3] = 5; + ac->mAttentionInfo.field_0x4[0] = 6; + ac->mAttentionInfo.field_0x4[3] = 14; + ac->mAttentionInfo.field_0x4[1] = 15; + ac->mAttentionInfo.field_0x4[2] = 15; + ac->mAttentionInfo.field_0x8[0] = 51; + ac->mAttentionInfo.mPosition = ac->mOrig.mPosition; + ac->mAttentionInfo.field_0xa = 30; + dKy_tevstr_init(&ac->mTevStr, ac->mOrig.mRoomNo, -1); + + int roomNo = dComIfGp_roomControl_getStayNo(); + if (roomNo >= 0) { + dComIfGp_roomControl_getStatusRoomDt(roomNo)->mRoomDt.getFileListInfo(); + } + + dStage_FileList_dt_c* filelist = NULL; + if (ac->mOrig.mRoomNo >= 0) { + filelist = dComIfGp_roomControl_getStatusRoomDt(ac->mOrig.mRoomNo)->mRoomDt.getFileListInfo(); + } + + if (filelist != NULL) { + if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) { + u32 sw = dStage_FileList_dt_GetBitSw(filelist); + if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->mOrig.mRoomNo) && profile->field_0x2c == 2) { + return 5; + } + } else { + u32 sw = dStage_FileList_dt_GetBitSw(filelist); + if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->mOrig.mRoomNo) && profile->field_0x2c == 2) { + return 5; + } + } + } + } + + int ret = fpcMtd_Create((process_method_class*)ac->mSubMtd, ac); + if (ret == 4) { + s16 priority = fpcLf_GetPriority(ac); + fopDwTg_ToDrawQ(&ac->mDwTg, priority); + } else if (ret == 5) { + fopAcM_OnCondition(ac, 0x10); + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAc_Create(void* param_0) { +static asm int fopAc_Create(void* param_0) { nofralloc #include "asm/f_op/f_op_actor/fopAc_Create__FPv.s" } #pragma pop +#endif /* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */ #pragma push diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index dcb067a643..aa11f32d2c 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -11,7 +11,7 @@ #include "SSystem/SComponent/c_malloc.h" #include "dol2asm.h" #include "global.h" -// #include "d/com/d_com_inf_game.h" +#include "d/com/d_com_inf_game.h" #include "JSystem/J3DGraphBase/J3DSys.h" #include "JSystem/J3DU/J3DUClipper.h" #include "MSL_C/math.h" @@ -20,15 +20,14 @@ #include "f_op/f_op_actor.h" #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_lib.h" +#include "d/d_procname.h" +#include "m_Do/m_Do_mtx.h" +#include "SSystem/SComponent/c_lib.h" // // Types: // -struct mDoMtx_stack_c { - static u8 now[48]; -}; - struct l_HIO { /* 8001E098 */ ~l_HIO(); }; @@ -39,107 +38,9 @@ struct daTagStream_c { static u8 m_top[4]; }; -struct daPy_py_c { - /* 8001E11C */ void onFrollCrashFlg(u8, int); - /* 8001E120 */ bool checkWolfDash() const; - /* 8001E128 */ bool checkFrontRoll() const; - /* 8001E130 */ bool checkHorseRide() const; - /* 8001E138 */ s32 getGrabActorID() const; -}; - -struct dPa_levelEcallBack {}; - -struct cBgS_PolyInfo {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004D7C4 */ void setSimpleFoot(u32, u32*, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, - int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8, - cXyz const*); -}; - -struct dEvt_control_c { - /* 80041668 */ void order(u16, u16, u16, u16, void*, void*, s16, u8); - /* 800432EC */ void convPId(unsigned int); - /* 80043500 */ void searchMapEventData(u8, s32); -}; - -struct dEvent_manager_c { - /* 80047698 */ void getEventIdx(fopAc_ac_c*, u8); - /* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8); - /* 800481F4 */ void getEventPrio(fopAc_ac_c*, s16); -}; - -struct dEnemyItem_c { - static u8 mData[4 + 4 /* padding */]; -}; - -struct dBgS_WtrChk { - /* 8001DF30 */ ~dBgS_WtrChk(); - /* 80079164 */ dBgS_WtrChk(); -}; - -struct dBgS_SplGrpChk { - /* 80078B90 */ void Set(cXyz&, f32); - /* 80078C78 */ ~dBgS_SplGrpChk(); -}; - -struct dBgS_RoofChk { - /* 80078FF4 */ dBgS_RoofChk(); - /* 80079090 */ ~dBgS_RoofChk(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjRoofChk { - /* 8001DFA8 */ ~dBgS_ObjRoofChk(); -}; - -struct dBgS_ObjLinChk { - /* 80077F5C */ dBgS_ObjLinChk(); - /* 80077FB8 */ ~dBgS_ObjLinChk(); -}; - -struct dBgS_ObjGndChk { - /* 8001E020 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 8007549C */ void RoofChk(dBgS_RoofChk*); - /* 80075564 */ void SplGrpChk(dBgS_SplGrpChk*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; +class dEnemyItem_c { +public: + static u8* mData; }; // @@ -282,8 +183,6 @@ extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; u32 check_itemno(int param1); BOOL isHeart(u8); -extern "C" void* calc_mtx; - // // External References: // @@ -381,7 +280,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mStatus__20dStage_roomControl_c[65792]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseY__4cXyz[12]; extern "C" u8 sincosTable___5JMath[65536]; @@ -398,37 +296,31 @@ extern "C" extern u8 data_80451164[4]; // /* 800198A4-800198C4 0141E4 0020+00 0/0 1/1 0/0 .text fopAcM_FastCreate__FsPFPv_iPvPv */ -void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData) { - return fpcM_FastCreate(pProcTypeID, param_2, param_3, pData); +void* fopAcM_FastCreate(s16 procName, FastCreateReqFunc createFunc, void* param_3, void* p_data) { + return fpcM_FastCreate(procName, createFunc, param_3, p_data); } /* 800198C4-80019934 014204 0070+00 1/1 5/5 18/18 .text fopAcM_setStageLayer__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_setStageLayer(void* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_setStageLayer__FPv.s" +void fopAcM_setStageLayer(void* p_proc) { + scene_class* stageProc = fopScnM_SearchByID(dStage_roomControl_c::getProcID()); + fpcM_ChangeLayerID(p_proc, fopScnM_LayerID(stageProc)); } -#pragma pop /* 80019934-800199BC 014274 0088+00 1/1 0/0 2/2 .text fopAcM_setRoomLayer__FPvi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int fopAcM_setRoomLayer(void* param_0, int param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_setRoomLayer__FPvi.s" +void fopAcM_setRoomLayer(void* p_proc, int roomNo) { + if (roomNo >= 0) { + scene_class* roomProc = fopScnM_SearchByID(dStage_roomControl_c::getStatusProcID(roomNo)); + fpcM_ChangeLayerID(p_proc, fopScnM_LayerID(roomProc)); + } } -#pragma pop /* 800199BC-80019A2C 0142FC 0070+00 0/0 4/4 114/114 .text fopAcM_SearchByID__FUiPP10fopAc_ac_c */ -s32 fopAcM_SearchByID(unsigned int id, fopAc_ac_c** actor) { - if (fpcM_IsCreating(id) != 0) { - *actor = NULL; +s32 fopAcM_SearchByID(unsigned int id, fopAc_ac_c** p_actor) { + if (fpcM_IsCreating(id)) { + *p_actor = NULL; } else { - *actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id); - if (*actor == NULL) { + *p_actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id); + if (*p_actor == NULL) { return 0; } } @@ -436,217 +328,201 @@ s32 fopAcM_SearchByID(unsigned int id, fopAc_ac_c** actor) { } /* 80019A2C-80019AA8 01436C 007C+00 0/0 0/0 28/28 .text fopAcM_SearchByName__FsPP10fopAc_ac_c */ -s32 fopAcM_SearchByName(s16 procName, fopAc_ac_c** actor) { - *actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeForPName, &procName); - if (*actor == NULL) { +s32 fopAcM_SearchByName(s16 procName, fopAc_ac_c** p_actor) { + *p_actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeForPName, &procName); + if (*p_actor == NULL) { return 0; } else { - if (fpcM_IsCreating(fopAcM_GetID(*actor)) != 0) { - *actor = NULL; + if (fpcM_IsCreating(fopAcM_GetID(*p_actor))) { + *p_actor = NULL; } return 1; } } /* 80019AA8-80019B1C 0143E8 0074+00 1/1 7/7 0/0 .text fopAcM_CreateAppend__Fv */ -fopAcM_prm_class* fopAcM_CreateAppend(void) { +fopAcM_prm_class* fopAcM_CreateAppend() { fopAcM_prm_class* params = static_cast(cMl::memalignB(-4, sizeof(fopAcM_prm_class))); if (params != NULL) { cLib_memSet(params, 0, sizeof(fopAcM_prm_class)); params->mEnemyNo = 0xFFFF; params->mRoomNo = -1; - params->mScale[0] = 0xA; - params->mScale[1] = 0xA; - params->mScale[2] = 0xA; + params->mScale[0] = 10; + params->mScale[1] = 10; + params->mScale[2] = 10; params->mParentPId = -1; params->mSubtype = -1; } return params; } -/* ############################################################################################## */ -/* 80451C00-80451C04 000200 0004+00 1/1 0/0 0/0 .sdata2 @4263 */ -SECTION_SDATA2 static f32 lit_4263 = 10.0f; - /* 80019B1C-80019C78 01445C 015C+00 4/4 0/0 0/0 .text * createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi */ -fopAcM_prm_class* createAppend(u16 enemyNo, u32 parameter, const cXyz* pPos, int roomNo, - const csXyz* pAngle, const cXyz* pScale, s8 subType, +fopAcM_prm_class* createAppend(u16 enemyNo, u32 parameters, const cXyz* p_pos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, s8 subType, unsigned int parentPId) { fopAcM_prm_class* params = fopAcM_CreateAppend(); if (params == NULL) { return NULL; } else { params->mEnemyNo = enemyNo; - if (pPos != NULL) { - params->mPos = *pPos; + + if (p_pos != NULL) { + params->mPos = *p_pos; } else { params->mPos = cXyz::Zero; } + params->mRoomNo = roomNo; - if (pAngle != NULL) { - params->mAngle = *pAngle; + + if (p_angle != NULL) { + params->mAngle = *p_angle; } else { params->mAngle = csXyz::Zero; } - if (pScale != NULL) { - f32 ten = FLOAT_LABEL(lit_4263); // temp not necessary when using literal - params->mScale[0] = ten * pScale->x; - params->mScale[1] = ten * pScale->y; - params->mScale[2] = ten * pScale->z; + + if (p_scale != NULL) { + params->mScale[0] = 10.0f * p_scale->x; + params->mScale[1] = 10.0f * p_scale->y; + params->mScale[2] = 10.0f * p_scale->z; } else { - params->mScale[0] = 0xA; - params->mScale[1] = 0xA; - params->mScale[2] = 0xA; + params->mScale[0] = 10; + params->mScale[1] = 10; + params->mScale[2] = 10; } - params->mParameter = parameter; + + params->mParameter = parameters; params->mParentPId = parentPId; params->mSubtype = subType; + return params; } } /* 80019C78-80019C7C 0145B8 0004+00 3/3 0/0 0/0 .text fopAcM_Log__FPC10fopAc_ac_cPCc */ -void fopAcM_Log(fopAc_ac_c const* param_0, char const* param_1) { +void fopAcM_Log(fopAc_ac_c const* p_actor, char const* str) { /* empty function */ } /* 80019C7C-80019CB8 0145BC 003C+00 0/0 10/10 483/483 .text fopAcM_delete__FP10fopAc_ac_c */ -void fopAcM_delete(fopAc_ac_c* pActor) { +void fopAcM_delete(fopAc_ac_c* p_actor) { // "Deleting Actor" - fopAcM_Log(pActor, "アクターの削除"); - fpcM_Delete(pActor); + fopAcM_Log(p_actor, "アクターの削除"); + fpcM_Delete(p_actor); } /* 80019CB8-80019D18 0145F8 0060+00 0/0 3/3 12/12 .text fopAcM_delete__FUi */ -#ifdef NON_MATCHING -s32 fopAcM_delete(unsigned int pID) { - void* searchResult = (void*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &pID); - const fopAc_ac_c* actor = (fopAc_ac_c*)searchResult; - // original moves r3 -> r0, then r0 -> r31 for 0 check - // this generates r3 -> r31 with 0 check directly - if (searchResult != NULL) { +s32 fopAcM_delete(unsigned int actorID) { + void* actor = fopAcM_SearchByID(actorID); + + if (actor != NULL) { // "Deleting Actor" - fopAcM_Log(actor, "アクターの削除"); - return fpcM_Delete(searchResult); + fopAcM_Log((fopAc_ac_c*)actor, "アクターの削除"); + return fpcM_Delete(actor); } else { return 1; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_delete(unsigned int param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_delete__FUi.s" -} -#pragma pop -#endif /* 80019D18-80019D98 014658 0080+00 2/2 0/0 0/0 .text * fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i */ -s32 fopAcM_create(s16 procName, u16 enemyNo, u32 parameter, const cXyz* pPos, int roomNo, - const csXyz* pRot, const cXyz* pScale, s8 subType, createFunc pCreateFunc) { +s32 fopAcM_create(s16 procName, u16 enemyNo, u32 parameter, const cXyz* p_pos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, s8 subType, createFunc p_createFunc) { fopAcM_prm_class* params = - createAppend(enemyNo, parameter, pPos, roomNo, pRot, pScale, subType, 0xFFFFFFFF); + createAppend(enemyNo, parameter, p_pos, roomNo, p_angle, p_scale, subType, 0xFFFFFFFF); if (params == NULL) { return -1; } else { - return fpcSCtRq_Request(fpcLy_CurrentLayer(), procName, (stdCreateFunc)pCreateFunc, NULL, - params); + return fpcM_Create(procName, p_createFunc, params); } } /* 80019D98-80019E04 0146D8 006C+00 3/3 11/11 70/70 .text * fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc */ -s32 fopAcM_create(s16 procName, u32 parameter, const cXyz* pPos, int roomNo, const csXyz* pRot, - const cXyz* pScale, s8 subType) { - return fopAcM_create(procName, 0xFFFF, parameter, pPos, roomNo, pRot, pScale, subType, NULL); +s32 fopAcM_create(s16 procName, u32 parameter, const cXyz* p_pos, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, s8 subType) { + return fopAcM_create(procName, 0xFFFF, parameter, p_pos, roomNo, p_angle, p_scale, subType, NULL); } /* 80019E04-80019E6C 014744 0068+00 5/5 6/6 18/18 .text * fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv */ -void* fopAcM_fastCreate(s16 procTypeID, u32 parameter, const cXyz* pPos, int roomNo, - const csXyz* pRot, const cXyz* pScale, s8 subType, createFunc pCreateFunc, - void* pCreateFuncData) { +void* fopAcM_fastCreate(s16 procName, u32 parameter, const cXyz* p_pos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, s8 subType, createFunc p_createFunc, + void* p_createFuncData) { fopAcM_prm_class* prmClass = - createAppend(0xFFFF, parameter, pPos, roomNo, pRot, pScale, subType, 0xFFFFFFFF); + createAppend(0xFFFF, parameter, p_pos, roomNo, p_angle, p_scale, subType, 0xFFFFFFFF); if (prmClass == NULL) { return NULL; } else { - return fpcM_FastCreate(procTypeID, pCreateFunc, pCreateFuncData, prmClass); + return fpcM_FastCreate(procName, p_createFunc, p_createFuncData, prmClass); } } /* 80019E6C-80019EF0 0147AC 0084+00 0/0 1/1 0/0 .text * fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv */ -void* fopAcM_fastCreate(const char* pActorName, u32 parameter, const cXyz* pActorPos, int roomNo, - const csXyz* pActorRot, const cXyz* pScale, createFunc pCreateFunc, - void* pCreateFuncData) { - dStage_objectNameInf* nameInfo = dStage_searchName(pActorName); +void* fopAcM_fastCreate(const char* p_actorName, u32 parameter, const cXyz* p_pos, int roomNo, + const csXyz* p_angle, const cXyz* p_scale, createFunc p_createFunc, + void* p_createFuncData) { + dStage_objectNameInf* nameInfo = dStage_searchName(p_actorName); if (nameInfo == NULL) { return NULL; } else { - return fopAcM_fastCreate(nameInfo->mProcName, parameter, pActorPos, roomNo, pActorRot, - pScale, nameInfo->mSubtype, pCreateFunc, pCreateFuncData); + return fopAcM_fastCreate(nameInfo->mProcName, parameter, p_pos, roomNo, p_angle, + p_scale, nameInfo->mSubtype, p_createFunc, p_createFuncData); } } /* 80019EF0-80019F78 014830 0088+00 0/0 1/1 105/105 .text * fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i */ -s32 fopAcM_createChild(s16 pProcTypeID, unsigned int pParentPId, u32 pParameter, const cXyz* pPos, - int pRoomNo, const csXyz* pAngle, const cXyz* pScale, s8 pSubType, - createFunc param_9) { +s32 fopAcM_createChild(s16 procName, unsigned int parentPId, u32 parameters, const cXyz* p_pos, + int roomNo, const csXyz* p_angle, const cXyz* p_scale, s8 subType, + createFunc p_createFunc) { fopAcM_prm_class* paramClass = - createAppend(0xFFFF, pParameter, pPos, pRoomNo, pAngle, pScale, pSubType, pParentPId); + createAppend(0xFFFF, parameters, p_pos, roomNo, p_angle, p_scale, subType, parentPId); if (paramClass == NULL) { return -1; } else { - return fpcSCtRq_Request(fpcLy_CurrentLayer(), pProcTypeID, (stdCreateFunc)param_9, NULL, - paramClass); + return fpcM_Create(procName, p_createFunc, paramClass); } } /* 80019F78-8001A138 0148B8 01C0+00 0/0 0/0 6/6 .text * fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i */ -s32 fopAcM_createChildFromOffset(s16 procTypeID, unsigned int parentProcID, u32 actorParams, - const cXyz* pActorPos, int roomNo, const csXyz* pActorRot, - const cXyz* pScale, s8 subType, createFunc pCreateFunc) { - struct { - s32 procID; - } searchParams; - searchParams.procID = parentProcID; - fopAc_ac_c* parentActor = - static_cast(fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &searchParams)); - s16 parentRotY = parentActor->getAngle().GetY(); +s32 fopAcM_createChildFromOffset(s16 procName, unsigned int parentProcID, u32 actorParams, + const cXyz* p_pos, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, s8 subType, createFunc p_createFunc) { + fopAc_ac_c* parentActor = fopAcM_SearchByID(parentProcID); + s16 parent_angleY = parentActor->mCurrent.mAngle.y; + cXyz tmpPos; - if (pActorPos == NULL) { + if (p_pos == NULL) { tmpPos = cXyz::Zero; } else { - tmpPos = *pActorPos; + tmpPos = *p_pos; } + csXyz tmpRot; - if (pActorRot == NULL) { + if (p_angle == NULL) { tmpRot = csXyz::Zero; } else { - tmpRot = *pActorRot; + tmpRot = *p_angle; } - cXyz parentPos = parentActor->getPosition(); - csXyz tmpRotCopy(tmpRot); - tmpRotCopy.y += parentRotY; - parentPos.x += tmpPos.z * cM_ssin(parentRotY) + tmpPos.x * cM_scos(parentRotY); + cXyz parentPos = parentActor->mCurrent.mPosition; + csXyz newAngle(tmpRot); + + newAngle.y += parent_angleY; + parentPos.x += tmpPos.z * cM_ssin(parent_angleY) + tmpPos.x * cM_scos(parent_angleY); parentPos.y += tmpPos.y; - parentPos.z += tmpPos.z * cM_scos(parentRotY) - tmpPos.x * cM_ssin(parentRotY); - fopAcM_prm_class* prmClass = createAppend(0xFFFF, actorParams, &parentPos, roomNo, &tmpRotCopy, - pScale, subType, parentProcID); + parentPos.z += tmpPos.z * cM_scos(parent_angleY) - tmpPos.x * cM_ssin(parent_angleY); + + fopAcM_prm_class* prmClass = createAppend(0xFFFF, actorParams, &parentPos, roomNo, &newAngle, + p_scale, subType, parentProcID); if (prmClass == NULL) { return -1; } else { - return fpcSCtRq_Request(fpcLy_CurrentLayer(), procTypeID, (stdCreateFunc)pCreateFunc, NULL, - prmClass); + return fpcM_Create(procName, p_createFunc, prmClass); } } @@ -654,27 +530,29 @@ s32 fopAcM_createChildFromOffset(s16 procTypeID, unsigned int parentProcID, u32 /* 803788C8-803788C8 004F28 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on +// "Creating Actor Heap" SECTION_DEAD static char const* const stringBase_803788D7 = "アクターのヒープの生成"; + +// "fopAcM_createHeap allocation failure\n" SECTION_DEAD static char const* const stringBase_803788EE = "fopAcM_createHeap 確保失敗\n"; -SECTION_DEAD static char const* const stringBase_8037890A = "アクターのヒープの破壊"; #pragma pop /* 8001A138-8001A188 014A78 0050+00 0/0 1/1 1/1 .text fopAcM_DeleteHeap__FP10fopAc_ac_c */ -void fopAcM_DeleteHeap(fopAc_ac_c* pActor) { +void fopAcM_DeleteHeap(fopAc_ac_c* p_actor) { // "Destroying actor's heap" - fopAcM_Log(pActor, "アクターのヒープの破壊"); - if (pActor->mHeap != NULL) { - mDoExt_destroySolidHeap(pActor->mHeap); - pActor->mHeap = NULL; + fopAcM_Log(p_actor, "アクターのヒープの破壊"); + if (p_actor->mHeap != NULL) { + mDoExt_destroySolidHeap(p_actor->mHeap); + p_actor->mHeap = NULL; } } /* 8001A188-8001A1E8 014AC8 0060+00 1/1 0/0 0/0 .text * fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap */ -s32 fopAcM_callCallback(fopAc_ac_c* pActor, heapCallbackFunc pCallbackFunc, JKRHeap* pHeap) { - JKRHeap* oldHeap = mDoExt_setCurrentHeap(pHeap); - s32 ret = pCallbackFunc(pActor); +s32 fopAcM_callCallback(fopAc_ac_c* p_actor, heapCallbackFunc p_callbackFunc, JKRHeap* p_heap) { + JKRHeap* oldHeap = mDoExt_setCurrentHeap(p_heap); + s32 ret = p_callbackFunc(p_actor); mDoExt_setCurrentHeap(oldHeap); return ret; } @@ -687,30 +565,33 @@ static u8 lbl_80450CC9; /* 8001A1E8-8001A4B0 014B28 02C8+00 1/1 0/0 0/0 .text * fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */ -bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, u32 pSize) { - const char* procNameString = fopAcM_getProcNameString(pActor); +bool fopAcM_entrySolidHeap_(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size) { + const char* procNameString = fopAcM_getProcNameString(p_actor); JKRSolidHeap* heap00 = NULL; - if (pSize != 0) { - pSize = ALIGN_NEXT(pSize, 0x10); + + if (size != 0) { + size = ALIGN_NEXT(size, 0x10); } + while (true) { - if (pSize != 0) { - heap00 = mDoExt_createSolidHeapFromGame(pSize, 0x20); + if (size != 0) { + heap00 = mDoExt_createSolidHeapFromGame(size, 0x20); if (heap00 != NULL) { - bool status = fopAcM_callCallback(pActor, pHeapCallback, heap00) != 0; + bool status = fopAcM_callCallback(p_actor, p_heapCallback, heap00) != 0; if (!status) { // "Entry for estimated heap size(%08x) failed. %08x[%s]\n" OSReport_Error("見積もりヒープサイズ(%08x)で登録失敗しました。%08x[%s]\n", - pSize, heap00->getFreeSize(), procNameString); + size, heap00->getFreeSize(), procNameString); mDoExt_destroySolidHeap(heap00); heap00 = NULL; } } else { // "Could not allocate estimated heap. %08x [%s]\n" - OSReport_Error("見積もりヒープが確保できませんでした。 %08x [%s]\n", pSize, + OSReport_Error("見積もりヒープが確保できませんでした。 %08x [%s]\n", size, procNameString); } } + if (heap00 == NULL) { heap00 = mDoExt_createSolidHeapFromGame(0xFFFFFFFF, 0x20); if (heap00 == NULL) { @@ -718,7 +599,8 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, OSReport_Error("最大空きヒープサイズで確保失敗。[%s]\n", procNameString); return false; } - bool status = fopAcM_callCallback(pActor, pHeapCallback, heap00) != 0; + + bool status = fopAcM_callCallback(p_actor, p_heapCallback, heap00) != 0; if (!status) { // "Entry failed for maximum heap size. %08x[%s]\n" OSReport_Error("最大空きヒープサイズで登録失敗。%08x[%s]\n", heap00->getFreeSize(), @@ -727,12 +609,14 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, return false; } } + if (heap00 == NULL) { break; } + if (lbl_80450CC8 == 0) { mDoExt_adjustSolidHeap(heap00); - pActor->mHeap = heap00; + p_actor->mHeap = heap00; return true; } else { JKRSolidHeap* heap = NULL; @@ -741,11 +625,12 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, if (alignedSize + 0x90 < mDoExt_getGameHeap()->getFreeSize()) { heap = mDoExt_createSolidHeapFromGame(alignedSize, 0x20); } + if (heap != NULL) { if (heap < heap00) { mDoExt_destroySolidHeap(heap00); heap00 = NULL; - bool status = fopAcM_callCallback(pActor, pHeapCallback, heap) != 0; + bool status = fopAcM_callCallback(p_actor, p_heapCallback, heap) != 0; if (!status) { // "Entry fails at exact size? (Bug)\n" OSReport_Error("ぴったりサイズで、登録失敗?(バグ)\n"); @@ -757,16 +642,19 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, heap = NULL; } } + if (heap != NULL) { mDoExt_adjustSolidHeap(heap); - pActor->mHeap = heap; + p_actor->mHeap = heap; return true; } + if (heap00 != NULL) { mDoExt_adjustSolidHeap(heap00); - pActor->mHeap = heap00; + p_actor->mHeap = heap00; return true; } + OSReport_Error("ばぐばぐです\n"); // "There's a big bug\n" OSReport_Error("緊急回避措置\n"); // "Emergency action\n" lbl_80450CC8 = 0; @@ -779,87 +667,89 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, /* 8001A4B0-8001A528 014DF0 0078+00 0/0 4/4 446/446 .text * fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */ -bool fopAcM_entrySolidHeap(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, u32 size) { +bool fopAcM_entrySolidHeap(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size) { u8 oldCC9 = lbl_80450CC9; if (size & 0x80000000) { lbl_80450CC9 = 1; } + u8 oldCC8 = lbl_80450CC8; if (size & 0x20000000) { lbl_80450CC8 = 0; } else if (size & 0x10000000) { lbl_80450CC8 = 1; } - bool result = fopAcM_entrySolidHeap_(pActor, pHeapCallback, size & 0xFFFFFF); + + bool result = fopAcM_entrySolidHeap_(p_actor, p_heapCallback, size & 0xFFFFFF); lbl_80450CC9 = oldCC9; lbl_80450CC8 = oldCC8; return result; } /* 8001A528-8001A538 014E68 0010+00 0/0 0/0 136/136 .text fopAcM_SetMin__FP10fopAc_ac_cfff */ -void fopAcM_SetMin(fopAc_ac_c* pActor, f32 minX, f32 minY, f32 minZ) { - pActor->mCull.mBox.mMin.set(minX, minY, minZ); +void fopAcM_SetMin(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ) { + p_actor->mCull.mBox.mMin.set(minX, minY, minZ); } /* 8001A538-8001A548 014E78 0010+00 0/0 0/0 136/136 .text fopAcM_SetMax__FP10fopAc_ac_cfff */ -void fopAcM_SetMax(fopAc_ac_c* pActor, f32 maxX, f32 maxY, f32 maxZ) { - pActor->mCull.mBox.mMax.set(maxX, maxY, maxZ); +void fopAcM_SetMax(fopAc_ac_c* p_actor, f32 maxX, f32 maxY, f32 maxZ) { + p_actor->mCull.mBox.mMax.set(maxX, maxY, maxZ); } /* 8001A548-8001A564 014E88 001C+00 1/1 0/0 260/260 .text * fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff */ -void fopAcM_setCullSizeBox(fopAc_ac_c* pActor, f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, +void fopAcM_setCullSizeBox(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, f32 maxZ) { - pActor->mCull.mBox.mMin.set(minX, minY, minZ); - pActor->mCull.mBox.mMax.set(maxX, maxY, maxZ); + p_actor->mCull.mBox.mMin.set(minX, minY, minZ); + p_actor->mCull.mBox.mMax.set(maxX, maxY, maxZ); } /* 8001A564-8001A578 014EA4 0014+00 0/0 0/0 4/4 .text fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff */ -void fopAcM_setCullSizeSphere(fopAc_ac_c* pActor, f32 minX, f32 minY, f32 minZ, f32 radius) { - pActor->mCull.mSphere.mCenter.set(minX, minY, minZ); - pActor->mCull.mSphere.mRadius = radius; +void fopAcM_setCullSizeSphere(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ, f32 radius) { + p_actor->mCull.mSphere.mCenter.set(minX, minY, minZ); + p_actor->mCull.mSphere.mRadius = radius; } /* 8001A578-8001A5DC 014EB8 0064+00 0/0 0/0 123/123 .text * fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_setCullSizeBox2(fopAc_ac_c* param_0, J3DModelData* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData.s" +void fopAcM_setCullSizeBox2(fopAc_ac_c* p_actor, J3DModelData* p_modelData) { + J3DJoint* jointNode = p_modelData->getJointNodePointer(0); + + f32 minX = p_actor->mScale.x * jointNode->getMin()->x; + f32 minY = p_actor->mScale.y * jointNode->getMin()->y; + f32 minZ = p_actor->mScale.z * jointNode->getMin()->z; + f32 maxX = p_actor->mScale.x * jointNode->getMax()->x; + f32 maxY = p_actor->mScale.y * jointNode->getMax()->y; + f32 maxZ = p_actor->mScale.z * jointNode->getMax()->z; + + fopAcM_setCullSizeBox(p_actor, minX, minY, minZ, maxX, maxY, maxZ); } -#pragma pop /* 8001A5DC-8001A60C 014F1C 0030+00 0/0 0/0 1/1 .text fopAcM_addAngleY__FP10fopAc_ac_css */ -bool fopAcM_addAngleY(fopAc_ac_c* pActor, s16 target, s16 step) { - return cLib_chaseAngleS(&fopAcM_GetAngle_p(pActor).y, target, step); +bool fopAcM_addAngleY(fopAc_ac_c* p_actor, s16 target, s16 step) { + return cLib_chaseAngleS(&fopAcM_GetAngle_p(p_actor).y, target, step); } -inline void fopAcM_SetSpeed(fopAc_ac_c* pActor, f32 speedX, f32 speedY, f32 speedZ) { - pActor->mSpeed.set(speedX, speedY, speedZ); +inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* p_actor) { + return p_actor->mSpeedF; } -inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* pActor) { - return pActor->mSpeedF; +inline f32 fopAcM_GetGravity(const fopAc_ac_c* p_actor) { + return p_actor->mGravity; } -inline f32 fopAcM_GetGravity(const fopAc_ac_c* pActor) { - return pActor->mGravity; +inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* p_actor) { + return p_actor->mMaxFallSpeed; } -inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* pActor) { - return pActor->mMaxFallSpeed; +inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) { + return p_actor->mSpeed; } -inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* pActor) { - return pActor->mSpeed; -} - -inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* pActor) { - return pActor->mCurrent.mPosition; +inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) { + return p_actor->mCurrent.mPosition; } inline void clampMin(f32& val, f32 min) { @@ -869,35 +759,36 @@ inline void clampMin(f32& val, f32 min) { } /* 8001A60C-8001A660 014F4C 0054+00 1/1 0/0 8/8 .text fopAcM_calcSpeed__FP10fopAc_ac_c */ -void fopAcM_calcSpeed(fopAc_ac_c* pActor) { - f32 speedF = fopAcM_GetSpeedF(pActor); - f32 gravity = fopAcM_GetGravity(pActor); - f32 xSpeed = speedF * cM_ssin(pActor->getAngle().GetY()); - f32 ySpeed = pActor->mSpeed.y + gravity; - f32 zSpeed = speedF * cM_scos(pActor->getAngle().GetY()); - clampMin(ySpeed, fopAcM_GetMaxFallSpeed(pActor)); - fopAcM_SetSpeed(pActor, xSpeed, ySpeed, zSpeed); +void fopAcM_calcSpeed(fopAc_ac_c* p_actor) { + f32 speedF = fopAcM_GetSpeedF(p_actor); + f32 gravity = fopAcM_GetGravity(p_actor); + f32 xSpeed = speedF * cM_ssin(p_actor->getAngle().GetY()); + f32 ySpeed = p_actor->mSpeed.y + gravity; + f32 zSpeed = speedF * cM_scos(p_actor->getAngle().GetY()); + + clampMin(ySpeed, fopAcM_GetMaxFallSpeed(p_actor)); + fopAcM_SetSpeed(p_actor, xSpeed, ySpeed, zSpeed); } /* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */ -void fopAcM_posMove(fopAc_ac_c* pActor, const cXyz* pXyz) { - pActor->mCurrent.mPosition += pActor->mSpeed; - if (pXyz != NULL) { - pActor->mCurrent.mPosition += *pXyz; +void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos) { + p_actor->mCurrent.mPosition += p_actor->mSpeed; + if (p_movePos != NULL) { + p_actor->mCurrent.mPosition += *p_movePos; } } /* 8001A6CC-8001A710 01500C 0044+00 0/0 5/5 137/137 .text fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz */ -void fopAcM_posMoveF(fopAc_ac_c* pActor, const cXyz* pXyz) { - fopAcM_calcSpeed(pActor); - fopAcM_posMove(pActor, pXyz); +void fopAcM_posMoveF(fopAc_ac_c* p_actor, const cXyz* p_movePos) { + fopAcM_calcSpeed(p_actor); + fopAcM_posMove(p_actor, p_movePos); } /* 8001A710-8001A738 015050 0028+00 1/1 26/26 596/596 .text * fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c */ -s16 fopAcM_searchActorAngleY(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { - return cLib_targetAngleY(&pActorA->mCurrent.mPosition, &pActorB->mCurrent.mPosition); +s16 fopAcM_searchActorAngleY(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { + return cLib_targetAngleY(&p_actorA->mCurrent.mPosition, &p_actorB->mCurrent.mPosition); } /* ############################################################################################## */ @@ -923,9 +814,9 @@ inline f32 square(f32 f) { /* 8001A738-8001A79C 015078 0064+00 0/0 0/0 13/13 .text * fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c */ #ifdef NON_MATCHING -s16 fopAcM_searchActorAngleX(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { - const cXyz& posA = fopAcM_GetPosition_p(pActorA); - const cXyz& posB = fopAcM_GetPosition_p(pActorB); +s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { + const cXyz& posA = fopAcM_GetPosition_p(p_actorA); + const cXyz& posB = fopAcM_GetPosition_p(p_actorB); return cM_atan2s(posB.y - posA.y, JMAFastSqrt__Ff(square(posB.x - posA.x) + square(posB.z - posA.z))); } @@ -933,7 +824,7 @@ s16 fopAcM_searchActorAngleX(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActor #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s16 fopAcM_searchActorAngleX(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { +asm s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c.s" } @@ -942,10 +833,10 @@ asm s16 fopAcM_searchActorAngleX(fopAc_ac_c const* param_0, fopAc_ac_c const* pa /* 8001A79C-8001A7E0 0150DC 0044+00 0/0 3/3 15/15 .text * fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c */ -s32 fopAcM_seenActorAngleY(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { +s32 fopAcM_seenActorAngleY(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { return abs(static_cast( - cLib_targetAngleY(&pActorA->mCurrent.mPosition, &pActorB->mCurrent.mPosition) - - pActorA->mCollisionRot.y)); + cLib_targetAngleY(&p_actorA->mCurrent.mPosition, &p_actorB->mCurrent.mPosition) - + p_actorA->mCollisionRot.y)); } /* ############################################################################################## */ @@ -977,15 +868,15 @@ inline f32 local_sqrtf(f32 mag) { /* 8001A7E0-8001A914 015120 0134+00 0/0 5/5 188/188 .text * fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c */ -f32 fopAcM_searchActorDistance(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { - cXyz tmp = (pActorB->mCurrent.mPosition - pActorA->mCurrent.mPosition); +f32 fopAcM_searchActorDistance(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { + cXyz tmp = (p_actorB->mCurrent.mPosition - p_actorA->mCurrent.mPosition); return local_sqrtf(tmp.abs2()); } /* 8001A914-8001A964 015254 0050+00 0/0 0/0 2/2 .text * fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c */ -f32 fopAcM_searchActorDistance2(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { - cXyz tmp = (pActorB->mCurrent.mPosition - pActorA->mCurrent.mPosition); +f32 fopAcM_searchActorDistance2(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { + cXyz tmp = (p_actorB->mCurrent.mPosition - p_actorA->mCurrent.mPosition); return tmp.abs2(); } @@ -993,16 +884,16 @@ f32 fopAcM_searchActorDistance2(const fopAc_ac_c* pActorA, const fopAc_ac_c* pAc * fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c */ #ifdef NON_MATCHING // matches besides data -f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { - const cXyz& posA = fopAcM_GetPosition_p(pActorA); - const cXyz& posB = fopAcM_GetPosition_p(pActorB); +f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { + const cXyz& posA = fopAcM_GetPosition_p(p_actorA); + const cXyz& posB = fopAcM_GetPosition_p(p_actorB); return sqrtf((posB - posA).abs2XZ()); } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm f32 fopAcM_searchActorDistanceXZ(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { +asm f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c.s" } @@ -1013,9 +904,9 @@ asm f32 fopAcM_searchActorDistanceXZ(fopAc_ac_c const* param_0, fopAc_ac_c const * fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c */ #ifdef NON_MATCHING // matches besides data -f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { - const cXyz& posA = fopAcM_GetPosition_p(pActorA); - const cXyz& posB = fopAcM_GetPosition_p(pActorB); +f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { + const cXyz& posA = fopAcM_GetPosition_p(p_actorA); + const cXyz& posB = fopAcM_GetPosition_p(p_actorB); return (posB - posA).abs2XZ(); } #else @@ -1029,24 +920,55 @@ asm f32 fopAcM_searchActorDistanceXZ2(fopAc_ac_c const* param_0, fopAc_ac_c cons #pragma pop #endif -/* ############################################################################################## */ -/* 80451C20-80451C24 000220 0004+00 1/1 0/0 0/0 .sdata2 @4922 */ -SECTION_SDATA2 static f32 lit_4922 = 40.0f; +BOOL daPy_py_c::checkNowWolf() { + return dComIfGp_getLinkPlayer()->i_checkWolf(); +} -/* 80451C24-80451C28 000224 0004+00 1/1 0/0 0/0 .sdata2 @4923 */ -SECTION_SDATA2 static f32 lit_4923 = 55.0f; +inline f32 fopAcM_searchActorDistanceY(const fopAc_ac_c* actorA, const fopAc_ac_c* actorB) { + return actorB->mCurrent.mPosition.y - actorA->mCurrent.mPosition.y; +} + +inline s16 fopAcM_searchPlayerAngleY(const fopAc_ac_c* actor) { + return fopAcM_searchActorAngleY(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0)); +} + +inline f32 fopAcM_searchPlayerDistanceY(const fopAc_ac_c* actor) { + return fopAcM_searchActorDistanceY(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0)); +} + +inline f32 fopAcM_searchPlayerDistanceXZ2(const fopAc_ac_c* actor) { + return fopAcM_searchActorDistanceXZ2(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0)); +} /* 8001AAE0-8001AC40 015420 0160+00 0/0 0/0 2/2 .text * fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_rollPlayerCrash(fopAc_ac_c const* param_0, f32 param_1, u32 param_2, f32 param_3, +s32 fopAcM_rollPlayerCrash(fopAc_ac_c const* actor, f32 param_1, u32 param_2, f32 param_3, f32 param_4, int param_5, f32 param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif.s" + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + + if (player != dComIfGp_getLinkPlayer()) { + return 0; + } + + f32 tmp = param_1 + 40.0f; + + if (daPy_py_c::checkNowWolf()) { + tmp += 55.0f; + } + + f32 y_dist = fopAcM_searchPlayerDistanceY(actor); + if (y_dist > param_4 && y_dist < param_3 && + (player->checkFrontRoll() || player->checkWolfDash()) && + fopAcM_searchPlayerDistanceXZ2(actor) < (tmp * tmp)) { + + if (cM_scos(player->mCurrent.mAngle.y - fopAcM_searchPlayerAngleY(actor)) < param_6) { + player->onFrollCrashFlg(param_2, param_5); + return 1; + } + } + + return 0; } -#pragma pop /* 8001AC40-8001ACEC 015580 00AC+00 0/0 0/0 2/2 .text fopAcM_checkCullingBox__FPA4_fffffff */ s32 fopAcM_checkCullingBox(Mtx pMtx, f32 x1, f32 y1, f32 z1, f32 x2, f32 y2, f32 z2) { @@ -1106,40 +1028,59 @@ asm s32 fopAcM_cullingCheck(fopAc_ac_c const* param_0) { #pragma pop /* 8001B058-8001B068 015998 0010+00 5/5 0/0 0/0 .text event_second_actor__FUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 event_second_actor(u16 param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/event_second_actor__FUs.s" +void* event_second_actor(u16) { + return dComIfGp_getPlayer(0); +} + +inline dEvt_control_c& dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); } -#pragma pop /* 8001B068-8001B0FC 0159A8 0094+00 0/0 3/3 0/0 .text * fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderTalkEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" +s32 fopAcM_orderTalkEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priority, u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actorA))) { + return 0; + } + + if (priority == 0) { + priority = 0x1FF; + } + + return dComIfGp_event_order(0, priority, flag, 0x14F, actorA, actorB, -1, -1); } -#pragma pop /* 8001B0FC-8001B19C 015A3C 00A0+00 0/0 1/1 0/0 .text * fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderTalkItemBtnEvent(u16 param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2, - u16 param_3, u16 param_4) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs.s" +s32 fopAcM_orderTalkItemBtnEvent(u16 eventType, fopAc_ac_c* actorA, fopAc_ac_c* actorB, + u16 priority, u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actorA))) { + return 0; + } + + if (priority == 0) { + priority = 0x1F4; + } + + return dComIfGp_event_order(eventType, priority, flag, 0x14F, actorA, actorB, -1, -1); } -#pragma pop /* 8001B19C-8001B244 015ADC 00A8+00 0/0 3/3 16/16 .text fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs */ +// wrong load order +#ifdef NONMATCHING +s32 fopAcM_orderSpeakEvent(fopAc_ac_c* actor, u16 priority, u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actor))) { + return 0; + } + + if (priority == 0) { + priority = 0x1EA; + } + + return dComIfGp_event_order(0, priority, flag, 0x14F, dComIfGp_getPlayer(0), actor, -1, -1); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1148,113 +1089,212 @@ asm s32 fopAcM_orderSpeakEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { #include "asm/f_op/f_op_actor_mng/fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs.s" } #pragma pop +#endif + +inline dEvent_manager_c& dComIfGp_getEventManager() { + return g_dComIfG_gameInfo.play.getEvtManager(); +} /* 8001B244-8001B334 015B84 00F0+00 0/0 2/2 0/0 .text * fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderDoorEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" +s32 fopAcM_orderDoorEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priority, u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actorA))) { + return 0; + } + + if (priority == 0) { + priority = 0xFF; + } + + s16 eventID = actorB->mEvtInfo.getEventId(); + u8 toolID = actorB->mEvtInfo.getMapToolId(); + + if (fopAcM_GetProfName(actorB) == 0x55 && toolID != 0xFF) { + eventID = dComIfGp_getEventManager().getEventIdx(actorA, NULL, toolID); + } + + return dComIfGp_event_order(1, priority, flag, -1, actorA, actorB, eventID, toolID); } -#pragma pop /* 8001B334-8001B3CC 015C74 0098+00 0/0 1/1 0/0 .text * fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderCatchEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" +s32 fopAcM_orderCatchEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priority, u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actorA))) { + return 0; + } + + if (priority == 0) { + priority = 2; + } + + return dComIfGp_event_order(10, priority, flag, -1, actorA, actorB, -1, -1); } -#pragma pop /* 8001B3CC-8001B4E0 015D0C 0114+00 0/0 2/2 6/6 .text * fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderOtherEvent(fopAc_ac_c* param_0, char const* param_1, u16 param_2, u16 param_3, - u16 param_4) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs.s" +s32 fopAcM_orderOtherEvent(fopAc_ac_c* actor, char const* param_1, u16 param_2, u16 flag, + u16 priority) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actor))) { + return 0; + } + + s16 eventIdx = dComIfGp_getEventManager().getEventIdx(actor, param_1, -1); + if (eventIdx < 0) { + return 0; + } + + u16 eventPrio = dComIfGp_getEventManager().getEventPrio(actor, eventIdx); + if (eventPrio == 0) { + eventPrio = 0xFF; + } + + if (priority != 0) { + eventPrio = priority; + } + + return dComIfGp_event_order(2, eventPrio, flag, param_2, actor, event_second_actor(flag), eventIdx, -1); } -#pragma pop /* 8001B4E0-8001B5E4 015E20 0104+00 0/0 1/1 2/2 .text * fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderOtherEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, char const* param_2, - u16 param_3, u16 param_4, u16 param_5) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs.s" +s32 fopAcM_orderOtherEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, char const* param_2, + u16 param_3, u16 flag, u16 priority) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actorA))) { + return 0; + } + + s16 eventIdx = dComIfGp_getEventManager().getEventIdx(actorA, param_2, -1); + if (eventIdx < 0) { + return 0; + } + + u16 eventPrio = dComIfGp_getEventManager().getEventPrio(actorA, eventIdx); + if (eventPrio == 0) { + eventPrio = 0xFF; + } + + if (priority != 0) { + eventPrio = priority; + } + + return dComIfGp_event_order(2, eventPrio, flag, param_3, actorA, actorB, eventIdx, -1); } -#pragma pop /* 8001B5E4-8001B67C 015F24 0098+00 0/0 2/2 41/41 .text * fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderChangeEventId(fopAc_ac_c* param_0, s16 param_1, u16 param_2, u16 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs.s" +s32 fopAcM_orderChangeEventId(fopAc_ac_c* actor, s16 eventID, u16 flag, u16 param_3) { + u16 eventPrio = dComIfGp_getEventManager().getEventPrio(actor, eventID); + if (eventPrio == 0) { + eventPrio = 0xFF; + } + + return dComIfGp_event_order(2, eventPrio, flag | 0x400, param_3, actor, event_second_actor(flag), eventID, -1); } -#pragma pop /* 8001B67C-8001B7B4 015FBC 0138+00 0/0 10/10 101/101 .text * fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderOtherEventId(fopAc_ac_c* param_0, s16 param_1, u8 param_2, u16 param_3, - u16 param_4, u16 param_5) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs.s" +s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 param_2, u16 param_3, + u16 priority, u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actor))) { + return 0; + } + + u16 newPriority = 50; + s32 roomNo = dComIfGp_roomControl_getStayNo(); + if (actor != NULL) { + roomNo = fopAcM_GetRoomNo(actor); + } + + if (priority != 0) { + newPriority = priority; + } else if (actor != NULL) { + u16 eventPrio = dComIfGp_getEventManager().getEventPrio(actor, eventID); + + if (eventPrio != 0) { + newPriority = eventPrio; + } else if (param_2 != 0xFF) { + dStage_MapEvent_dt_c* dt = dEvt_control_c::searchMapEventData(param_2, roomNo); + + if (dt != NULL) { + newPriority = dt->field_0x6; + } + } + } + + return dComIfGp_event_order(2, newPriority, flag, param_3, actor, event_second_actor(flag), eventID, param_2); } -#pragma pop /* 8001B7B4-8001B8E0 0160F4 012C+00 1/1 1/1 4/4 .text * fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderMapToolEvent(fopAc_ac_c* param_0, u8 param_1, s16 param_2, u16 param_3, - u16 param_4, u16 param_5) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs.s" +s32 fopAcM_orderMapToolEvent(fopAc_ac_c* actor, u8 param_1, s16 eventID, u16 param_3, + u16 flag, u16 param_5) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actor))) { + return 0; + } + + u16 newPriority = 100; + s32 roomNo = dComIfGp_roomControl_getStayNo(); + if (actor != NULL) { + roomNo = fopAcM_GetRoomNo(actor); + } + + dStage_MapEvent_dt_c* dt = dEvt_control_c::searchMapEventData(param_1, roomNo); + if (dt != NULL) { + newPriority = dt->field_0x6; + + if (eventID == 0xFF) { + eventID = dComIfGp_getEventManager().getEventIdx(actor, param_1); + } + } + + if (flag & 0x100) { + newPriority = 3; + } + + if (param_5 != 0) { + newPriority = param_5; + } + + return dComIfGp_event_order(2, newPriority, flag, param_3, actor, event_second_actor(flag), eventID, param_1); } -#pragma pop /* 8001B8E0-8001B908 016220 0028+00 0/0 1/1 1/1 .text * fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c* param_0, u8 param_1, s16 param_2, u16 param_3, - u16 param_4, u16 param_5) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs.s" +s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c* actor, u8 param_1, s16 eventID, u16 param_3, + u16 flag, u16 param_5) { + return fopAcM_orderMapToolEvent(actor, param_1, eventID, param_3, flag | 0x100, param_5); } -#pragma pop /* 8001B908-8001B9D0 016248 00C8+00 0/0 0/0 106/106 .text * fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderPotentialEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2, u16 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs.s" +s32 fopAcM_orderPotentialEvent(fopAc_ac_c* actor, u16 flag, u16 param_2, u16 priority) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actor))) { + return 0; + } + + if (priority == 0) { + priority = 0xFF; + } + + return dComIfGp_event_order(4, priority, flag, param_2, actor, event_second_actor(flag), -1, -1); } -#pragma pop /* 8001B9D0-8001BA7C 016310 00AC+00 0/0 3/3 12/12 .text fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs */ +// load order +#ifdef NONMATCHING +s32 fopAcM_orderItemEvent(fopAc_ac_c* actor, u16 priority, u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actor))) { + return 0; + } + + if (priority == 0) { + priority = 0xFF; + } + + return dComIfGp_event_order(5, priority, flag, -1, dComIfGp_getPlayer(0), actor, -1, -1); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1263,91 +1303,176 @@ asm s32 fopAcM_orderItemEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { #include "asm/f_op/f_op_actor_mng/fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs.s" } #pragma pop +#endif /* 8001BA7C-8001BB14 0163BC 0098+00 0/0 1/1 0/0 .text * fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_orderTreasureEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, - u16 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" +s32 fopAcM_orderTreasureEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priority, + u16 flag) { + if (!dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !dComIfGp_getEvent().isChangeOK(actorA))) { + return 0; + } + + if (priority == 0) { + priority = 0xFF; + } + + return dComIfGp_event_order(11, priority, flag, -1, actorA, actorB, -1, -1); } -#pragma pop /* 8001BB14-8001BB44 016454 0030+00 0/0 11/11 10/10 .text * fopAcM_getTalkEventPartner__FPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_getTalkEventPartner(fopAc_ac_c const* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_getTalkEventPartner__FPC10fopAc_ac_c.s" +void* fopAcM_getTalkEventPartner(fopAc_ac_c const*) { + return dComIfGp_event_getTalkPartner(); } -#pragma pop /* 8001BB44-8001BB74 016484 0030+00 0/0 5/5 0/0 .text fopAcM_getItemEventPartner__FPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_getItemEventPartner(fopAc_ac_c const* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_getItemEventPartner__FPC10fopAc_ac_c.s" +void* fopAcM_getItemEventPartner(fopAc_ac_c const*) { + return dComIfGp_event_getItemPartner(); } -#pragma pop /* 8001BB74-8001BBE8 0164B4 0074+00 0/0 1/1 0/0 .text fopAcM_getEventPartner__FPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_getEventPartner(fopAc_ac_c const* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_getEventPartner__FPC10fopAc_ac_c.s" +void* fopAcM_getEventPartner(fopAc_ac_c const* actor) { + if (dComIfGp_event_getPt1() != actor) { + return dComIfGp_event_getPt1(); + } + + return dComIfGp_event_getPt2(); } -#pragma pop /* 8001BBE8-8001BC74 016528 008C+00 0/0 5/5 43/43 .text * fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_createItemForPresentDemo(cXyz const* param_0, int param_1, u8 param_2, int param_3, - int param_4, csXyz const* param_5, cXyz const* param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz.s" +s32 fopAcM_createItemForPresentDemo(cXyz const* p_pos, int i_itemNo, u8 param_2, int i_itemBitNo, + int i_roomNo, csXyz const* p_angle, cXyz const* p_scale) { + dComIfGp_event_setGtItm(i_itemNo); + + if (i_itemNo == NO_ITEM) { + return -1; + } else { + return fopAcM_createDemoItem(p_pos, i_itemNo, i_itemBitNo, p_angle, i_roomNo, p_scale, param_2); + } } -#pragma pop /* 8001BC74-8001BCFC 0165B4 0088+00 0/0 2/2 10/10 .text * fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_createItemForTrBoxDemo(cXyz const* param_0, int param_1, int param_2, int param_3, - csXyz const* param_4, cXyz const* param_5) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz.s" +s32 fopAcM_createItemForTrBoxDemo(cXyz const* p_pos, int i_itemNo, int i_itemBitNo, int i_roomNo, + csXyz const* p_angle, cXyz const* p_scale) { + dComIfGp_event_setGtItm(i_itemNo); + + if (i_itemNo == NO_ITEM) { + return -1; + } else { + return fopAcM_createDemoItem(p_pos, i_itemNo, i_itemBitNo, p_angle, i_roomNo, p_scale, 0); + } } -#pragma pop /* ############################################################################################## */ /* 80451C28-80451C2C 000228 0004+00 1/1 0/0 0/0 .sdata2 @5584 */ SECTION_SDATA2 static f32 lit_5584 = 15.999899864196777f; +struct ItemTableList { + /* 0x00 */ char mListName[11]; + /* 0x0B */ u8 mTableNum; + /* 0x0C */ u8 padding[4]; + /* 0x10 */ u8 mTables[255][16]; +}; + +inline u16 dComIfGs_getLife() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife(); +} + /* 8001BCFC-8001BE14 01663C 0118+00 2/2 0/0 0/0 .text fopAcM_getItemNoFromTableNo__FUc */ +// out of order instructions / regalloc +#ifdef NONMATCHING +u8 fopAcM_getItemNoFromTableNo(u8 i_tableNo) { + u8 tableNo = i_tableNo; + ItemTableList* tableList = (ItemTableList*)dComIfGp_getItemTable(); + + if (i_tableNo == 255) { + return i_tableNo; + } + + u8 hp_percent = (dComIfGs_getLife() * 100) / (((dComIfGs_getMaxLife() / 5) * 4) & 0xFC); + + switch (i_tableNo) { + case 150: + case 160: + case 170: + case 180: + case 190: + if (hp_percent < 80) { + if (hp_percent >= 60) { + tableNo = i_tableNo + 1; + } else if (hp_percent >= 40) { + tableNo = i_tableNo + 2; + } else if (hp_percent >= 20) { + tableNo = i_tableNo + 3; + } else { + tableNo = i_tableNo + 4; + } + } + break; + } + + return tableList->mTables[tableNo][(int)cM_rndF(15.999f)]; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s32 fopAcM_getItemNoFromTableNo(u8 param_0) { +asm u8 fopAcM_getItemNoFromTableNo(u8 param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getItemNoFromTableNo__FUc.s" } #pragma pop +#endif + +struct EnemyTableList { + /* 0x0 */ u32 mTag; + /* 0x4 */ int field_0x4; // mTableNum? + /* 0x8 */ u8 mData; +}; + +struct EnemyTable { + /* 0x0 */ u8 mEnemyID; + /* 0x1 */ u8 mItemTableNo; + /* 0x2 */ char mStage[8]; +}; /* 8001BE14-8001BF64 016754 0150+00 0/0 0/0 9/9 .text * fopAcM_createItemFromEnemyID__FUcPC4cXyziiPC5csXyzPC4cXyzPfPf */ +// matches with literals +#ifdef NONMATCHING +s32 fopAcM_createItemFromEnemyID(u8 i_enemyID, cXyz const* p_pos, int i_itemBitNo, int i_roomNo, + csXyz const* p_angle, cXyz const* p_scale, f32* speedF, + f32* speedY) { + int tableNo = 0xFF; + EnemyTableList* tblList = (EnemyTableList*)dEnemyItem_c::mData; + int tableNum = tblList->field_0x4; + EnemyTable* table = (EnemyTable*)&tblList->mData; + + for (u32 i = 0; i < tableNum; i++) { + if (i_enemyID == table->mEnemyID) { + if (table->mStage[0] == '#') { + tableNo = table->mItemTableNo; + } else if (!strcmp(dComIfGp_getStartStageName(), table->mStage)) { + tableNo = table->mItemTableNo; + break; + } + } + table++; + } + + if (daPy_getPlayerActorClass()->checkHorseRide()) { + int itemNo = fopAcM_getItemNoFromTableNo(tableNo); + void* ac = fopAcM_createItemForDirectGet(p_pos, itemNo, i_roomNo, NULL, NULL, 0.0f, 0.0f); + return fopAcM_GetID(ac); + } + + return fopAcM_createItemFromTable(p_pos, tableNo, i_itemBitNo, i_roomNo, p_angle, 0, p_scale, speedF, speedY, false); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1358,9 +1483,36 @@ asm s32 fopAcM_createItemFromEnemyID(u8 param_0, cXyz const* param_1, int param_ #include "asm/f_op/f_op_actor_mng/fopAcM_createItemFromEnemyID__FUcPC4cXyziiPC5csXyzPC4cXyzPfPf.s" } #pragma pop +#endif /* 8001BF64-8001C078 0168A4 0114+00 1/1 0/0 11/11 .text * fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb */ +// matches with literals +#ifdef NONMATCHING +s32 fopAcM_createItemFromTable(cXyz const* p_pos, int i_tableNo, int i_itemBitNo, int i_roomNo, + csXyz const* p_angle, int param_5, cXyz const* p_scale, + f32* speedF, f32* speedY, bool createDirect) { + if (i_tableNo == 0xFF) { + return -1; + } + + s32 itemNo = fopAcM_getItemNoFromTableNo(i_tableNo); + if (itemNo == NO_ITEM) { + return -1; + } + + void* ac; + if (createDirect) { + ac = fopAcM_createItemForDirectGet(p_pos, itemNo, i_roomNo, NULL, NULL, 0.0f, 0.0f); + } else if (speedF == NULL && speedY == NULL) { + ac = fopAcM_fastCreateItem2(p_pos, itemNo, i_itemBitNo, i_roomNo, param_5, p_angle, p_scale); + } else { + ac = fopAcM_fastCreateItem(p_pos, itemNo, i_roomNo, p_angle, p_scale, speedF, speedY, i_itemBitNo, param_5, NULL); + } + + return fopAcM_GetID(ac); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1371,29 +1523,28 @@ asm s32 fopAcM_createItemFromTable(cXyz const* param_0, int param_1, int param_2 #include "asm/f_op/f_op_actor_mng/fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb.s" } #pragma pop +#endif /* 8001C078-8001C0D4 0169B8 005C+00 2/2 0/0 0/0 .text * fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc */ -s32 fopAcM_createDemoItem(const cXyz* pPos, int itemNo, int itemBitNo, const csXyz* pRot, +s32 fopAcM_createDemoItem(const cXyz* p_pos, int itemNo, int itemBitNo, const csXyz* p_angle, int roomNo, const cXyz* scale, u8 param_7) { - if (itemNo == 0xFF) { + if (itemNo == NO_ITEM) { return -1; } else { - // TODO: actor enum - return fopAcM_create(0x21d, (itemNo & 0xFF) | (itemBitNo & 0x7F) << 0x8 | (param_7 << 0x10), - pPos, roomNo, pRot, scale, -1); + return fopAcM_create(PROC_Demo_Item, (itemNo & 0xFF) | (itemBitNo & 0x7F) << 0x8 | (param_7 << 0x10), + p_pos, roomNo, p_angle, scale, -1); } } /* 8001C0D4-8001C174 016A14 00A0+00 0/0 0/0 18/18 .text * fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi */ -s32 fopAcM_createItemForBoss(const cXyz* pPos, int param_2, int roomNo, const csXyz* pRot, - const cXyz* pScale, f32 speed, f32 speedY, int param_8) { - fopAc_ac_c* actor = static_cast( - fopAcM_fastCreate(0x21b, 0xFFFF0000 | param_8 << 0x8 | (param_2 & 0xFF), pPos, roomNo, pRot, - pScale, -1, NULL, NULL)); +s32 fopAcM_createItemForBoss(const cXyz* p_pos, int param_2, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32 speedF, f32 speedY, int param_8) { + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_Obj_LifeContainer, 0xFFFF0000 | param_8 << 0x8 | (param_2 & 0xFF), p_pos, roomNo, p_angle, + p_scale, -1, NULL, NULL); if (actor != NULL) { - actor->mSpeedF = speed; + actor->mSpeedF = speedF; actor->mSpeed.y = speedY; } return fopAcM_GetID(actor); @@ -1401,24 +1552,24 @@ s32 fopAcM_createItemForBoss(const cXyz* pPos, int param_2, int roomNo, const cs /* 8001C174-8001C1B8 016AB4 0044+00 0/0 0/0 2/2 .text * fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii */ -s32 fopAcM_createItemForMidBoss(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, - const cXyz* param_5, int param_6, int param_7) { - return fopAcM_createItem(pPos, param_2, param_7, param_3, &csXyz(csXyz::Zero), param_5, 0x6); +s32 fopAcM_createItemForMidBoss(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, int param_6, int param_7) { + return fopAcM_createItem(p_pos, i_itemNo, param_7, i_roomNo, &csXyz(csXyz::Zero), p_scale, 0x6); } /* 8001C1B8-8001C1FC 016AF8 0044+00 2/2 0/0 1/1 .text * fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff */ -void* fopAcM_createItemForDirectGet(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, - const cXyz* param_5, f32 param_6, f32 param_7) { - return fopAcM_fastCreateItem(pPos, param_2, param_3, pRot, param_5, ¶m_6, ¶m_7, -1, 0x7, +void* fopAcM_createItemForDirectGet(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32 speedF, f32 speedY) { + return fopAcM_fastCreateItem(p_pos, i_itemNo, i_roomNo, p_angle, p_scale, &speedF, &speedY, -1, 0x7, NULL); } /* 8001C1FC-8001C240 016B3C 0044+00 0/0 2/2 3/3 .text * fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff */ -void* fopAcM_createItemForSimpleDemo(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, - const cXyz* param_5, f32 param_6, f32 param_7) { - return fopAcM_fastCreateItem(pPos, param_2, param_3, pRot, param_5, ¶m_6, ¶m_7, -1, 0x4, +void* fopAcM_createItemForSimpleDemo(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32 speedF, f32 speedY) { + return fopAcM_fastCreateItem(p_pos, i_itemNo, i_roomNo, p_angle, p_scale, &speedF, &speedY, -1, 0x4, NULL); } @@ -1427,89 +1578,79 @@ inline u32 maskShift(int val, int bits, int shift) { } inline u32 makeItemParams(int iNo, int p8, int unk, int p9) { - // iNo = ; - // u32 part1 = (p8 & 0xFF) << 0x8; - // iNo &= 0xFF; - // u32 part2 = (iNo); - // u32 part3 = (unk & 0xFF) << 0x10; - // u32 part4 = ((p9 & 0xF) << 0x18); - // return part1 | part2 | part3 | part4; - // u32 part2 = (p8 & 0xFF) << 0x8; - // u32 part2 = maskShift(p8, 8, 0x8); - // part2 |= maskShift(iNo, 8, 0); - // part2 |= maskShift(unk, 8, 0x10); - // part2 |= maskShift(p9, 4, 0x18); - // return part2; return maskShift(p8, 8, 0x8) | maskShift(iNo, 8, 0) | maskShift(unk, 8, 0x10) | maskShift(p9, 4, 0x18); } -/* ############################################################################################## */ -/* 80451C2C-80451C30 00022C 0004+00 2/2 0/0 0/0 .sdata2 @5711 */ -SECTION_SDATA2 static f32 lit_5711 = 32767.0f; - /* 8001C240-8001C3E0 016B80 01A0+00 1/1 1/1 17/17 .text * fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi */ -s32 fopAcM_createItem(const cXyz* pPos, int itemNo, int param_3, int roomNo, const csXyz* pRot, - const cXyz* pScale, int param_7) { - if (itemNo == 0xFF) { - return 0xFFFFFFFF; +s32 fopAcM_createItem(const cXyz* p_pos, int itemNo, int param_3, int roomNo, const csXyz* p_angle, + const cXyz* p_scale, int param_7) { + if (itemNo == NO_ITEM) { + return -1; } - csXyz tmps(csXyz::Zero); - if (pRot != NULL) { - tmps = *pRot; + + csXyz item_angle(csXyz::Zero); + if (p_angle != NULL) { + item_angle = *p_angle; } else { - tmps.y = cM_rndFX(FLOAT_LABEL(/* 32767.0f */ lit_5711)); + item_angle.y = cM_rndFX(32767.0f); } - tmps.z = 0xFF; + item_angle.z = 0xFF; + u32 itemActorParams = makeItemParams(check_itemno(itemNo), param_3, 0xFF, param_7); + switch (itemNo) { case RECOVERY_FAILY: - return fopAcM_create(0x13f, 0xFFFFFFFF, pPos, roomNo, pRot, pScale, -1); + return fopAcM_create(PROC_Obj_Yousei, 0xFFFFFFFF, p_pos, roomNo, p_angle, p_scale, -1); case KAKERA_HEART: case UTAWA_HEART: - return fopAcM_create(0x21b, itemActorParams, pPos, roomNo, pRot, pScale, -1); + return fopAcM_create(PROC_Obj_LifeContainer, itemActorParams, p_pos, roomNo, p_angle, p_scale, -1); case TRIPLE_HEART: for (int i = 0; i < 2; i++) { - fopAcM_create(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1); - tmps.y = cM_rndFX(FLOAT_LABEL(lit_5711)); + fopAcM_create(PROC_ITEM, itemActorParams, p_pos, roomNo, &item_angle, p_scale, -1); + item_angle.y = cM_rndFX(32767.0f); } default: - return fopAcM_create(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1); + return fopAcM_create(PROC_ITEM, itemActorParams, p_pos, roomNo, &item_angle, p_scale, -1); } } /* 8001C3E0-8001C5B0 016D20 01D0+00 1/1 0/0 0/0 .text * fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz */ -void* fopAcM_fastCreateItem2(const cXyz* pPos, int itemNo, int param_3, int roomNo, int param_5, - const csXyz* pRot, const cXyz* pScale) { - csXyz tmps(csXyz::Zero); - if (itemNo == 0xFF) { +void* fopAcM_fastCreateItem2(const cXyz* p_pos, int itemNo, int param_3, int roomNo, int param_5, + const csXyz* p_angle, const cXyz* p_scale) { + csXyz item_angle(csXyz::Zero); + + if (itemNo == NO_ITEM) { return NULL; } - if (pRot != NULL) { - tmps = *pRot; + + if (p_angle != NULL) { + item_angle = *p_angle; } else { - tmps.y = cM_rndFX(FLOAT_LABEL(/* 32767.0f */ lit_5711)); + item_angle.y = cM_rndFX(32767.0f); } - tmps.z = 0xFF; + item_angle.z = 0xFF; + int tmpItemNo = check_itemno(itemNo); u32 itemActorParams = (param_3 & 0xFF) << 0x8 | (tmpItemNo & 0xFF) | 0xFF << 0x10 | ((param_5 & 0xF) << 0x18); + switch (itemNo) { case RECOVERY_FAILY: - return fopAcM_fastCreate(0x13f, 0xFFFFFFFF, pPos, roomNo, pRot, pScale, -1, NULL, NULL); + return fopAcM_fastCreate(PROC_Obj_Yousei, 0xFFFFFFFF, p_pos, roomNo, p_angle, p_scale, -1, NULL, NULL); case KAKERA_HEART: case UTAWA_HEART: - return fopAcM_fastCreate(0x21b, itemActorParams, pPos, roomNo, pRot, pScale, -1, NULL, + return fopAcM_fastCreate(PROC_Obj_LifeContainer, itemActorParams, p_pos, roomNo, p_angle, p_scale, -1, NULL, NULL); case TRIPLE_HEART: for (int i = 0; i < 2; i++) { - fopAcM_fastCreate(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1, NULL, NULL); - tmps.y = cM_rndFX(FLOAT_LABEL(lit_5711)); + fopAcM_fastCreate(PROC_ITEM, itemActorParams, p_pos, roomNo, &item_angle, p_scale, -1, NULL, NULL); + item_angle.y = cM_rndFX(32767.0f); } default: - return fopAcM_fastCreate(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1, NULL, + return fopAcM_fastCreate(PROC_ITEM, itemActorParams, p_pos, roomNo, &item_angle, p_scale, -1, NULL, NULL); } } @@ -1532,69 +1673,72 @@ SECTION_SDATA2 static f32 lit_5812 = 1.0f / 5.0f; /* 8001C5B0-8001C870 016EF0 02C0+00 3/3 0/0 4/4 .text * fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i */ +// issue with makeItemParams #ifdef NON_MATCHING -void* fopAcM_fastCreateItem(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, - const cXyz* param_5, f32* param_6, f32* param_7, int param_8, - int param_9, createFunc param_10) { - // regalloc: r30 -> r29, r31 -> r30, r29 -> r31 - if (param_2 == 0xFF) { +void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32* p_speedF, f32* p_speedY, int param_8, + int param_9, createFunc p_createFunc) { + csXyz angle; + + if (i_itemNo == NO_ITEM) { return NULL; } - csXyz tmps; - u32 tmpItemNo = check_itemno(param_2); - // u32 itemActorParams; - // make_prm_item(&itemActorParams, tmpItemNo, param_8, param_9); - u32 itemActorParams = - makeItemParams(tmpItemNo, param_8, 0xFF, param_9); // uses r0 instead of r3 - if (param_6 != NULL && isHeart(param_2) != false) { - *param_6 = FLOAT_LABEL(/* 2.0f */ lit_5808) * *param_6; + + u32 itemActorParams = makeItemParams(check_itemno(i_itemNo), param_8, 0xFF, param_9); + + if (p_speedF != NULL && isHeart(i_itemNo)) { + *p_speedF = *p_speedF * 2.0f; } - switch (param_2) { + + switch (i_itemNo) { case RECOVERY_FAILY: - return fopAcM_fastCreate(0x13f, 0xFFFFFFFF, pPos, param_3, pRot, param_5, -1, NULL, NULL); + return fopAcM_fastCreate(PROC_Obj_Yousei, 0xFFFFFFFF, p_pos, i_roomNo, p_angle, p_scale, -1, NULL, NULL); case KAKERA_HEART: case UTAWA_HEART: - return fopAcM_fastCreate(0x21b, itemActorParams, pPos, param_3, pRot, param_5, -1, NULL, + return fopAcM_fastCreate(PROC_Obj_LifeContainer, itemActorParams, p_pos, i_roomNo, p_angle, p_scale, -1, NULL, NULL); case TRIPLE_HEART: for (int i = 0; i < 2; i++) { - if (pRot != NULL) { - tmps = *pRot; + if (p_angle != NULL) { + angle = *p_angle; } else { - tmps = csXyz::Zero; + angle = csXyz::Zero; } - tmps.z = 0xFF; - tmps.y += (s16)cM_rndFX(FLOAT_LABEL(/* 8192.0f */ lit_5809)); - fopAc_ac_c* actor = static_cast(fopAcM_fastCreate( - 0x218, itemActorParams, pPos, param_3, &tmps, param_5, -1, param_10, NULL)); + angle.z = 0xFF; + angle.y += (s16)cM_rndFX(8192.0f); + + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_ITEM, itemActorParams, p_pos, i_roomNo, &angle, p_scale, -1, p_createFunc, NULL); + if (actor != NULL) { - if (param_6 != NULL) { - actor->mSpeedF = *param_6 * (FLOAT_LABEL(/* 1.0f */ lit_5810) + - cM_rndFX(FLOAT_LABEL(/* 0.3f */ lit_5811))); + if (p_speedF != NULL) { + actor->mSpeedF = *p_speedF * (1.0f + cM_rndFX(0.3f)); } - if (param_7 != NULL) { - actor->mSpeed.y = *param_7 * (FLOAT_LABEL(/* 1.0f */ lit_5810) + - cM_rndFX(FLOAT_LABEL(/* 0.2f */ lit_5812))); + + if (p_speedY != NULL) { + actor->mSpeed.y = *p_speedY * (1.0f + cM_rndFX(0.2f)); } } } default: - if (pRot != NULL) { - tmps = *pRot; + if (p_angle != NULL) { + angle = *p_angle; } else { - tmps = csXyz::Zero; + angle = csXyz::Zero; } - tmps.z = 0xFF; - fopAc_ac_c* actor = static_cast(fopAcM_fastCreate( - 0x218, itemActorParams, pPos, param_3, &tmps, param_5, -1, param_10, NULL)); + angle.z = 0xFF; + + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_ITEM, itemActorParams, p_pos, i_roomNo, &angle, p_scale, -1, p_createFunc, NULL); + if (actor != NULL) { - if (param_6 != NULL) { - actor->mSpeedF = *param_6; + if (p_speedF != NULL) { + actor->mSpeedF = *p_speedF; } - if (param_7 != NULL) { - actor->mSpeed.y = *param_7; + + if (p_speedY != NULL) { + actor->mSpeed.y = *p_speedY; } } + return actor; } } @@ -1602,39 +1746,34 @@ void* fopAcM_fastCreateItem(const cXyz* pPos, int param_2, int param_3, const cs #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void* fopAcM_fastCreateItem(cXyz const* param_0, int param_1, int param_2, csXyz const* param_3, - cXyz const* param_4, f32* param_5, f32* param_6, int param_7, - int param_8, int (*param_9)(void*)) { +asm void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle, + const cXyz* p_scale, f32* p_speedF, f32* p_speedY, int param_8, + int param_9, createFunc p_createFunc) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s" } #pragma pop #endif -/* ############################################################################################## */ -/* 80451C44-80451C48 000244 0004+00 1/1 0/0 0/0 .sdata2 @5845 */ -SECTION_SDATA2 static f32 lit_5845 = 2048.0f; - -inline void make_prm_bokkuri(u32* pActorParams, csXyz* pRot, u8 param_2, u8 param_3, u8 param_4, +inline void make_prm_bokkuri(u32* pActorParams, csXyz* p_angle, u8 param_2, u8 param_3, u8 param_4, u8 param_5, u8 param_6) { - pRot->x = (param_4 << 0x8) | (param_3 & 0xFF); - pRot->z = (param_6 << 0xD) | (param_2 << 0x1) | param_5; + p_angle->x = (param_4 << 0x8) | (param_3 & 0xFF); + p_angle->z = (param_6 << 0xD) | (param_2 << 0x1) | param_5; } /* 8001C870-8001C95C 0171B0 00EC+00 0/0 0/0 1/1 .text fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii */ -s32 fopAcM_createBokkuri(u16 enemyNo, const cXyz* pPos, int param_3, int param_4, int roomNo, +s32 fopAcM_createBokkuri(u16 enemyNo, const cXyz* p_pos, int param_3, int param_4, int roomNo, const cXyz* param_6, int param_7, int param_8) { - csXyz tmps(0, 0, 0); + csXyz angle(0, 0, 0); if (param_6 != NULL) { - tmps.y = param_6->atan2sX_Z(); - tmps.y += static_cast(FLOAT_LABEL(/* 2048.0f */ lit_5845) * - cM_rndFX(FLOAT_LABEL(/* 1.0f */ lit_5810))); + angle.y = param_6->atan2sX_Z(); + angle.y += static_cast(2048.0f * cM_rndFX(FLOAT_LABEL(/* 1.0f */ lit_5810))); param_8 = 1; } u32 actorParams = 0; - make_prm_bokkuri(&actorParams, &tmps, 6, param_3, param_4, param_7, param_8); - return fopAcM_create(0x2fc, enemyNo, actorParams, pPos, roomNo, &tmps, NULL, 0xFF, NULL); + make_prm_bokkuri(&actorParams, &angle, 6, param_3, param_4, param_7, param_8); + return fopAcM_create(PROC_Obj_Carry, enemyNo, actorParams, p_pos, roomNo, &angle, NULL, -1, NULL); } inline void make_prm_warp_hole(u32* actorParams, u8 p1, u8 p2, u8 p3) { @@ -1646,78 +1785,138 @@ inline void make_prm_warp_hole(u32* actorParams, u8 p1, u8 p2, u8 p3) { /* 8001C95C-8001C9CC 01729C 0070+00 0/0 0/0 12/12 .text * fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc */ -s32 fopAcM_createWarpHole(const cXyz* pPos, const csXyz* pRot, int roomNo, u8 param_4, u8 param_5, +s32 fopAcM_createWarpHole(const cXyz* p_pos, const csXyz* p_angle, int roomNo, u8 param_4, u8 param_5, u8 param_6) { if (param_6 == 0xFF) { param_6 = param_4; } u32 actorParams; make_prm_warp_hole(&actorParams, param_5, param_6, param_4); - return fopAcM_create(0x163, actorParams, pPos, roomNo, pRot, NULL, -1); + return fopAcM_create(PROC_Obj_BossWarp, actorParams, p_pos, roomNo, p_angle, NULL, -1); } s32 fopAc_IsActor(void*); /* 8001C9CC-8001CA1C 01730C 0050+00 1/1 0/0 0/0 .text enemySearchJugge__FPvPv */ -void* enemySearchJugge(void* pActor, void* pData) { - if (pActor != NULL && fopAc_IsActor(pActor) && static_cast(pActor)->mGroup == 2) { - return pActor; +void* enemySearchJugge(void* p_actor, void* p_data) { + if (p_actor != NULL && fopAc_IsActor(p_actor) && static_cast(p_actor)->mGroup == 2) { + return p_actor; } else { return NULL; } } /* 8001CA1C-8001CAD8 01735C 00BC+00 0/0 0/0 6/6 .text fopAcM_myRoomSearchEnemy__FSc */ +#ifdef NONMATCHING +void fopAcM_myRoomSearchEnemy(s8 roomNo) { + int procID = dStage_roomControl_c::getStatusProcID(roomNo); + scene_class* roomProc = fopScnM_SearchByID(procID); + + u32 actorID = ((daPy_py_c*)dComIfGp_getPlayer(0))->getGrabActorID(); + fopAc_ac_c* actor = fopAcM_SearchByID(actorID); + + if (actor != NULL && fopAcM_GetGroup(actor) != 2) { + return; + } + + fpcM_JudgeInLayer(fpcM_LayerID(roomProc), enemySearchJugge, NULL); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s32 fopAcM_myRoomSearchEnemy(s8 param_0) { +asm void fopAcM_myRoomSearchEnemy(s8 param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_myRoomSearchEnemy__FSc.s" } #pragma pop +#endif /* 8001CAD8-8001CB48 017418 0070+00 0/0 0/0 81/81 .text * fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */ -s32 fopAcM_createDisappear(const fopAc_ac_c* pActor, const cXyz* pPos, u8 param_3, u8 param_4, +s32 fopAcM_createDisappear(const fopAc_ac_c* p_actor, const cXyz* p_pos, u8 param_3, u8 param_4, u8 param_5) { - s8 roomNo = pActor->mCurrent.mRoomNo; - return fopAcM_GetID(fopAcM_fastCreate(0x139, (param_5 << 0x10) | (param_3 << 0x8) | param_4, - pPos, roomNo, &pActor->mCurrent.mAngle, NULL, 0xFF, NULL, + s8 roomNo = p_actor->mCurrent.mRoomNo; + return fopAcM_GetID(fopAcM_fastCreate(PROC_DISAPPEAR, (param_5 << 0x10) | (param_3 << 0x8) | param_4, + p_pos, roomNo, &p_actor->mCurrent.mAngle, NULL, 0xFF, NULL, NULL)); } +inline u16 fopAcM_GetSetId(const fopAc_ac_c* p_actor) { + return p_actor->mSetID; +} + +inline void fopAcM_onActor(const fopAc_ac_c* p_actor) { + int setId = fopAcM_GetSetId(p_actor); + dComIfGs_onActor(setId, fopAcM_GetHomeRoomNo(p_actor)); +} + /* 8001CB48-8001CBA0 017488 0058+00 0/0 6/6 7/7 .text fopAcM_setCarryNow__FP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_setCarryNow(fopAc_ac_c* param_0, int param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_setCarryNow__FP10fopAc_ac_ci.s" +void fopAcM_setCarryNow(fopAc_ac_c* p_actor, int param_1) { + p_actor->mStatus |= 0x2000; + + if (param_1 != 0) { + fopAcM_setStageLayer(p_actor); + fopAcM_onActor(p_actor); + } +} + +inline BOOL dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); } -#pragma pop /* 8001CBA0-8001CC5C 0174E0 00BC+00 0/0 5/5 21/21 .text fopAcM_cancelCarryNow__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_cancelCarryNow(fopAc_ac_c* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_cancelCarryNow__FP10fopAc_ac_c.s" +void fopAcM_cancelCarryNow(fopAc_ac_c* p_actor) { + if (fopAcM_checkCarryNow(p_actor)) { + p_actor->mStatus &= ~0x2000; + + s8 roomNo = fopAcM_GetHomeRoomNo(p_actor); + if (roomNo != -1) { + int procID = dStage_roomControl_c::getStatusProcID(fopAcM_GetRoomNo(p_actor)); + scene_class* roomProc = fopScnM_SearchByID(procID); + + if (roomProc != NULL) { + fopAcM_setRoomLayer(p_actor, fopAcM_GetRoomNo(p_actor)); + } + } + + p_actor->mCollisionRot.z = 0; + p_actor->mCollisionRot.x = 0; + + if (dComIfGp_event_runCheck() && fopAcM_GetGroup(p_actor) != 2) { + p_actor->mStatus |= 0x800; + } + } } -#pragma pop /* 8001CC5C-8001CDFC 01759C 01A0+00 0/0 0/0 9/9 .text fopAcM_otoCheck__FPC10fopAc_ac_cf */ +// matches with literals +#ifdef NONMATCHING +s32 fopAcM_otoCheck(fopAc_ac_c const* p_actor, f32 param_1) { + SND_INFLUENCE* sound = dKy_Sound_get(); + + if (sound->field_0x14 != -1 && fopAcM_GetID(p_actor) != sound->field_0x14) { + cXyz tmp = sound->field_0x0 - p_actor->mCurrent.mPosition; + + if (tmp.abs() < param_1) { + return sound->field_0xc; + } + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm f32 fopAcM_otoCheck(fopAc_ac_c const* param_0, f32 param_1) { +asm s32 fopAcM_otoCheck(fopAc_ac_c const* param_0, f32 param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_otoCheck__FPC10fopAc_ac_cf.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451C48-80451C4C 000248 0004+00 2/2 0/0 0/0 .sdata2 @6035 */ @@ -1725,38 +1924,62 @@ SECTION_SDATA2 static f32 lit_6035 = 100.0f; /* 8001CDFC-8001CED0 01773C 00D4+00 0/0 0/0 49/49 .text * fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_otherBgCheck(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c.s" -} -#pragma pop +s32 fopAcM_otherBgCheck(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { + dBgS_LinChk linChk; + cXyz tmp1; + cXyz tmp0; -/* ############################################################################################## */ -/* 80451C4C-80451C50 00024C 0004+00 1/1 0/0 0/0 .sdata2 @6068 */ -SECTION_SDATA2 static f32 lit_6068 = 50.0f; + tmp0 = param_1->mCurrent.mPosition; + tmp0.y += lit_6035; + + tmp1 = param_0->mCurrent.mPosition; + tmp1.y = param_0->mEyePos.y; + + linChk.Set(&tmp1, &tmp0, param_0); + + if (dComIfG_Bgsp().LineCross(&linChk)) { + return 1; + } + + return 0; +} /* 8001CED0-8001CFD8 017810 0108+00 0/0 0/0 18/18 .text fopAcM_wayBgCheck__FPC10fopAc_ac_cff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_wayBgCheck__FPC10fopAc_ac_cff.s" +s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { + dBgS_LinChk linChk; + cXyz tmp1; + cXyz tmp0; + cXyz tmp2; + + tmp0 = param_0->mCurrent.mPosition; + tmp0.y += param_2; + mDoMtx_YrotS((MtxP)calc_mtx, param_0->mCollisionRot.y); + + tmp1.x = FLOAT_LABEL(lit_4645); + tmp1.y = 50.0f; + tmp1.z = param_1; + + MtxPosition(&tmp1, &tmp2); + PSVECAdd(&tmp2, ¶m_0->mCurrent.mPosition, &tmp2); + + linChk.Set(&tmp0, &tmp2, param_0); + + if (dComIfG_Bgsp().LineCross(&linChk)) { + return 1; + } + + return 0; } -#pragma pop /* 8001CFD8-8001D020 017918 0048+00 0/0 0/0 2/2 .text fopAcM_plAngleCheck__FPC10fopAc_ac_cs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_plAngleCheck(fopAc_ac_c const* param_0, s16 param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_plAngleCheck__FPC10fopAc_ac_cs.s" +s32 fopAcM_plAngleCheck(fopAc_ac_c const* p_actor, s16 i_angle) { + s16 angle = p_actor->mCollisionRot.y - ((fopAc_ac_c*)dComIfGp_getPlayer(0))->mCollisionRot.y; + if (angle <= i_angle && angle >= (s16)-i_angle) { + return 0; + } + + return 1; } -#pragma pop /* ############################################################################################## */ /* 803F1C00-803F1C0C 01E920 000C+00 1/1 0/0 0/0 .bss @4176 */ @@ -1824,42 +2047,75 @@ asm s32 fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csX /* ############################################################################################## */ /* 80451C50-80451C54 000250 0004+00 1/1 0/0 0/0 .sdata2 hamon_name$6107 */ -SECTION_SDATA2 static u8 hamon_name[4] = { - 0x01, - 0xB2, - 0x01, - 0xB3, +SECTION_SDATA2 static u16 hamon_name[2] = { + 0x01B2, + 0x01B3, }; /* 8001D10C-8001D1F4 017A4C 00E8+00 0/0 1/1 41/41 .text fopAcM_effHamonSet__FPUlPC4cXyzff */ +// matches with literals +#ifdef NONMATCHING +void fopAcM_effHamonSet(u32* param_0, cXyz const* param_1, f32 param_2, f32 emitRate) { + cXyz tmp(param_2, param_2, param_2); + + for (int i = 0; i < 2; i++) { + *param_0 = dComIfGp_particle_set(*param_0, hamon_name[i], param_1, NULL, &tmp); + + JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(*param_0); + if (emitter != NULL) { + emitter->setRate(emitRate); + } + param_0++; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s32 fopAcM_effHamonSet(u32* param_0, cXyz const* param_1, f32 param_2, f32 param_3) { +asm void fopAcM_effHamonSet(u32* param_0, cXyz const* param_1, f32 param_2, f32 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_effHamonSet__FPUlPC4cXyzff.s" } #pragma pop +#endif /* 8001D1F4-8001D1FC 017B34 0008+00 0/0 0/0 7/7 .text fopAcM_riverStream__FP4cXyzPsPff */ s32 fopAcM_riverStream(cXyz* param_0, s16* param_1, f32* param_2, f32 param_3) { return 0; } -/* ############################################################################################## */ -/* 80451C54-80451C58 000254 0004+00 1/1 0/0 0/0 .sdata2 @6174 */ -SECTION_SDATA2 static f32 lit_6174 = 150.0f; - /* 8001D1FC-8001D32C 017B3C 0130+00 0/0 0/0 12/12 .text fopAcM_carryOffRevise__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_carryOffRevise__FP10fopAc_ac_c.s" +s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) { + fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); + dBgS_LinChk linChk; + cXyz tmp1; + cXyz tmp0; + cXyz tmp2; + + tmp0 = player->mCurrent.mPosition; + tmp0.y = param_0->mCurrent.mPosition.y; + mDoMtx_YrotS((MtxP)calc_mtx, player->mCollisionRot.y); + + tmp1.x = FLOAT_LABEL(lit_4645); + tmp1.y = param_0->mCurrent.mPosition.y - player->mCurrent.mPosition.y; + tmp1.z = 150.0f; + + MtxPosition(&tmp1, &tmp2); + PSVECAdd(&tmp2, &player->mCurrent.mPosition, &tmp2); + + linChk.Set(&tmp0, &tmp2, param_0); + + if (dComIfG_Bgsp().LineCross(&linChk)) { + param_0->mCurrent.mPosition.x = player->mCurrent.mPosition.x; + param_0->mCurrent.mPosition.z = player->mCurrent.mPosition.z; + param_0->mNext.mPosition = param_0->mCurrent.mPosition; + param_0->mSpeedF = FLOAT_LABEL(lit_4645); + return 1; + } + + return 0; } -#pragma pop /* 8001D32C-8001D3D4 017C6C 00A8+00 1/1 0/0 0/0 .text vectle_calc__FPC10DOUBLE_POSP4cXyz */ @@ -1907,52 +2163,104 @@ asm void fopAcM_setEffectMtx(fopAc_ac_c const* param_0, J3DModelData const* para #pragma pop /* 8001D5A4-8001D5EC 017EE4 0048+00 1/1 0/0 0/0 .text fopAcM_getProcNameString__FPC10fopAc_ac_c */ -static const char* fopAcM_getProcNameString(const fopAc_ac_c* pActor) { - const char* name = dStage_getName2(pActor->mBase.mBsTypeId, pActor->mSubtype); +static const char* fopAcM_getProcNameString(const fopAc_ac_c* p_actor) { + const char* name = dStage_getName2(p_actor->mBase.mBsTypeId, p_actor->mSubtype); return name != NULL ? name : "UNKOWN"; } /* 8001D5EC-8001D698 017F2C 00AC+00 1/1 0/0 0/0 .text fopAcM_findObjectCB__FPC10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm s32 fopAcM_findObjectCB(fopAc_ac_c const* param_0, void* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_findObjectCB__FPC10fopAc_ac_cPv.s" +static const fopAc_ac_c* fopAcM_findObjectCB(fopAc_ac_c const* p_actor, void* p_data) { + fopAcM_search_prm* prm = (fopAcM_search_prm*)p_data; + + if (!fopAcM_IsExecuting(fopAcM_GetID(p_actor))) { + return NULL; + } + + if (prm->mProcName == fopAcM_GetProfName(p_actor) && prm->mSubType == p_actor->mSubtype) { + if (prm->mParam0 == 0 || prm->mParam1 == (prm->mParam0 & fopAcM_GetParam(p_actor))) { + return p_actor; + } + } + + return NULL; } -#pragma pop /* 8001D698-8001D6F0 017FD8 0058+00 0/0 1/1 1/1 .text fopAcM_searchFromName__FPCcUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_searchFromName(char const* param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_searchFromName__FPCcUlUl.s" +fopAc_ac_c* fopAcM_searchFromName(char const* name, u32 param0, u32 param1) { + fopAcM_search_prm prm; + prm.mParam0 = param0; + prm.mParam1 = param1; + + dStage_objectNameInf* objInf = dStage_searchName(name); + if (objInf == NULL) { + return NULL; + } + + prm.mProcName = objInf->mProcName; + prm.mSubType = objInf->mSubtype; + return fopAcM_Search((fopAcIt_JudgeFunc)fopAcM_findObjectCB, &prm); } -#pragma pop /* 8001D6F0-8001D7A0 018030 00B0+00 1/1 0/0 0/0 .text fopAcM_findObject4EventCB__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 fopAcM_findObject4EventCB(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_findObject4EventCB__FP10fopAc_ac_cPv.s" +fopAc_ac_c* fopAcM_findObject4EventCB(fopAc_ac_c* p_actor, void* p_data) { + fopAcM_search4ev_prm* prm = (fopAcM_search4ev_prm*)p_data; + + if (p_data == NULL || !fopAcM_IsExecuting(fopAcM_GetID(p_actor))) { + return NULL; + } + + if (prm->mProcName == fopAcM_GetProfName(p_actor) && prm->mSubType == p_actor->mSubtype) { + if (prm->mEventID < 0 || prm->mEventID == p_actor->mEvtInfo.getIdx()) { + return p_actor; + } + } + + return NULL; } -#pragma pop /* 8001D7A0-8001D890 0180E0 00F0+00 0/0 7/7 0/0 .text fopAcM_searchFromName4Event__FPCcs */ +#ifdef NONMATCHING +fopAc_ac_c* fopAcM_searchFromName4Event(char const* name, s16 eventID) { + fopAcM_search4ev_prm prm; + prm.field_0x1e = eventID; + strcpy(prm.mName, name); + + char* chr = strchr(prm.mName, ':'); + if (chr != NULL) { + chr[0] = 0; + prm.mEventID = 0; + + chr++; + for (; *chr != 0; chr++) { + if (*chr < '0' || *chr > '9') { + prm.mEventID = 0xFFFF; + break; + } + prm.mEventID += chr[0] - 0x30; // ? + } + } + + dStage_objectNameInf* objInf = dStage_searchName(prm.mName); + if (objInf == NULL) { + return 0; + } + + prm.mProcName = objInf->mProcName; + prm.mSubType = objInf->mSubtype; + return fopAcM_Search((fopAcIt_JudgeFunc)fopAcM_findObject4EventCB, &prm); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm fopAc_ac_c* fopAcM_searchFromName4Event(char const* param_0, s16 param_1) { +asm fopAc_ac_c* fopAcM_searchFromName4Event(char const* name, s16 eventID) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchFromName4Event__FPCcs.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803F1D18-803F1D24 01EA38 000C+00 0/1 0/0 0/0 .bss @6509 */ @@ -1994,14 +2302,14 @@ asm s32 fopAcM_getWaterY(cXyz const* param_0, f32* param_1) { /* 8001D900-8001D9A8 018240 00A8+00 0/0 2/2 2/2 .text * fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fpoAcM_relativePos(fopAc_ac_c const* param_0, cXyz const* param_1, cXyz* param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz.s" +void fpoAcM_relativePos(fopAc_ac_c const* actor, cXyz const* p_inPos, cXyz* p_outPos) { + s16 angle = -actor->mCollisionRot.y; + cXyz pos = *p_inPos - actor->mCurrent.mPosition; + + p_outPos->x = (pos.z * cM_ssin(angle)) + (pos.x * cM_scos(angle)); + p_outPos->y = pos.y; + p_outPos->z = (pos.z * cM_scos(angle)) - (pos.x * cM_ssin(angle)); } -#pragma pop /* 8001D9A8-8001DAE4 0182E8 013C+00 0/0 1/1 9/9 .text * fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii */ @@ -2025,6 +2333,21 @@ SECTION_DATA extern void* __vt__8cM3dGPla[3] = { /* 8001DAE4-8001DB90 018424 00AC+00 0/0 2/2 8/8 .text fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos */ +// matches when TU vtable data is correct +#ifdef NONMATCHING +s16 fopAcM_getPolygonAngle(cBgS_PolyInfo const& poly, s16 param_1) { + if (!dComIfG_Bgsp().ChkPolySafe(poly)) { + return 0; + } + + cM3dGPla plane; + if (!dComIfG_Bgsp().GetTriPla(poly, &plane)) { + return 0; + } + + return fopAcM_getPolygonAngle(&plane, param_1); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2033,6 +2356,7 @@ asm s16 fopAcM_getPolygonAngle(cBgS_PolyInfo const& param_0, s16 param_1) { #include "asm/f_op/f_op_actor_mng/fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos.s" } #pragma pop +#endif /* 8001DB90-8001DBD8 0184D0 0048+00 1/0 9/9 0/0 .text __dt__8cM3dGPlaFv */ #pragma push @@ -2045,14 +2369,28 @@ extern "C" asm void __dt__8cM3dGPlaFv() { #pragma pop /* 8001DBD8-8001DC68 018518 0090+00 1/1 5/5 18/18 .text fopAcM_getPolygonAngle__FPC8cM3dGPlas */ +// sqrt issues +#ifdef NONMATCHING +s16 fopAcM_getPolygonAngle(cM3dGPla const* p_plane, s16 param_1) { + if (p_plane == NULL) { + return 0; + } + + s16 atan = p_plane->mNormal.atan2sX_Z() - param_1; + f32 cos = cM_scos(atan); + f32 sqrt = JMAFastSqrt__Ff(square(p_plane->mNormal.x) + square(p_plane->mNormal.z)); + return cM_atan2s(sqrt * cos, p_plane->mNormal.y); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_getPolygonAngle(cM3dGPla const* param_0, s16 param_1) { +asm s16 fopAcM_getPolygonAngle(cM3dGPla const* param_0, s16 param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getPolygonAngle__FPC8cM3dGPlas.s" } #pragma pop +#endif /* 8001DC68-8001DCBC 0185A8 0054+00 0/0 5/5 21/21 .text * lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c */ @@ -2184,7 +2522,8 @@ REGISTER_CTORS(0x8001DE14, __sinit_f_op_actor_mng_cpp); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_WtrChk::~dBgS_WtrChk() { +// asm dBgS_WtrChk::~dBgS_WtrChk() { +extern "C" asm void __dt__11dBgS_WtrChkFv() { nofralloc #include "asm/f_op/f_op_actor_mng/__dt__11dBgS_WtrChkFv.s" } @@ -2194,7 +2533,8 @@ asm dBgS_WtrChk::~dBgS_WtrChk() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjRoofChk::~dBgS_ObjRoofChk() { +// asm dBgS_ObjRoofChk::~dBgS_ObjRoofChk() { +extern "C" asm void __dt__15dBgS_ObjRoofChkFv() { nofralloc #include "asm/f_op/f_op_actor_mng/__dt__15dBgS_ObjRoofChkFv.s" } @@ -2204,7 +2544,8 @@ asm dBgS_ObjRoofChk::~dBgS_ObjRoofChk() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/f_op/f_op_actor_mng/__dt__14dBgS_ObjGndChkFv.s" } @@ -2316,17 +2657,17 @@ void daPy_py_c::onFrollCrashFlg(u8 param_0, int param_1) { } /* 8001E120-8001E128 018A60 0008+00 0/0 1/0 0/0 .text checkWolfDash__9daPy_py_cCFv */ -bool daPy_py_c::checkWolfDash() const { +int daPy_py_c::checkWolfDash() const { return false; } /* 8001E128-8001E130 018A68 0008+00 0/0 1/0 0/0 .text checkFrontRoll__9daPy_py_cCFv */ -bool daPy_py_c::checkFrontRoll() const { +int daPy_py_c::checkFrontRoll() const { return false; } /* 8001E130-8001E138 018A70 0008+00 0/0 1/0 0/0 .text checkHorseRide__9daPy_py_cCFv */ -bool daPy_py_c::checkHorseRide() const { +u32 daPy_py_c::checkHorseRide() const { return false; } diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 264661a4e1..297feec8b4 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -91,7 +91,7 @@ msg_class* fopMsgM_SearchByID(unsigned int id) { /* 8001FA44-8001FA4C 01A384 0008+00 0/0 2/2 0/0 .text fopMsgM_GetAppend__FPv */ fopMsg_prm_class* fopMsgM_GetAppend(void* msg) { msg_class* m = static_cast(msg); - return (fopMsg_prm_class*)m->field_0x0.mpUserData; + return (fopMsg_prm_class*)m->mBase.mpUserData; } /* 8001FA4C-8001FA6C 01A38C 0020+00 0/0 2/2 0/0 .text fopMsgM_Delete__FPv */ diff --git a/src/f_pc/f_pc_leaf.cpp b/src/f_pc/f_pc_leaf.cpp index 3acfcaf771..795ad16044 100644 --- a/src/f_pc/f_pc_leaf.cpp +++ b/src/f_pc/f_pc_leaf.cpp @@ -55,9 +55,9 @@ int g_fpcLf_type; /* 80021B14-80021B88 0074+00 s=1 e=0 z=0 None .text fpcLf_Create__FP14leafdraw_class */ s32 fpcLf_Create(leafdraw_class* pLeaf) { - leaf_process_profile_definition* profDef; + process_profile_definition* profDef; if (pLeaf->mBase.mInitState == 0) { - profDef = (leaf_process_profile_definition*)pLeaf->mBase.mpProf; + profDef = (process_profile_definition*)pLeaf->mBase.mpProf; pLeaf->mpDrawMtd = profDef->mLfDrwMth; pLeaf->mBase.mSubType = fpcBs_MakeOfType(&g_fpcLf_type); fpcDwPi_Init(&pLeaf->mDwPi, profDef->mPriority); diff --git a/src/f_pc/f_pc_node.cpp b/src/f_pc/f_pc_node.cpp index 6c11fe62a9..2552c9fc19 100644 --- a/src/f_pc/f_pc_node.cpp +++ b/src/f_pc/f_pc_node.cpp @@ -92,6 +92,7 @@ s32 fpcNd_Delete(process_node_class* pProcNode) { } } + /* 80022728-800227C4 009C+00 s=1 e=0 z=0 None .text fpcNd_Create__FP18process_node_class */ s32 fpcNd_Create(process_node_class* pProcNode1) { // this cast looks like a fake match, but it doesn't match without the cast, naive approach @@ -103,7 +104,7 @@ s32 fpcNd_Create(process_node_class* pProcNode1) { node_process_profile_definition* pProcProfileDef = (node_process_profile_definition*)pProcNode->mBase.mpProf; pProcNode->mBase.mSubType = fpcBs_MakeOfType(&g_fpcNd_type); - pProcNode->mpNodeMtd = pProcProfileDef->mNDrwMthCls; + pProcNode->mpNodeMtd = (nodedraw_method_class*)pProcProfileDef->mBase.mLfDrwMth; fpcLy_Create(&pProcNode->mLayer, pProcNode, pProcNode->mLayerNodeLists, 0x10); pProcNode->mUnk0 = 0; } diff --git a/src/f_pc/f_pc_profile.cpp b/src/f_pc/f_pc_profile.cpp index 453d34ae45..5c39867585 100644 --- a/src/f_pc/f_pc_profile.cpp +++ b/src/f_pc/f_pc_profile.cpp @@ -3,15 +3,16 @@ // Translation Unit: f_pc/f_pc_profile // + #include "f_pc/f_pc_profile.h" #include "dol2asm.h" #include "dolphin/types.h" /* ############################################################################################## */ /* 80450D50-80450D58 0004+04 s=1 e=0 z=2 None .sbss g_fpcPf_ProfileList_p */ -leaf_process_profile_definition** g_fpcPf_ProfileList_p; +process_profile_definition** g_fpcPf_ProfileList_p; /* 80023564-80023578 0014+00 s=0 e=1 z=0 None .text fpcPf_Get__Fs */ -leaf_process_profile_definition* fpcPf_Get(s16 profileID) { +process_profile_definition* fpcPf_Get(s16 profileID) { return g_fpcPf_ProfileList_p[profileID]; } diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 0bb3866ef9..393ba907d0 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -397,7 +397,6 @@ extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey() extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); extern "C" void JMAEulerToQuat__FsssP10Quaternion(); extern "C" void JMAQuatLerp__FPC10QuaternionPC10QuaternionfP10Quaternion(); -extern "C" void DCStoreRangeNoSync(); extern "C" void GXClearVtxDesc(); extern "C" void GXGetTexObjWidth(); extern "C" void GXGetTexObjHeight(); @@ -3095,7 +3094,7 @@ static asm void mDoExt_initFont1() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_getRubyFont() { +asm JUTFont* mDoExt_getRubyFont() { nofralloc #include "asm/m_Do/m_Do_ext/mDoExt_getRubyFont__Fv.s" } diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index e3bb00cece..deb256ebca 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -5,46 +5,22 @@ #include "m_Do/m_Do_machine.h" #include "JSystem/JFramework/JFWSystem.h" +#include "JSystem/JKernel/JKRAram.h" +#include "JSystem/JKernel/JKRAramStream.h" +#include "JSystem/JKernel/JKRDvdAramRipper.h" +#include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTDbPrint.h" #include "JSystem/JUtility/JUTException.h" +#include "SSystem/SComponent/c_API_controller_pad.h" +#include "SSystem/SComponent/c_malloc.h" +#include "SSystem/SComponent/c_math.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct mDoMemCd_Ctrl_c { - /* 80016730 */ void ThdInit(); -}; - -struct mDoDvdThd { - /* 80015858 */ void create(s32); -}; - -struct cMl { - /* 80263220 */ void init(JKRHeap*); -}; - -struct JUTAssertion { - /* 802E4C34 */ static void setVisible(bool); -}; - -struct JKRDvdRipper { - static u32 sSZSBufferSize; -}; - -struct JKRDvdAramRipper { - static u32 sSZSBufferSize; -}; - -struct JKRAramStream { - /* 802D4034 */ void setTransBuffer(u8*, u32, JKRHeap*); -}; - -struct JKRAram { - static u32 sSZSBufferSize[1 + 1 /* padding */]; -}; +#include "m_Do/m_Do_DVDError.h" +#include "m_Do/m_Do_MemCard.h" +#include "m_Do/m_Do_dvd_thread.h" +#include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_machine_exception.h" // // Forward References: @@ -124,11 +100,10 @@ extern "C" void drawDirect__17JUTConsoleManagerCFb(); extern "C" void setDirectConsole__17JUTConsoleManagerFP10JUTConsole(); extern "C" void PPCHalt(); extern "C" u32 OSGetProgressiveMode(); -extern "C" void OSSetProgressiveMode(); -extern "C" void VIGetDTVStatus(); +extern "C" void OSSetProgressiveMode(u32); +extern "C" u32 VIGetDTVStatus(); extern "C" void _savegpr_28(); extern "C" void _restgpr_28(); -extern "C" extern u8 g_mDoMemCd_control[8192]; extern "C" extern s8 data_80450580; extern "C" u32 memMargin__7mDoMain; extern "C" u32 maxStdHeaps__Q29JFWSystem11CSetUpParam; @@ -137,16 +112,11 @@ extern "C" u32 fifoBufSize__Q29JFWSystem11CSetUpParam; extern "C" u32 aramAudioBufSize__Q29JFWSystem11CSetUpParam; extern "C" u32 aramGraphBufSize__Q29JFWSystem11CSetUpParam; extern "C" void* renderMode__Q29JFWSystem11CSetUpParam; -extern "C" extern u8 data_804508B0[8]; extern "C" u32 sSZSBufferSize__7JKRAram[1 + 1 /* padding */]; extern "C" u32 sSZSBufferSize__12JKRDvdRipper; extern "C" u32 sSZSBufferSize__16JKRDvdAramRipper; extern "C" u8 sHungUpTime__7mDoMain[4]; extern "C" extern u8 data_80450B14[4]; -extern "C" extern u8 gameHeap[4]; -extern "C" extern u8 zeldaHeap[4]; -extern "C" extern u8 commandHeap[4]; -extern "C" extern u8 archiveHeap[4]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; extern "C" u8 systemHeap__9JFWSystem[4]; extern "C" u8 systemConsole__9JFWSystem[4]; @@ -162,147 +132,193 @@ extern "C" u8 sManager__17JUTConsoleManager[4]; // Declarations: // -/* ############################################################################################## */ -/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373DE8 = "SystemHeap"; -SECTION_DEAD static char const* const stringBase_80373DF3 = "ZeldaHeap"; -SECTION_DEAD static char const* const stringBase_80373DFD = "GameHeap"; -SECTION_DEAD static char const* const stringBase_80373E06 = "ArchiveHeap"; -SECTION_DEAD static char const* const stringBase_80373E12 = "CommandHeap"; -SECTION_DEAD static char const* const stringBase_80373E1E = "DbPrintHeap"; -SECTION_DEAD static char const* const stringBase_80373E2A = "J2dHeap"; -SECTION_DEAD static char const* const stringBase_80373E32 = "ASTH"; -SECTION_DEAD static char const* const stringBase_80373E37 = "EXPH"; -SECTION_DEAD static char const* const stringBase_80373E3C = "SLID"; -SECTION_DEAD static char const* const stringBase_80373E41 = "STDH"; -SECTION_DEAD static char const* const stringBase_80373E46 = "UNIT"; -SECTION_DEAD static char const* const stringBase_80373E4B = "(Null)"; -#pragma pop - /* 80450BF0-80450BF4 0000F0 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80450BF0[4]; +static u8 data_80450BF0; /* 80450BF4-80450BF8 0000F4 0004+00 1/1 0/0 0/0 .sbss solidHeapErrors */ -static u8 solidHeapErrors[4]; +static int solidHeapErrors; /* 80450BF8-80450BFC 0000F8 0004+00 1/1 0/0 0/0 .sbss gameHeapErrors */ -static u8 gameHeapErrors[4]; +static int gameHeapErrors; /* 80450BFC-80450C00 0000FC 0004+00 1/1 0/0 0/0 .sbss zeldaHeapErrors */ -static u8 zeldaHeapErrors[4]; +static int zeldaHeapErrors; /* 80450C00-80450C04 000100 0004+00 1/1 0/0 0/0 .sbss commandHeapErrors */ -static u8 commandHeapErrors[4]; +static int commandHeapErrors; /* 80450C04-80450C08 000104 0004+00 1/1 0/0 0/0 .sbss archiveHeapErrors */ -static u8 archiveHeapErrors[4]; +static int archiveHeapErrors; /* 80450C08-80450C0C 000108 0004+00 1/1 0/0 0/0 .sbss unknownHeapErrors */ -static u8 unknownHeapErrors[4]; +static int unknownHeapErrors; /* 80450C0C-80450C10 00010C 0004+00 1/1 0/0 0/0 .sbss heapErrors */ -static u8 heapErrors[4]; - -/* 80450C10-80450C18 -00001 0008+00 2/2 0/0 0/0 .sbss None */ -/* 80450C10 0005+00 data_80450C10 tmpString$3651 */ -/* 80450C15 0001+00 data_80450C15 None */ -/* 80450C16 0001+00 data_80450C16 None */ -/* 80450C17 0001+00 data_80450C17 None */ -static u8 struct_80450C10[8]; +static u32 heapErrors; /* 8000B1EC-8000B3EC 005B2C 0200+00 2/2 0/0 0/0 .text myGetHeapTypeByString__FP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm char* myGetHeapTypeByString(JKRHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_machine/myGetHeapTypeByString__FP7JKRHeap.s" -} -#pragma pop +static char* myGetHeapTypeByString(JKRHeap* p_heap) { + static char tmpString[5]; -/* ############################################################################################## */ -/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373E52 = - "エラー: メモリを確保できません %d(0x%x)バイト、 %d バイトアライメント from " - "%08x\n"; -SECTION_DEAD static char const* const stringBase_80373EA3 = - "FreeSize=%08x TotalFreeSize=%08x HeapType=%08x(%" - "c%c%c%c) HeapSize=%08x %s\n"; -#pragma pop + if (p_heap == JKRHeap::getSystemHeap()) { + return "SystemHeap"; + } + + if (p_heap == mDoExt_getZeldaHeap()) { + return "ZeldaHeap"; + } + + if (p_heap == mDoExt_getGameHeap()) { + return "GameHeap"; + } + + if (p_heap == mDoExt_getArchiveHeap()) { + return "ArchiveHeap"; + } + + if (p_heap == mDoExt_getCommandHeap()) { + return "CommandHeap"; + } + + if (p_heap == mDoExt_getDbPrintHeap()) { + return "DbPrintHeap"; + } + + if (p_heap == mDoExt_getJ2dHeap()) { + return "J2dHeap"; + } + + u32 heapType = p_heap->getHeapType(); + switch (heapType) { + case 'ASTH': + return "ASTH"; + case 'EXPH': + return "EXPH"; + case 'SLID': + return "SLID"; + case 'STDH': + return "STDH"; + case 'UNIT': + return "UNIT"; + case 0: + return "(Null)"; + default: + u32 tmpType = heapType; + char* typeStr = (char*)&tmpType; + + tmpString[0] = typeStr[0]; + tmpString[1] = typeStr[1]; + tmpString[2] = typeStr[2]; + tmpString[3] = typeStr[3]; + tmpString[4] = 0; + return tmpString; + } +} /* 8000B3EC-8000B5C8 005D2C 01DC+00 1/1 0/0 0/0 .text myMemoryErrorRoutine__FPvUli */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void myMemoryErrorRoutine(void* param_0, u32 param_1, int param_2) { - nofralloc -#include "asm/m_Do/m_Do_machine/myMemoryErrorRoutine__FPvUli.s" -} -#pragma pop +static void myMemoryErrorRoutine(void* p_heap, u32 size, int alignment) { + JKRHeap* heap = (JKRHeap*)p_heap; -/* ############################################################################################## */ -/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373EEE = "error in %08x(%s)\n"; -#pragma pop + BOOL notSolidHeap = true; + if (heap->getHeapType() == 'SLID') { + notSolidHeap = false; + } + + if (notSolidHeap) { + // "Error: Can't allocate memory %d(0x%x)Bytes, %d Byte Alignment from %08x\n" + OSReport_Error( + "エラー: メモリを確保できません %d(0x%x)バイト、 %d バイトアライメント from %08x\n", + size, size, alignment, p_heap); + } + + u32 heapType = heap->getHeapType(); + u8* tmpString = (u8*)&heapType; + if (notSolidHeap) { + OSReport_Error( + "FreeSize=%08x TotalFreeSize=%08x HeapType=%08x(%c%c%c%c) HeapSize=%08x %s\n", + heap->getFreeSize(), heap->getTotalFreeSize(), heapType, tmpString[0], tmpString[1], + tmpString[2], tmpString[3], heap->getHeapSize(), myGetHeapTypeByString(heap)); + } + + if (heapErrors == 0) { + heap->dump_sort(); + } + heapErrors++; + + if (p_heap == zeldaHeap) { + zeldaHeapErrors++; + } else if (p_heap == gameHeap) { + gameHeapErrors++; + } else if (p_heap == commandHeap) { + commandHeapErrors++; + } else if (p_heap == archiveHeap) { + archiveHeapErrors++; + } else if (heap->getHeapType() == 'SLID') { + solidHeapErrors++; + } else { + unknownHeapErrors++; + } +} /* 8000B5C8-8000B668 005F08 00A0+00 1/1 0/0 0/0 .text myHeapCheckRecursive__FP7JKRHeap */ -#ifdef NONMATCHING -void myHeapCheckRecursive(JKRHeap* param_0) { - if (!param_0->check()) { - char* type = myGetHeapTypeByString(param_0); - OSReport_Error("error in %08x(%s)\n", param_0, type); +void myHeapCheckRecursive(JKRHeap* p_heap) { + if (!p_heap->check()) { + char* type = myGetHeapTypeByString(p_heap); + OSReport_Error("error in %08x(%s)\n", p_heap, type); } - JSUTree heapTree = param_0->getHeapTree(); - for (heapTree.getFirstChild(); heapTree.getNextChild() != NULL; heapTree--) { - /* if (heapTree->getNextChild() == NULL) { - heapTree--; - } */ - JKRHeap* heap = (JKRHeap*)heapTree.getObject(); - myHeapCheckRecursive(heap); + JSUTree* heapTree = &p_heap->getHeapTree(); + for (JSUTree* i = heapTree->getFirstChild(); i != NULL; i = i->getNextChild()) { + myHeapCheckRecursive(i->getObject()); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void myHeapCheckRecursive(JKRHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_machine/myHeapCheckRecursive__FP7JKRHeap.s" -} -#pragma pop -#endif /* 8000B668-8000B68C 005FA8 0024+00 0/0 2/2 0/0 .text mDoMch_HeapCheckAll__Fv */ void mDoMch_HeapCheckAll() { myHeapCheckRecursive(JKRHeap::sRootHeap); } +static u8 debug_key0; +static u8 debug_key1; +static u8 debug_key2; + /* 8000B68C-8000B73C 005FCC 00B0+00 1/1 0/0 0/0 .text developKeyCheck__FUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void developKeyCheck(u32 param_0, u32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_machine/developKeyCheck__FUlUl.s" +static int developKeyCheck(u32 btnTrig, u32 btnHold) { + if (btnHold == (CButton::L | CButton::R | CButton::Z | CButton::DPAD_DOWN) && + btnTrig == CButton::DPAD_DOWN) { + if (debug_key0 == 3 && debug_key1 == 6 && debug_key2 == 5) { + data_80450580 = 1; + } else { + debug_key0 = 0; + debug_key1 = 0; + debug_key2 = 0; + } + } + + if (btnHold == (CButton::L | CButton::DPAD_RIGHT) && btnTrig == CButton::L) { + debug_key0++; + } + + if (btnHold == (CButton::R | CButton::DPAD_UP) && btnTrig == CButton::R) { + debug_key1++; + } + + if (btnHold == (CButton::Z | CButton::DPAD_LEFT) && btnTrig == CButton::Z) { + debug_key2++; + } + + return data_80450580; } -#pragma pop /* 8000B73C-8000B768 00607C 002C+00 1/1 0/0 0/0 .text mDoMch_IsProgressiveMode__Fv */ -u8 mDoMch_IsProgressiveMode() { +BOOL mDoMch_IsProgressiveMode() { return OSGetProgressiveMode() == true; } /* 8000B768-8000B798 0060A8 0030+00 2/2 0/0 0/0 .text exceptionReadPad__FPUlPUl */ -bool exceptionReadPad(u32* param_0, u32* param_1) { - return JUTException::getManager()->readPad(param_0, param_1); +bool exceptionReadPad(u32* p_btnTrig, u32* p_btnHold) { + return JUTException::getManager()->readPad(p_btnTrig, p_btnHold); } /* 8000B798-8000B7C8 0060D8 0030+00 1/1 0/0 0/0 .text exceptionRestart__Fv */ @@ -314,13 +330,13 @@ void exceptionRestart() { } /* 8000B7C8-8000B95C 006108 0194+00 1/1 0/0 0/0 .text myExceptionCallback__FUsP9OSContextUlUl */ -void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) { - u32 tmp1; - u32 tmp2; +void myExceptionCallback(u16, OSContext*, u32, u32) { + u32 btnHold; + u32 btnTrig; mDoMain::sHungUpTime = OSGetTime(); OSReportEnable(); - cAPICPad_recalibrate__Fv(); + cAPICPad_recalibrate(); // "Vibration stopping & resetting to default\n" OSReport("振動停止&原点復帰\n"); @@ -341,8 +357,8 @@ void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2, u32 param // "Accepting Key input\n" OSReport("キー入力を受け付けています\n"); while (data_80450580 == 0) { - exceptionReadPad(&tmp2, &tmp1); - developKeyCheck(tmp2, tmp1); + exceptionReadPad(&btnTrig, &btnHold); + developKeyCheck(btnTrig, btnHold); JUTException::waitTime(30); if (struct_80451501) { exceptionRestart(); @@ -365,7 +381,7 @@ void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2, u32 param } DVDChangeDir("/map/Final/Release"); JUTVideo::destroyManager(); - GXSetDrawDoneCallback(0); + GXSetDrawDoneCallback(NULL); VISetBlack(0); VIFlush(); } @@ -388,6 +404,143 @@ SECTION_SDATA2 static f32 lit_3940 = 8.0f; SECTION_SDATA2 static f32 lit_3941 = 6.0f; /* 8000B95C-8000BCF4 00629C 0398+00 1/1 0/0 0/0 .text fault_callback_scroll__FUsP9OSContextUlUl */ +#ifdef NONMATCHING +static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) { + JUTException* manager = JUTException::getManager(); + JUTConsole* exConsole = manager->getConsole(); + + u32 srr0 = p_context->srr0 & -4; + if (srr0 >= 0x8000000C && srr0 < 0x82FFFFFF) { + exConsole->print_f("(SRR0-3):%08X %08X %08X %08X\n", *(u32*)(srr0 - 0xC), + *(u32*)(srr0 - 0x8), *(u32*)(srr0 - 0x4), *(u32*)srr0); + } + + JUTGamePad pad(JUTGamePad::Port_1); + manager->setGamePad(&pad); + + BOOL padDisabled = manager->isEnablePad() == false; + if (!padDisabled) { + exConsole->print("PUSH START BUTTON TO ADDITIONAL INFOMATION\n"); + exConsole->print("--------------------------------------\n"); + JUTConsoleManager::getManager()->drawDirect(true); + OSEnableInterrupts(); + int holdUpCount = 0; + int holdDownCount = 0; + + while (true) { + u32 btnHold, btnTrig; + exceptionReadPad(&btnTrig, &btnHold); + + if (struct_80451501) { + OSResetSystem(1, 0, 0); + } + + bool waitRetrace = false; + if (btnTrig == CButton::START) { + exception_addition(exConsole); + waitRetrace = true; + } + + if (btnTrig == CButton::Z) { + JUTConsole* sysConsole = JFWSystem::getSystemConsole(); + if (JUTConsoleManager::getManager()->getDirectConsole() != sysConsole) { + exConsole = sysConsole; + exConsole->setFontSize(8.0f, 6.0f); + exConsole->setPosition(8, 32); + exConsole->setHeight(23); + exConsole->setVisible(true); + exConsole->setOutput(JUTConsole::OUTPUT_CONSOLE | JUTConsole::OUTPUT_OSREPORT); + } else { + exConsole = JUTException::getConsole(); + } + JUTConsoleManager::getManager()->setDirectConsole(exConsole); + waitRetrace = true; + } + + if (btnTrig == CButton::A) { + exConsole->scrollToLastLine(); + waitRetrace = true; + } + + if (btnTrig == CButton::B) { + exConsole->scrollToFirstLine(); + waitRetrace = true; + } + + if (btnHold == CButton::DPAD_UP) { + int scrollAmnt; + if (holdUpCount < 3) { + scrollAmnt = -1; + } else if (holdUpCount < 5) { + scrollAmnt = -2; + } else { + scrollAmnt = -8; + if (holdUpCount < 7) { + scrollAmnt = -4; + } + } + exConsole->scroll(scrollAmnt); + waitRetrace = true; + holdDownCount = 0; + holdUpCount++; + } else if (btnHold == CButton::DPAD_DOWN) { + int scrollAmnt; + if (holdDownCount < 3) { + scrollAmnt = 1; + } else if (holdDownCount < 5) { + scrollAmnt = 2; + } else { + scrollAmnt = 8; + if (holdDownCount < 7) { + scrollAmnt = 4; + } + } + exConsole->scroll(scrollAmnt); + waitRetrace = true; + holdUpCount = 0; + holdDownCount++; + } else { + holdUpCount = 0; + holdDownCount = 0; + } + + if (waitRetrace == true) { + u32 count = VIGetRetraceCount(); + do { + } while (count == VIGetRetraceCount()); + JUTConsoleManager::getManager()->drawDirect(true); + } + + JUTException::waitTime(30); + } + } + + exception_addition(exConsole); + JUTConsoleManager::getManager()->drawDirect(true); + + do { + exConsole->scrollToFirstLine(); + JUTConsoleManager::getManager()->drawDirect(true); + JUTException::waitTime(2000); + + do { + for (u32 i = exConsole->getHeight(); i != 0; i--) { + exConsole->scroll(1); + JUTConsoleManager::getManager()->drawDirect(true); + + if ((exConsole->getUsedLine() - exConsole->getHeight()) + 1 <= + exConsole->getLineOffset()) { + break; + } + JUTException::waitTime(20); + } + + JUTException::waitTime(3000); + } while ((exConsole->getUsedLine() - exConsole->getHeight()) + 1 <= + exConsole->getLineOffset()); + } while (true); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -396,9 +549,10 @@ static asm void fault_callback_scroll(u16 param_0, OSContext* param_1, u32 param #include "asm/m_Do/m_Do_machine/fault_callback_scroll__FUsP9OSContextUlUl.s" } #pragma pop +#endif /* 8000BCF4-8000BCF8 006634 0004+00 1/1 0/0 0/0 .text my_PrintHeap__FPCcUl */ -static void my_PrintHeap(char const* param_0, u32 param_1) { +static void my_PrintHeap(char const* heapName, u32 heapSize) { /* empty function */ } @@ -422,7 +576,7 @@ SECTION_DEAD static char const* const stringBase_80374017 = "" void my_SysPrintHeap(char const* message, void* start, u32 size) { // "32m%-24s = %08x-%08x size=%d KB\n" OSReport_System("\x1b[32m%-24s = %08x-%08x size=%d KB\n\x1b[m", message, start, - (u32)start + size, size >> 10); + (u32)start + size, size / 1024); } /* ############################################################################################## */ @@ -440,69 +594,171 @@ SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/ #pragma pop /* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */ -SECTION_DATA static _GXRenderModeObj g_ntscZeldaIntDf = {0, - 608, - 448, - 448, - 27, - 16, - 666, - 448, - 1, - 0, - 0, - {{6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}}, - {8, 8, 10, 12, 10, 8, 8}}; +SECTION_DATA static _GXRenderModeObj g_ntscZeldaIntDf = { + 0, + 608, + 448, + 448, + 27, + 16, + 666, + 448, + 1, + 0, + 0, + {{6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}}, + {8, 8, 10, 12, 10, 8, 8}, +}; /* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */ -SECTION_DATA extern _GXRenderModeObj g_ntscZeldaProg = {2, - 608, - 448, - 448, - 27, - 16, - 666, - 448, - 0, - 0, - 0, - {{6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}, - {6, 6}}, - {0, 0, 21, 22, 21, 0, 0}}; +SECTION_DATA extern _GXRenderModeObj g_ntscZeldaProg = { + 2, + 608, + 448, + 448, + 27, + 16, + 666, + 448, + 0, + 0, + 0, + {{6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}}, + {0, 0, 21, 22, 21, 0, 0}, +}; /* 804505A0-804505A8 -00001 0004+04 1/1 3/3 0/0 .sdata mRenderModeObj__15mDoMch_render_c */ -SECTION_SDATA _GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf; +SECTION_SDATA GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf; /* 8000BD44-8000C0CC 006684 0388+00 0/0 2/1 0/0 .text mDoMch_Create__Fv */ +// reg alloc r30 - r31 +#ifdef NONMATCHING +int mDoMch_Create() { + if (data_80450580 == 0 || !(OSGetConsoleType() & 0x10000000)) { + OSReportDisable(); + } + + JKRHeap::setDefaultDebugFill(data_80450BF0); + JFWSystem::setMaxStdHeap(1); + + u32 arenaHi = OSGetArenaHi(); + u32 arenaLo = OSGetArenaLo(); + if (arenaHi > 0x81800000 && arenaHi - 0x1800000 > arenaLo) { + OSSetArenaHi(arenaHi - 0x1800000); + } + + u32 arenaSize = (OSGetArenaHi() - OSGetArenaLo()) - 0xF0; + my_PrintHeap("アリーナ", arenaSize); + + if (mDoMain::memMargin != -1) { + arenaSize += mDoMain::memMargin; + } + + JFWSystem::setSysHeapSize(arenaSize - 0xDACD30); + my_PrintHeap("システムヒープ", arenaSize - 0xDACD30); + + JFWSystem::setFifoBufSize(0xA0000); + JFWSystem::setAramAudioBufSize(0xA00000); + JFWSystem::setAramGraphBufSize(-1); + + if (!(OSGetResetCode() >> 0x1F)) { + if (VIGetDTVStatus() == 0) { + OSSetProgressiveMode(0); + } + } else if (mDoRst::getProgSeqFlag() != 0) { + if (VIGetDTVStatus() != 0 && mDoMch_IsProgressiveMode()) { + mDoMch_render_c::setProgressiveMode(); + } + } + + JFWSystem::setRenderMode(mDoMch_render_c::getRenderModeObj()); + JFWSystem::firstInit(); + JUTDbPrint::start(NULL, mDoExt_createDbPrintHeap(0x1800, JKRHeap::getRootHeap())); + mDoExt_createAssertHeap(JKRHeap::getRootHeap()); + JFWSystem::init(); + + if (data_80450580 == 0) { + JUTAssertion::setVisible(false); + JUTDbPrint::getManager()->setVisible(false); + } + + JKRHeap::setErrorHandler(myMemoryErrorRoutine); + JKRHeap::getRootHeap()->setErrorFlag(true); + JFWSystem::getSystemHeap()->setErrorFlag(true); + + JKRHeap* rootHeap = JKRHeap::getRootHeap(); + // Command Heap size: 4 KB + my_SysPrintHeap("コマンドヒープ", mDoExt_createCommandHeap(0x1000, rootHeap), 0x1000); + + // Archive Heap size: 9085 KB + my_SysPrintHeap("アーカイブヒープ", mDoExt_createArchiveHeap(0x8DF400, rootHeap), 0x8DF400); + + // J2D Heap size: 500 KB + my_SysPrintHeap("J2D用ヒープ", mDoExt_createJ2dHeap(0x7D000, rootHeap), 0x7D000); + + // Game Heap size: 4408 KB + my_SysPrintHeap("ゲームヒープ", mDoExt_createGameHeap(0x44E000, rootHeap), 0x44E000); + + JKRHeap* sysHeap = JKRHeap::getSystemHeap(); + u32 zeldaHeapSize = sysHeap->getFreeSize() - 0x10000; + JKRHeap* zeldaHeap = mDoExt_createZeldaHeap(zeldaHeapSize, sysHeap); + my_SysPrintHeap("ゼルダヒープ", zeldaHeap, zeldaHeapSize); + zeldaHeap->becomeCurrentHeap(); + + JKRAramStream::setTransBuffer(NULL, 0x2000, JKRHeap::getSystemHeap()); + JKRThreadSwitch::createManager(NULL); + JKRThread* thread = new JKRThread(OSGetCurrentThread(), 0); + + JUTConsole* sysConsole = JFWSystem::getSystemConsole(); + sysConsole->setOutput(JUTConsole::OUTPUT_CONSOLE | JUTConsole::OUTPUT_OSREPORT); + sysConsole->setPosition(16, 42); + + JUTException::appendMapFile("/map/Final/Release/frameworkF.map"); + JUTException::setPreUserCallback(myExceptionCallback); + JUTException::setPostUserCallback(fault_callback_scroll); + + cMl::init(mDoExt_getZeldaHeap()); + cM_initRnd(100, 100, 100); + JKRDvdRipper::setSZSBufferSize(0x4000); + JKRDvdAramRipper::setSZSBufferSize(0x4000); + JKRAram::setSZSBufferSize(0x2000); + mDoDvdThd::create(OSGetThreadPriority(OSGetCurrentThread()) - 2); + mDoDvdErr_ThdInit(); + mDoMemCd_ThdInit(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoMch_Create() { +asm int mDoMch_Create() { nofralloc #include "asm/m_Do/m_Do_machine/mDoMch_Create__Fv.s" } #pragma pop +#endif /* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_machine_exception.cpp b/src/m_Do/m_Do_machine_exception.cpp index 5e91299570..183e64e5e5 100644 --- a/src/m_Do/m_Do_machine_exception.cpp +++ b/src/m_Do/m_Do_machine_exception.cpp @@ -65,9 +65,9 @@ void dispHeapInfo() { u32 archiveTotal = archive->getTotalFreeSize(); print("-- Heap Free / TotalFree (KB) --\n"); - print_f(" Zelda %5d / %5d\n", zeldaFree >> 10, zeldaTotal >> 10); - print_f(" Game %5d / %5d\n", gameFree >> 10, gameTotal >> 10); - print_f("Archive %5d / %5d\n", archiveFree >> 10, archiveTotal >> 10); + print_f(" Zelda %5d / %5d\n", zeldaFree / 1024, zeldaTotal / 1024); + print_f(" Game %5d / %5d\n", gameFree / 1024, gameTotal / 1024); + print_f("Archive %5d / %5d\n", archiveFree / 1024, archiveTotal / 1024); print("--------------------------------\n"); if (JKRAram::getAramHeap()) { diff --git a/src/msg/scrn/d_msg_scrn_base.cpp b/src/msg/scrn/d_msg_scrn_base.cpp index bec807ab96..25d3cce7db 100644 --- a/src/msg/scrn/d_msg_scrn_base.cpp +++ b/src/msg/scrn/d_msg_scrn_base.cpp @@ -6,325 +6,154 @@ #include "msg/scrn/d_msg_scrn_base.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct dMsgScrnBase_c { - /* 80238C3C */ void exec(); - /* 80238C40 */ void setSelectRubyString(char*, char*, char*); - /* 80238C44 */ void setSelectString(char*, char*, char*); - /* 80238C48 */ bool selectAnimeMove(u8, u8, bool); - /* 80238C50 */ void selectAnimeInit(u8, u8, f32, u8); - /* 80238C54 */ void arwAnimeMove(); - /* 80238C58 */ void arwAnimeInit(); - /* 80238C5C */ void fukiPosCalc(u8); - /* 80238C60 */ bool isSelect(); - /* 80238C68 */ bool selectAnimeEnd(); - /* 80238C70 */ void dotAnimeMove(); - /* 80238C74 */ void dotAnimeInit(); - /* 8023C0DC */ dMsgScrnBase_c(); - /* 8023C124 */ ~dMsgScrnBase_c(); - /* 8023C16C */ void init(); - /* 8023C234 */ void multiDraw(); - /* 8023C274 */ void draw(); - /* 8023C300 */ void drawSelf(); - /* 8023C32C */ void drawOutFont(f32, f32, f32); - /* 8023C360 */ void setString(char*, char*); - /* 8023C3EC */ void setRubyString(char*); - /* 8023C458 */ void fukiScale(f32); - /* 8023C480 */ void fukiTrans(f32, f32); - /* 8023C4A4 */ void fukiAlpha(f32); - /* 8023C4F4 */ void fontAlpha(f32); - /* 8023C574 */ void isTalkNow(); -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - -struct J2DTextBox { - /* 80300658 */ void getStringPtr() const; -}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); -}; - -struct CPaneMgrAlpha { - /* 802557D0 */ void setAlphaRate(f32); -}; - -struct CPaneMgr { - /* 802545B0 */ void paneTrans(f32, f32); - /* 80254638 */ void paneScale(f32, f32); -}; - -// -// Forward References: -// - -extern "C" void __ct__14dMsgScrnBase_cFv(); -extern "C" void __dt__14dMsgScrnBase_cFv(); -extern "C" void init__14dMsgScrnBase_cFv(); -extern "C" void multiDraw__14dMsgScrnBase_cFv(); -extern "C" void draw__14dMsgScrnBase_cFv(); -extern "C" void drawSelf__14dMsgScrnBase_cFv(); -extern "C" void drawOutFont__14dMsgScrnBase_cFfff(); -extern "C" void setString__14dMsgScrnBase_cFPcPc(); -extern "C" void setRubyString__14dMsgScrnBase_cFPc(); -extern "C" void fukiScale__14dMsgScrnBase_cFf(); -extern "C" void fukiTrans__14dMsgScrnBase_cFff(); -extern "C" void fukiAlpha__14dMsgScrnBase_cFf(); -extern "C" void fontAlpha__14dMsgScrnBase_cFf(); -extern "C" void isTalkNow__14dMsgScrnBase_cFv(); - -// -// External References: -// - -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void exec__14dMsgScrnBase_cFv(); -extern "C" void setSelectRubyString__14dMsgScrnBase_cFPcPcPc(); -extern "C" void setSelectString__14dMsgScrnBase_cFPcPcPc(); -extern "C" bool selectAnimeMove__14dMsgScrnBase_cFUcUcb(); -extern "C" void selectAnimeInit__14dMsgScrnBase_cFUcUcfUc(); -extern "C" void arwAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void arwAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void fukiPosCalc__14dMsgScrnBase_cFUc(); -extern "C" bool isSelect__14dMsgScrnBase_cFv(); -extern "C" bool selectAnimeEnd__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void paneScale__8CPaneMgrFff(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void __dl__FPv(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void strcpy(); -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C0D08-803C0D58 -00001 0050+00 1/1 0/0 0/0 .data @3949 */ -SECTION_DATA static void* lit_3949[20] = { - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40), - (void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38), -}; - -/* 803C0D58-803C0DB0 01DE78 0058+00 2/2 0/0 0/0 .data __vt__14dMsgScrnBase_c */ -SECTION_DATA extern void* __vt__14dMsgScrnBase_c[22] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dMsgScrnBase_cFv, - (void*)__dt__14dMsgScrnBase_cFv, - (void*)exec__14dMsgScrnBase_cFv, - (void*)multiDraw__14dMsgScrnBase_cFv, - (void*)drawSelf__14dMsgScrnBase_cFv, - (void*)setSelectString__14dMsgScrnBase_cFPcPcPc, - (void*)setSelectRubyString__14dMsgScrnBase_cFPcPcPc, - (void*)arwAnimeInit__14dMsgScrnBase_cFv, - (void*)arwAnimeMove__14dMsgScrnBase_cFv, - (void*)dotAnimeInit__14dMsgScrnBase_cFv, - (void*)dotAnimeMove__14dMsgScrnBase_cFv, - (void*)isSelect__14dMsgScrnBase_cFv, - (void*)selectAnimeInit__14dMsgScrnBase_cFUcUcfUc, - (void*)selectAnimeMove__14dMsgScrnBase_cFUcUcb, - (void*)selectAnimeEnd__14dMsgScrnBase_cFv, - (void*)fukiScale__14dMsgScrnBase_cFf, - (void*)fukiTrans__14dMsgScrnBase_cFff, - (void*)fukiAlpha__14dMsgScrnBase_cFf, - (void*)fontAlpha__14dMsgScrnBase_cFf, - (void*)fukiPosCalc__14dMsgScrnBase_cFUc, -}; +#include "d/msg/d_msg_object.h" /* 8023C0DC-8023C124 236A1C 0048+00 0/0 9/9 0/0 .text __ct__14dMsgScrnBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnBase_c::dMsgScrnBase_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/__ct__14dMsgScrnBase_cFv.s" +dMsgScrnBase_c::dMsgScrnBase_c() { + init(); } -#pragma pop /* 8023C124-8023C16C 236A64 0048+00 1/0 9/9 0/0 .text __dt__14dMsgScrnBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnBase_c::~dMsgScrnBase_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/__dt__14dMsgScrnBase_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80454BA8-80454BAC 0031A8 0004+00 3/3 0/0 0/0 .sdata2 @3820 */ -SECTION_SDATA2 static u8 lit_3820[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80454BAC-80454BB0 0031AC 0004+00 2/2 0/0 0/0 .sdata2 @3821 */ -SECTION_SDATA2 static f32 lit_3821 = 1.0f; +dMsgScrnBase_c::~dMsgScrnBase_c() {} /* 8023C16C-8023C234 236AAC 00C8+00 1/1 9/9 0/0 .text init__14dMsgScrnBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::init() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/init__14dMsgScrnBase_cFv.s" +void dMsgScrnBase_c::init() { + mpScreen = NULL; + mpPmp_c = NULL; + field_0x54 = 0; + + for (int i = 0; i < 7; i++) { + mpTm_c[i] = NULL; + mpTmr_c[i] = NULL; + } + + mpOutFont = NULL; + field_0x48 = NULL; + field_0x4c = 0; + mCharInfoPtr = NULL; + + mFontSize.mSizeY = 0.0f; + mFontSize.mSizeX = 0.0f; + mRubySize = 0.0f; + mTextBoxPosX = 0.0f; + mTextBoxPosY = 0.0f; + mTextBoxScaleX = 1.0f; + mTextBoxScaleY = 1.0f; + mTBoxWidth = 0.0f; + mTBoxHeight = 0.0f; + mLineSpace = 0.0f; + mCharSpace = 0.0f; + mRubyCharSpace = 0.0f; + mSelFontSize = 0.0f; + mSelRubySize = 0.0f; + + for (int i = 0; i < 3; i++) { + mSelTextBoxPosX[i] = 0.0f; + mSelTextBoxPosY[i] = 0.0f; + } + + mSelTBoxWidth = 0.0f; + mSelCharSpace = 0.0f; + mSelRubyCharSpace = 0.0f; + mTextBoxPosOffsetY = 0.0f; + field_0xb8 = 0.0f; + mCharAlphaRate = 1.0f; } -#pragma pop /* 8023C234-8023C274 236B74 0040+00 1/0 9/0 0/0 .text multiDraw__14dMsgScrnBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::multiDraw() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/multiDraw__14dMsgScrnBase_cFv.s" +void dMsgScrnBase_c::multiDraw() { + if (field_0x48 != NULL) { + dComIfGd_set2DOpa(field_0x48); + } } -#pragma pop /* 8023C274-8023C300 236BB4 008C+00 1/0 7/0 0/0 .text draw__14dMsgScrnBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::draw() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/draw__14dMsgScrnBase_cFv.s" +void dMsgScrnBase_c::draw() { + J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort(); + + ctx->setup2D(); + mpScreen->draw(0.0f, 0.0f, ctx); + drawSelf(); + ctx->setup2D(); } -#pragma pop /* 8023C300-8023C32C 236C40 002C+00 1/0 2/0 0/0 .text drawSelf__14dMsgScrnBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::drawSelf() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/drawSelf__14dMsgScrnBase_cFv.s" +void dMsgScrnBase_c::drawSelf() { + drawOutFont(0.0f, 0.0f, 1.0f); } -#pragma pop /* 8023C32C-8023C360 236C6C 0034+00 1/1 6/6 0/0 .text drawOutFont__14dMsgScrnBase_cFfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::drawOutFont(f32 param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/drawOutFont__14dMsgScrnBase_cFfff.s" +void dMsgScrnBase_c::drawOutFont(f32 param_0, f32 param_1, f32 param_2) { + mpOutFont->draw(NULL, param_0, param_1, param_2); } -#pragma pop /* 8023C360-8023C3EC 236CA0 008C+00 0/0 2/2 0/0 .text setString__14dMsgScrnBase_cFPcPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::setString(char* param_0, char* param_1) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/setString__14dMsgScrnBase_cFPcPc.s" +void dMsgScrnBase_c::setString(char* str1, char* str2) { + for (int i = 0; i < 7; i++) { + if (mpTm_c[i] != NULL) { + if (i == 0) { + strcpy(((J2DTextBox*)mpTm_c[i]->getPanePtr())->getStringPtr(), str1); + } else { + strcpy(((J2DTextBox*)mpTm_c[i]->getPanePtr())->getStringPtr(), str2); + } + } + } } -#pragma pop /* 8023C3EC-8023C458 236D2C 006C+00 0/0 2/2 0/0 .text setRubyString__14dMsgScrnBase_cFPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::setRubyString(char* param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/setRubyString__14dMsgScrnBase_cFPc.s" +void dMsgScrnBase_c::setRubyString(char* str) { + for (int i = 0; i < 3; i++) { + if (mpTmr_c[i] != NULL) { + strcpy(((J2DTextBox*)mpTmr_c[i]->getPanePtr())->getStringPtr(), str); + } + } } -#pragma pop /* 8023C458-8023C480 236D98 0028+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnBase_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::fukiScale(f32 param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/fukiScale__14dMsgScrnBase_cFf.s" +void dMsgScrnBase_c::fukiScale(f32 scale) { + mpPmp_c->paneScale(scale, scale); } -#pragma pop /* 8023C480-8023C4A4 236DC0 0024+00 1/0 0/0 0/0 .text fukiTrans__14dMsgScrnBase_cFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::fukiTrans(f32 param_0, f32 param_1) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/fukiTrans__14dMsgScrnBase_cFff.s" +void dMsgScrnBase_c::fukiTrans(f32 posX, f32 posY) { + mpPmp_c->paneTrans(posX, posY); } -#pragma pop /* 8023C4A4-8023C4F4 236DE4 0050+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnBase_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::fukiAlpha(f32 param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/fukiAlpha__14dMsgScrnBase_cFf.s" +void dMsgScrnBase_c::fukiAlpha(f32 alpha) { + fontAlpha(alpha); + mpPmp_c->setAlphaRate(alpha); } -#pragma pop /* 8023C4F4-8023C574 236E34 0080+00 1/0 5/0 0/0 .text fontAlpha__14dMsgScrnBase_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::fontAlpha(f32 param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/fontAlpha__14dMsgScrnBase_cFf.s" +void dMsgScrnBase_c::fontAlpha(f32 alpha) { + for (int i = 0; i < 7; i++) { + if (mpTm_c[i] != NULL) { + mpTm_c[i]->setAlphaRate(alpha); + } + + if (mpTmr_c[i] != NULL) { + mpTmr_c[i]->setAlphaRate(alpha); + } + } } -#pragma pop /* 8023C574-8023C5C8 236EB4 0054+00 1/0 8/8 0/0 .text isTalkNow__14dMsgScrnBase_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBase_c::isTalkNow() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_base/isTalkNow__14dMsgScrnBase_cFv.s" +bool dMsgScrnBase_c::isTalkNow() { + switch (dMsgObject_c::getStatus()) { + case 5: + case 6: + case 7: + case 8: + case 9: + case 15: + case 16: + case 20: + case 24: + return true; + default: + return false; + } } -#pragma pop diff --git a/src/msg/scrn/d_msg_scrn_boss.cpp b/src/msg/scrn/d_msg_scrn_boss.cpp index e59ecf9cc2..88a1ac0556 100644 --- a/src/msg/scrn/d_msg_scrn_boss.cpp +++ b/src/msg/scrn/d_msg_scrn_boss.cpp @@ -4,246 +4,131 @@ // #include "msg/scrn/d_msg_scrn_boss.h" +#include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dMsgScrnBoss_c { - /* 8023C5C8 */ dMsgScrnBoss_c(); - /* 8023C928 */ ~dMsgScrnBoss_c(); - /* 8023CA88 */ void exec(); - /* 8023CB98 */ void drawSelf(); - /* 8023CBF0 */ void fukiAlpha(f32); - /* 8023CC7C */ void fukiScale(f32); - /* 8023CC80 */ void fukiTrans(f32, f32); - /* 8023CC84 */ void fontAlpha(f32); -}; - -struct dMsgScrnBase_c { - /* 80238C40 */ void setSelectRubyString(char*, char*, char*); - /* 80238C44 */ void setSelectString(char*, char*, char*); - /* 80238C48 */ bool selectAnimeMove(u8, u8, bool); - /* 80238C50 */ void selectAnimeInit(u8, u8, f32, u8); - /* 80238C54 */ void arwAnimeMove(); - /* 80238C58 */ void arwAnimeInit(); - /* 80238C5C */ void fukiPosCalc(u8); - /* 80238C60 */ bool isSelect(); - /* 80238C68 */ bool selectAnimeEnd(); - /* 80238C70 */ void dotAnimeMove(); - /* 80238C74 */ void dotAnimeInit(); - /* 8023C0DC */ dMsgScrnBase_c(); - /* 8023C124 */ ~dMsgScrnBase_c(); - /* 8023C16C */ void init(); - /* 8023C234 */ void multiDraw(); - /* 8023C274 */ void draw(); - /* 8023C32C */ void drawOutFont(f32, f32, f32); - /* 8023C574 */ void isTalkNow(); -}; - -struct JKRExpHeap {}; - -struct JKRArchive {}; - -struct J2DTextBox { - /* 8030074C */ void setString(s16, char const*, ...); -}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); -}; - -struct CPaneMgrAlpha { - /* 802557D0 */ void setAlphaRate(f32); -}; - -struct CPaneMgr { - /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); - /* 802542E8 */ void getGlobalPosX(); - /* 80254364 */ void getGlobalPosY(); - /* 802545B0 */ void paneTrans(f32, f32); -}; - -// -// Forward References: -// - -extern "C" void __ct__14dMsgScrnBoss_cFv(); -extern "C" void __dt__14dMsgScrnBoss_cFv(); -extern "C" void exec__14dMsgScrnBoss_cFv(); -extern "C" void drawSelf__14dMsgScrnBoss_cFv(); -extern "C" void fukiAlpha__14dMsgScrnBoss_cFf(); -extern "C" void fukiScale__14dMsgScrnBoss_cFf(); -extern "C" void fukiTrans__14dMsgScrnBoss_cFff(); -extern "C" void fontAlpha__14dMsgScrnBoss_cFf(); -extern "C" extern char const* const msg_scrn_d_msg_scrn_boss__stringBase0; - // // External References: // -extern "C" void mDoExt_getRubyFont__Fv(); -extern "C" void setSelectRubyString__14dMsgScrnBase_cFPcPcPc(); -extern "C" void setSelectString__14dMsgScrnBase_cFPcPcPc(); -extern "C" bool selectAnimeMove__14dMsgScrnBase_cFUcUcb(); -extern "C" void selectAnimeInit__14dMsgScrnBase_cFUcUcfUc(); -extern "C" void arwAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void arwAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void fukiPosCalc__14dMsgScrnBase_cFUc(); -extern "C" bool isSelect__14dMsgScrnBase_cFv(); -extern "C" bool selectAnimeEnd__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void __ct__14dMsgScrnBase_cFv(); -extern "C" void __dt__14dMsgScrnBase_cFv(); -extern "C" void init__14dMsgScrnBase_cFv(); -extern "C" void multiDraw__14dMsgScrnBase_cFv(); -extern "C" void draw__14dMsgScrnBase_cFv(); -extern "C" void drawOutFont__14dMsgScrnBase_cFfff(); -extern "C" void isTalkNow__14dMsgScrnBase_cFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void getGlobalPosX__8CPaneMgrFv(); -extern "C" void getGlobalPosY__8CPaneMgrFv(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_29(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_MsgObject_HIO_c[1040]; +extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; // // Declarations: // -/* ############################################################################################## */ -/* 803998F8-803998F8 025F58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803998F8 = "zelda_boss_name.blo"; -SECTION_DEAD static char const* const stringBase_8039990C = ""; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039990D = "\0\0"; -#pragma pop - -/* 803C0DB0-803C0DE8 01DED0 0038+00 1/1 0/0 0/0 .data t_tag$3759 */ -SECTION_DATA static u8 t_tag[56] = { - 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x62, 0x30, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, - 0x62, 0x31, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x62, 0x32, 0x00, 0x73, 0x66, 0x6F, - 0x6E, 0x74, 0x6C, 0x30, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x6C, 0x31, 0x00, 0x73, - 0x66, 0x6F, 0x6E, 0x74, 0x6C, 0x32, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x30, 0x30, -}; - -/* 803C0DE8-803C0E40 01DF08 0058+00 2/2 0/0 0/0 .data __vt__14dMsgScrnBoss_c */ -SECTION_DATA extern void* __vt__14dMsgScrnBoss_c[22] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dMsgScrnBase_cFv, - (void*)__dt__14dMsgScrnBoss_cFv, - (void*)exec__14dMsgScrnBoss_cFv, - (void*)multiDraw__14dMsgScrnBase_cFv, - (void*)drawSelf__14dMsgScrnBoss_cFv, - (void*)setSelectString__14dMsgScrnBase_cFPcPcPc, - (void*)setSelectRubyString__14dMsgScrnBase_cFPcPcPc, - (void*)arwAnimeInit__14dMsgScrnBase_cFv, - (void*)arwAnimeMove__14dMsgScrnBase_cFv, - (void*)dotAnimeInit__14dMsgScrnBase_cFv, - (void*)dotAnimeMove__14dMsgScrnBase_cFv, - (void*)isSelect__14dMsgScrnBase_cFv, - (void*)selectAnimeInit__14dMsgScrnBase_cFUcUcfUc, - (void*)selectAnimeMove__14dMsgScrnBase_cFUcUcb, - (void*)selectAnimeEnd__14dMsgScrnBase_cFv, - (void*)fukiScale__14dMsgScrnBoss_cFf, - (void*)fukiTrans__14dMsgScrnBoss_cFff, - (void*)fukiAlpha__14dMsgScrnBoss_cFf, - (void*)fontAlpha__14dMsgScrnBoss_cFf, - (void*)fukiPosCalc__14dMsgScrnBase_cFUc, -}; - -/* 80454BB0-80454BB4 0031B0 0004+00 3/3 0/0 0/0 .sdata2 @3854 */ -SECTION_SDATA2 static f32 lit_3854 = 1.0f; - /* 8023C5C8-8023C928 236F08 0360+00 0/0 1/1 0/0 .text __ct__14dMsgScrnBoss_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnBoss_c::dMsgScrnBoss_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_boss/__ct__14dMsgScrnBoss_cFv.s" +dMsgScrnBoss_c::dMsgScrnBoss_c() { + static u64 t_tag[7] = { + 'sfontb0', 'sfontb1', 'sfontb2', 'sfontl0', + 'sfontl1', 'sfontl2', 'sfont00', + }; + + init(); + + mpScreen = new J2DScreen(); + mpScreen->setPriority("zelda_boss_name.blo", 0x20000, dComIfGp_getMsgArchive(4)); + dPaneClass_showNullPane(mpScreen); + + mpPmp_c = new CPaneMgr(mpScreen, 'n_all', 2, NULL); + mpPmp_c->scale(g_MsgObject_HIO_c.mBossNameScaleX, g_MsgObject_HIO_c.mBossNameScaleY); + + mpFontParent = new CPaneMgr(mpScreen, 's_font_n', 0, NULL); + mpFontParent->scale(g_MsgObject_HIO_c.mBossNameCharSizeX, g_MsgObject_HIO_c.mBossNameCharSizeY); + mpFontParent->paneTrans(g_MsgObject_HIO_c.mBossNameCharPosX, g_MsgObject_HIO_c.mBossNameCharPosY); + + mpBaseParent = new CPaneMgr(mpScreen, 'base_n', 2, NULL); + mpBaseParent->scale(g_MsgObject_HIO_c.mBossNameBaseSizeX, g_MsgObject_HIO_c.mBossNameBaseSizeY); + mpBaseParent->paneTrans(g_MsgObject_HIO_c.mBossNameBasePosX, g_MsgObject_HIO_c.mBossNameBasePosY); + + for (int i = 0; i < 7; i++) { + mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getRubyFont()); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setCharSpace(1.0f); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x100, ""); + } + + ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getFontSize(mFontSize); + mTBoxWidth = mpTm_c[0]->getSizeX(); + mTBoxHeight = mpTm_c[0]->getSizeY(); + mLineSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getLineSpace(); + mCharSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getCharSpace(); + + for (int i = 0; i < 7; i++) { + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(mLineSpace); + } + + mTextBoxPosX = mpTm_c[0]->getGlobalPosX(); + mTextBoxPosY = mpTm_c[0]->getGlobalPosY(); } -#pragma pop /* 8023C928-8023CA88 237268 0160+00 1/0 0/0 0/0 .text __dt__14dMsgScrnBoss_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnBoss_c::~dMsgScrnBoss_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_boss/__dt__14dMsgScrnBoss_cFv.s" +dMsgScrnBoss_c::~dMsgScrnBoss_c() { + delete mpScreen; + mpScreen = NULL; + + delete mpPmp_c; + mpPmp_c = NULL; + + delete mpFontParent; + mpFontParent = NULL; + + delete mpBaseParent; + mpBaseParent = NULL; + + for (int i = 0; i < 7; i++) { + delete mpTm_c[i]; + mpTm_c[i] = NULL; + } + + dComIfGp_getMsgArchive(4)->removeResourceAll(); } -#pragma pop /* 8023CA88-8023CB98 2373C8 0110+00 1/0 0/0 0/0 .text exec__14dMsgScrnBoss_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBoss_c::exec() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_boss/exec__14dMsgScrnBoss_cFv.s" -} -#pragma pop +void dMsgScrnBoss_c::exec() { + mpPmp_c->scale(g_MsgObject_HIO_c.mBossNameScaleX, g_MsgObject_HIO_c.mBossNameScaleY); -/* ############################################################################################## */ -/* 80454BB4-80454BB8 0031B4 0004+00 1/1 0/0 0/0 .sdata2 @3916 */ -SECTION_SDATA2 static u8 lit_3916[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; + mpFontParent->scale(g_MsgObject_HIO_c.mBossNameCharSizeX, g_MsgObject_HIO_c.mBossNameCharSizeY); + mpFontParent->paneTrans(g_MsgObject_HIO_c.mBossNameCharPosX, g_MsgObject_HIO_c.mBossNameCharPosY); + + mpBaseParent->scale(g_MsgObject_HIO_c.mBossNameBaseSizeX, g_MsgObject_HIO_c.mBossNameBaseSizeY); + mpBaseParent->paneTrans(g_MsgObject_HIO_c.mBossNameBasePosX, g_MsgObject_HIO_c.mBossNameBasePosY); + + if (isTalkNow()) { + fukiAlpha(1.0f); + } +} /* 8023CB98-8023CBF0 2374D8 0058+00 1/0 0/0 0/0 .text drawSelf__14dMsgScrnBoss_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBoss_c::drawSelf() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_boss/drawSelf__14dMsgScrnBoss_cFv.s" +void dMsgScrnBoss_c::drawSelf() { + J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort(); + ctx->setup2D(); + drawOutFont(0.0f, 0.0f, 1.0f); } -#pragma pop /* 8023CBF0-8023CC7C 237530 008C+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnBoss_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnBoss_c::fukiAlpha(f32 param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_boss/fukiAlpha__14dMsgScrnBoss_cFf.s" +void dMsgScrnBoss_c::fukiAlpha(f32 alpha) { + mpPmp_c->setAlphaRate(alpha); + mpBaseParent->setAlphaRate(alpha * g_MsgObject_HIO_c.mBossNameBaseAlpha); + + for (int i = 0; i < 7; i++) { + mpTm_c[i]->setAlphaRate(alpha); + } } -#pragma pop /* 8023CC7C-8023CC80 2375BC 0004+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnBoss_cFf */ -void dMsgScrnBoss_c::fukiScale(f32 param_0) { +void dMsgScrnBoss_c::fukiScale(f32) { /* empty function */ } /* 8023CC80-8023CC84 2375C0 0004+00 1/0 0/0 0/0 .text fukiTrans__14dMsgScrnBoss_cFff */ -void dMsgScrnBoss_c::fukiTrans(f32 param_0, f32 param_1) { +void dMsgScrnBoss_c::fukiTrans(f32, f32) { /* empty function */ } /* 8023CC84-8023CC88 2375C4 0004+00 1/0 0/0 0/0 .text fontAlpha__14dMsgScrnBoss_cFf */ -void dMsgScrnBoss_c::fontAlpha(f32 param_0) { +void dMsgScrnBoss_c::fontAlpha(f32) { /* empty function */ } diff --git a/src/msg/scrn/d_msg_scrn_explain.cpp b/src/msg/scrn/d_msg_scrn_explain.cpp index 38d8f659c8..baad240efb 100644 --- a/src/msg/scrn/d_msg_scrn_explain.cpp +++ b/src/msg/scrn/d_msg_scrn_explain.cpp @@ -11,46 +11,11 @@ // Types: // -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - struct dMsgString_c { /* 80249C20 */ dMsgString_c(); /* 80249D28 */ ~dMsgString_c(); }; -struct STControl { - /* 8003219C */ void checkTrigger(); - /* 80032524 */ void checkUpTrigger(); - /* 800325A0 */ void checkDownTrigger(); -}; - -struct J2DOrthoGraph {}; - -struct dMsgScrnExplain_c { - /* 8023CC88 */ dMsgScrnExplain_c(STControl*, u8, bool, u8); - /* 8023D538 */ ~dMsgScrnExplain_c(); - /* 8023D7D8 */ void move(); - /* 8023D918 */ void draw(J2DOrthoGraph*); - /* 8023DAD0 */ void wait_init(); - /* 8023DAD4 */ void wait_proc(); - /* 8023DAD8 */ void open_request_init(); - /* 8023DADC */ void open_request_proc(); - /* 8023DBE4 */ void open_init(); - /* 8023DC7C */ void open_proc(); - /* 8023DD90 */ void move_init(); - /* 8023DDB4 */ void move_proc(); - /* 8023DE8C */ void move_select_init(); - /* 8023E0F4 */ void move_select_proc(); - /* 8023E43C */ void close_init(); - /* 8023E448 */ void close_proc(); - /* 8023E558 */ void openExplain(u32, u8, u8, u8, bool); - /* 8023E5CC */ void getAlphaRatio(); - /* 8023E640 */ void checkTriggerA(); - /* 8023E654 */ void checkTriggerB(); -}; - struct dMsgScrnArrow_c { /* 8023B9B4 */ dMsgScrnArrow_c(); /* 8023BDC0 */ void draw(); @@ -73,77 +38,11 @@ struct dMsgScrn3Select_c { /* 8023A97C */ void getCharSpace(); }; -struct J2DTextBox { - /* 80300658 */ void getStringPtr() const; - /* 8030074C */ void setString(s16, char const*, ...); -}; - -struct JUTFont {}; - -struct COutFont_c { - /* 80225C94 */ COutFont_c(u8); -}; - struct dMsgObject_c { /* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, char*, char*, s16*); }; -struct JMSMesgEntry_c {}; - -struct dMeter2Info_c { - /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*); - /* 8021C7FC */ void getStringLength(JUTFont*, f32, f32, char*); -}; - -struct Z2SpeechMgr2 { - /* 802CBF60 */ void setTextCount(s16); -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct ResTIMG {}; - -struct JKRExpHeap {}; - -struct JKRArchive {}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); -}; - -struct J2DPicture { - /* 802FC708 */ J2DPicture(ResTIMG const*); -}; - -struct J2DPane { - /* 802F7100 */ void getBounds(); -}; - -struct CPaneMgrAlpha { - /* 802557D0 */ void setAlphaRate(f32); -}; - -struct CPaneMgr { - /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); - /* 802545B0 */ void paneTrans(f32, f32); - /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16); -}; - // // Forward References: // @@ -228,12 +127,7 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void snprintf(); -extern "C" void strcat(); -extern "C" void strcpy(); extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; extern "C" extern u8 g_MsgObject_HIO_c[1040]; extern "C" extern u8 data_80450B70[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -436,7 +330,8 @@ asm dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* param_0, u8 param_1, bool pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMsgScrnExplain_c::~dMsgScrnExplain_c() { +// asm dMsgScrnExplain_c::~dMsgScrnExplain_c() { +extern "C" asm void __dt__17dMsgScrnExplain_cFv() { nofralloc #include "asm/msg/scrn/d_msg_scrn_explain/__dt__17dMsgScrnExplain_cFv.s" } @@ -617,7 +512,7 @@ asm void dMsgScrnExplain_c::close_proc() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 param_3, +asm bool dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 param_3, bool param_4) { nofralloc #include "asm/msg/scrn/d_msg_scrn_explain/openExplain__17dMsgScrnExplain_cFUlUcUcUcb.s"